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

(ITS#6878) ppcache segfault with tavl_delete



Full_Name: Tyler Gates
Version: 2.4.21
OS: Ubuntu 10.04.2 LTS/CentOS 5.4
URL: ftp://ftp.openldap.org/incoming/
Submission from: (NULL) (24.106.216.17)


I have a caching proxy server (2.4.21) in front of two multi-masters. After
about 1 to 3 days it will segfault only when caching is enabled. Log files are
normally pretty useless but are normally in the operation of removing stale
queries: 

Mar 24 09:55:36 directory-proxy2 slapd[5363]: REMOVING TEMP ATTR :
TEMPLATE=ba2c2b64-ea65-102f-96bd-2f354737277c
Mar 24 09:55:36 directory-proxy2 slapd[5363]: STALE QUERY REMOVED, SIZE=0
Mar 24 09:55:36 directory-proxy2 slapd[5363]: STORED QUERIES = 22
Mar 24 09:55:36 directory-proxy2 slapd[5363]: STALE QUERY REMOVED, CACHE =1
entries
Mar 24 09:55:36 directory-proxy2 slapd[5363]: Lock CR index = 0xb8848c00

I've attached to the running process using gdb and got the following:
**************************************************************************
Program received signal SIGPIPE, Broken pipe.

Program received signal SIGPIPE, Broken pipe.

Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread 0xb61b4b70 (LWP 5365)]
tavl_delete (root=0x0, data=0xb890bac0, fcmp=0xb6b64910 <pcache_query_cmp>) at
/build/buildd/openldap-2.4.21/libraries/liblutil/tavl.c:200
200     /build/buildd/openldap-2.4.21/libraries/liblutil/tavl.c: No such file or
directory.
        in /build/buildd/openldap-2.4.21/libraries/liblutil/tavl.c
(gdb)
Continuing.
[Thread 0xb1effb70 (LWP 7113) exited]
[Thread 0xb2d9cb70 (LWP 10996) exited]
[Thread 0xb3a9fb70 (LWP 9738) exited]
[Thread 0xb47a2b70 (LWP 8550) exited]
[Thread 0xb65b5b70 (LWP 5364) exited]
[Thread 0xb61b4b70 (LWP 5365) exited]
[Thread 0xb5cb2b70 (LWP 5673) exited]

Program terminated with signal SIGSEGV, Segmentation fault.
The program no longer exists.
(gdb) bt
No stack.
**********************************************************************

As you can see I cannot get a back trace, but I still have the gdb shell running
so I run any other commands if needed.
I've run version 2.4.18 on a CentOS machine with the same setup and I get
segfaults only when pcache is enabled although I've never run it under gdb.