[ZODB-Dev] bsddbStorage dumps core

Toby Dickenson tdickenson@geminidataloggers.com
Fri, 7 Dec 2001 16:11:27 +0000


My first try at bsddbStorage is not going well.

Working on a machine that is roughly RedHat 7.1, I have installed:

* db-3.3.11 (including the patch from bsddb3-3.3.0)
* bsddb3-3.3.0; all the tests pass
* bsddb3Storage-1.0beta5 (a manual install, not distutils)

I am using it with Zope 2.4.2, and python 2.1. For now it is not using ZEO. I 
am seeing a core dump inside the bsddb3Storage.Full constructor. The pdb 
traceback right before the core dump is included below.

my custom_zodb.py is:

from bsddb3Storage.Full import Full
import pdb; pdb.set_trace()
Storage = Full(name='BerkeleyStorage', 
env='/home/tdickenson/big/bsddbstorages/toby')

That directory started out empty..... is that right? it is still empty after 
the core dump.

For what its worth, I see the same core dump using Minimal as well as Full.

I also have to admit to being a gdb newbie. Ive attached the gdb backtrace 
below, but its less helpful that it could be because I dont know how to load 
symbols from the bsddb3 extension module.

I would be gratefully for any suggestions 



  /home/tdickenson/projects/Zope2/z2.py(615)?()
-> exec "import "+MODULE in {}
  /home/tdickenson/zirus/<string>(1)?()
  /home/tdickenson/projects/Zope2/lib/python/Zope/__init__.py(113)?()
-> m=imp.load_module('Zope.custom_zodb', m[0], m[1], m[2])
  /home/tdickenson/zirus/instance/custom_zodb.py(10)?()
-> Storage = Full(name='BerkeleyStorage', 
env='/home/tdickenson/big/bsddbstorages/toby')
  
/home/tdickenson/projects/Zope2/lib/python/bsddb3Storage/Full.py(57)__init__()
-> BerkeleyBase.__init__(self, name, env, prefix)
  
/home/tdickenson/projects/Zope2/lib/python/bsddb3Storage/BerkeleyBase.py(84)__init__()
-> self._setupDBs()
  
/home/tdickenson/projects/Zope2/lib/python/bsddb3Storage/Full.py(154)_setupDBs()
-> self._serials = self._setupDB('serials')
> 
/home/tdickenson/projects/Zope2/lib/python/bsddb3Storage/BerkeleyBase.py(102)_setupDB()
-> d = db.DB(self._env)




[tdickenson@limburger zirus]$ gdb -c core
GNU gdb 5.0rh-5 Red Hat Linux 7.1
Copyright 2001 Free Software Foundation, Inc.
GDB is free software, covered by the GNU General Public License, and you are
welcome to change it and/or distribute copies of it under certain conditions.
Type "show copying" to see the conditions.
There is absolutely no warranty for GDB.  Type "show warranty" for details.
This GDB was configured as "i386-redhat-linux".
Core was generated by `/usr/local/bin/python2.1 
/home/tdickenson/projects/Zope2/z2.py -d 192.168.0.3 -'. Program terminated 
with signal 11, Segmentation fault.
#0  0x00000011 in ?? ()
(gdb) file /usr/local/bin/python2.1
Reading symbols from /usr/local/bin/python2.1...done.
(gdb) bt
#0  0x00000011 in ?? ()
#1  0x40509066 in ?? ()
#2  0x08058cda in call_cfunction (func=0x841d590, arg=0x8a2a99c, kw=0x0) at 
Python/ceval.c:2836
#3  0x08058c24 in call_object (func=0x841d590, arg=0x8a2a99c, kw=0x0) at 
Python/ceval.c:2807
#4  0x0805937b in do_call (func=0x841d590, pp_stack=0xbfffd604, na=1, nk=0) 
at Python/ceval.c:3123
#5  0x08057744 in eval_code2 (co=0x89fad70, globals=0x89fd29c, locals=0x0, 
args=0x8128f88, argcount=2,
    kws=0x8128f90, kwcount=0, defs=0x89f7218, defcount=1, closure=0x0) at 
Python/ceval.c:1954
#6  0x080590cf in fast_function (func=0x89f7d0c, pp_stack=0xbfffd714, n=2, 
na=2, nk=0)
    at Python/ceval.c:3025
#7  0x080577a9 in eval_code2 (co=0x89ffa28, globals=0x89ff0b4, locals=0x0, 
args=0x83a71b0, argcount=1,
    kws=0x83a71b4, kwcount=0, defs=0x0, defcount=0, closure=0x0) at 
Python/ceval.c:1972
#8  0x080590cf in fast_function (func=0x8a0a864, pp_stack=0xbfffd824, n=1, 
na=1, nk=0)
    at Python/ceval.c:3025