[Zope-dev] >2GB Data.fs files on FreeBSD

R. David Murray bitz@bitdance.com
Thu, 13 Apr 2000 17:46:43 -0400 (EDT)


On Thu, 13 Apr 2000, Andrew M. Kuchling wrote:
> So, presumably neither HAVE_FTELLO nor HAVE_FTELL64 are defined, so it
> uses the old ftell().  What's the right system call for FreeBSD?
> Looking at the man pages for 4.0 at freebsd.org, it's ftello().  So, 
> is HAVE_FTELLO defined?  If it isn't, then find out why; if it is,
> then there's some other bug in Python's tell() code.

I may persue your suggestions at some point, but I just tried running
Zope on a version of the Data.fs truncated to about 700K under 2G.
It still hasn't finished trying to load (I'm about to kill it) after
half an hour, and it periodically is dumping the following traceback
to the screen (-D mode):

-------------
Traceback (innermost last):
  File "/usr/local/zope/Zope-2.1.2-src/z2.py", line 436, in ?
    exec "import "+MODULE in {}
  File "<string>", line 1, in ?
  File "/usr/local/zope/Zope-2.1.2-src/lib/python/Zope/__init__.py", line 109, in ?
    DB=ZODB.FileStorage.FileStorage(Globals.BobobaseName)
  File "/usr/local/zope/Zope-2.1.2-src/lib/python/ZODB/FileStorage.py", line 301, in __init__
    self._pos, self._oid, tid = read_index(
  File "/usr/local/zope/Zope-2.1.2-src/lib/python/ZODB/FileStorage.py", line 1267, in read_index
    if tl+pos+8 > file_size or status=='c':
OverflowError: integer addition
-------------

So either Python or Zope has some more serious problems with the 2G
limit than just what tell is returning.

So unless you tell me I'm doing something stupid that is causing
this <grin>, for the moment I'm going to punt and just recover all
the data I can out of an even more truncated Data.fs.

--RDM