[Date Prev][Date Next] [Chronological] [Thread] [Top]

Re: (ITS#4332) test046-dds fails on segfault

This problem is due to the DDS overlay call to db_expire
with the main thread of the program at startup.  On FreeBSD4,
the main thread has a restricted stacksize, such calls
need to be spawned into a thread and, if necessary,
subsequently joined.

At 01:36 PM 1/11/2006, kurt@OpenLDAP.org wrote:
>Full_Name: Kurt Zeilenga
>Version: HEAD
>OS: FreeBSD 4
>URL: ftp://ftp.openldap.org/incoming/
>Submission from: (NULL) (
>Submitted by: kurt
>test046 produces a segfault in slapd(8)
>>>>>> Starting test046-dds ...
>running defines.sh
>Running slapadd to build slapd database...
>Running slapindex to index slapd database...
>Segmentation fault (core dumped)
>warning: slapindex failed (139)
>  assuming no indexing support
>Starting slapd on TCP/IP port 9011...
>Segmentation fault (core dumped)
>(gdb) thread apply all bt
>Thread 1 (process 155314):
>#0  0x8101859 in bdb_idl_fetch_key (be=0xbfbfeb58, db=0x82f4800, tid=0x0, 
>    key=0xbfb3e758, ids=0x8402000, saved_cursor=0x0, get_flag=0) at idl.c:482
>#1  0x8103b67 in bdb_key_read (be=0xbfbfeb58, db=0x82f4800, txn=0x0, 
>    k=0x8303104, ids=0x8402000, saved_cursor=0x0, get_flag=0) at key.c:50
>#2  0x80ff5c6 in equality_candidates (op=0xbfbfed2c, ava=0xbfb3e960, 
>    ids=0x8502000, tmp=0x8402000) at filterindex.c:694
>#3  0x80fe2d5 in bdb_filter_candidates (op=0xbfbfed2c, f=0xbfb3e988, 
>    ids=0x8502000, tmp=0x8402000, stack=0x8582000) at filterindex.c:139
>#4  0x80feeec in list_candidates (op=0xbfbfed2c, flist=0xbfb3e988, ftype=161, 
>    ids=0x8482000, tmp=0x8402000, save=0x8502000) at filterindex.c:506
>#5  0x80fe5de in bdb_filter_candidates (op=0xbfbfed2c, f=0xbfb3e97c, 
>    ids=0x8482000, tmp=0x8402000, stack=0x8502000) at filterindex.c:189
>#6  0x80feeec in list_candidates (op=0xbfbfed2c, flist=0xbfb3e970, ftype=160, 
>    ids=0xbfb7ead0, tmp=0x8402000, save=0x8482000) at filterindex.c:506
>#7  0x80fe572 in bdb_filter_candidates (op=0xbfbfed2c, f=0xbfb3e994, 
>    ids=0xbfb7ead0, tmp=0x8402000, stack=0x8482000) at filterindex.c:183
>#8  0x80cc5b9 in search_candidates (op=0xbfbfed2c, rs=0xbfbfecd0, 
>    e=0xbfb3eaa8, locker=12, ids=0xbfb7ead0, scopes=0xbfb3ead0)
>    at search.c:1125
>#9  0x80cb773 in bdb_search (op=0xbfbfed2c, rs=0xbfbfecd0) at search.c:594
>#10 0x80bdf6a in overlay_op_walk (op=0xbfbfed2c, rs=0xbfbfecd0, 
>    which=op_search, oi=0x8259f00, on=0x828e000) at backover.c:499
>#11 0x80be0a6 in over_op_func (op=0xbfbfed2c, rs=0xbfbfecd0, which=op_search)
>    at backover.c:551
>#12 0x80be112 in over_op_search (op=0xbfbfed2c, rs=0xbfbfecd0)
>    at backover.c:573
>#13 0x813cb03 in dds_expire (ctx=0x8237a20, di=0x82aa5c0) at dds.c:181
>#14 0x813ef92 in dds_db_open (be=0x8259d00) at dds.c:1728
>#15 0x80bd604 in over_db_func (be=0x8259d00, which=db_open) at backover.c:61
>#16 0x80bd93b in over_db_open (be=0x8259d00) at backover.c:173
>#17 0x807ce6d in backend_startup_one (be=0x8259d00) at backend.c:212
>#18 0x807d137 in backend_startup (be=0x0) at backend.c:301
>#19 0x80971d0 in slap_startup (be=0x0) at init.c:250
>#20 0x8063591 in main (argc=8, argv=0xbfbff1f0) at main.c:857