[389-users] continuously segfault: 389ds 1.2.10.2 - 1.el6

Rich Megginson rmeggins at redhat.com
Mon Mar 5 15:11:53 UTC 2012


On 03/05/2012 07:52 AM, Roberto Polli wrote:
> Hi Mark,
>
> Mark Reynolds<mareynol at redhat.com>
>> We actually just fixed this on Friday via Ticket 305.  Rich would know
>> more about the next release that would contain this fix.
> This is it https://fedorahosted.org/389/ticket/305
> The stuff is cos-related, and I saw the patch.
>
> The "guilty" lines are moved... Can I just apply that patch or do I have to
> checkout the whole new tree?
If you already have the source for 1.2.10.2 you can just apply that 
patch.  I'm planning a 1.2.10.3 release which will have that patch and a 
couple of others.
>
> Peace,
> R.
>
>>
>> Regards,
>> Mark
>>
>> On 03/05/2012 09:18 AM, Roberto Polli wrote:
>>> Hi Rich | everybody,
>>>
>>> We just experience a continuous segfault (each 20mins).
>>>
>>> This is the interesting part:
>>> #3 0x00007f8e635c20c6 in malloc_printerr () from /lib64/libc.so.6
>>> #4 0x00007f8e65ac8b16 in slapi_ch_free (ptr=0x7f8e28017480) at
>>> ldap/servers/slapd/ch_malloc.c:363
>>> #5 0x00007f8e5cfe7190 in cos_cache_query_attr (ptheCache=0x7f8e280178d0,
>>> context=0x0, e=0x7f8dc8016d00, type=0x7f8e28003760 "inetcos",
>>> out_attr=0x0, test_this=0x0, result=0x0,
>>>
>>> When exploring the dump, I found that:
>>>     - everything happens in cache;
>>>     - it crashes while freeing a string containing a DN;
>>>     - gdb was able to print out the given string;
>>>     - the "guilty" code strangely clones the given string, then frees the
>>>
>>> original one with slapi_ch_free();
>>>
>>> Two sample stack traces and rpm infos follow.
>>>
>>> Do you have any hint?
>>> Thx+Peace,
>>> R.
>>>
>>>
>>>
>>> = Version =
>>>
>>> rpm -qi 389-ds-base
>>> Name : 389-ds-base Relocations: (not relocatable)
>>> Version : 1.2.10.2 Vendor: (none)
>>> Release : 1.el6 Build Date: Thu 23 Feb 2012 05:13:45 PM CET
>>> Install Date: Mon 27 Feb 2012 12:17:52 PM CET Build Host: vmhost
>>> Group : System Environment/Daemons Source RPM: 389-ds-
>>> base-1.2.10.2-1.el6.src.rpm
>>> Size : 4847506 License: GPLv2 with exceptions
>>> Signature : (none)
>>> URL : http://port389.org/
>>> Summary : 389 Directory Server (base)
>>> Description :
>>> 389 Directory Server is an LDAPv3 compliant server. The base package
>>> includes the LDAP server and command line utilities for server
>>> administration.
>>>
>>>    = Trace 1 =
>>>
>>> #0 0x00007f8e6357f885 in raise () from /lib64/libc.so.6
>>> #1 0x00007f8e63581065 in abort () from /lib64/libc.so.6
>>> #2 0x00007f8e635bc7a7 in __libc_message () from /lib64/libc.so.6
>>> #3 0x00007f8e635c20c6 in malloc_printerr () from /lib64/libc.so.6
>>> #4 0x00007f8e65ac8b16 in slapi_ch_free (ptr=0x7f8e28017480) at
>>> ldap/servers/slapd/ch_malloc.c:363
>>> #5 0x00007f8e5cfe7190 in cos_cache_query_attr (ptheCache=0x7f8e280178d0,
>>> context=0x0, e=0x7f8dc8016d00, type=0x7f8e28003760 "inetcos",
>>> out_attr=0x0, test_this=0x0, result=0x0,
>>> props=0x7f8d9c3f8a5c) at ldap/servers/plugins/cos/cos_cache.c:2393
>>> #6 0x00007f8e5cfea9aa in cos_cache_vattr_types (handle=<value optimized
>>> out>, e=0x7f8dc8016d00, type_context=0x7f8d9c3f8ad0, flags=<value
>>> optimized out>) at ldap/servers/plugins/cos/cos_cache.c:2199
>>> #7 0x00007f8e65b3ad90 in slapi_vattr_list_attrs (e=0x7f8dc8016d00,
>>> types=0x7f8d9c3f8c78, flags=4, buffer_flags=0x7f8d9c3f8cbc) at
>>> ldap/servers/slapd/vattr.c:1289
>>> #8 0x00007f8e65b1fc00 in send_all_attrs (pb=0x2987dc0, e=0x7f8dc8016d00,
>>> ectrls=0x7f8dc8016cd8, attrs=0x0, attrsonly=0, send_result=0, nentries=0,
>>> urls=0x0)
>>> at ldap/servers/slapd/result.c:915
>>> #9 send_ldap_search_entry_ext (pb=0x2987dc0, e=0x7f8dc8016d00,
>>> ectrls=0x7f8dc8016cd8, attrs=0x0, attrsonly=0, send_result=0, nentries=0,
>>> urls=0x0) at ldap/servers/slapd/result.c:1362
>>> #10 0x00007f8e65b2046c in send_ldap_search_entry (pb=<value optimized
>>> out>, e=<value optimized out>, ectrls=<value optimized out>,
>>> attrs=<value optimized out>,
>>> attrsonly=<value optimized out>) at ldap/servers/slapd/result.c:814
>>> #11 0x00000000004208e2 in ps_send_results (arg=<value optimized out>) at
>>> ldap/servers/slapd/psearch.c:373
>>> #12 0x00007f8e63f516f3 in ?? () from /lib64/libnspr4.so
>>> #13 0x00007f8e638f57f1 in start_thread () from /lib64/libpthread.so.0
>>> #14 0x00007f8e6363292d in clone () from /lib64/libc.so.6
>>>
>>> = Trace 2 =
>>> #0 0x00007f8e6357f885 in raise () from /lib64/libc.so.6
>>> #1 0x00007f8e63581065 in abort () from /lib64/libc.so.6
>>> #2 0x00007f8e635bc7a7 in __libc_message () from /lib64/libc.so.6
>>> #3 0x00007f8e635c20c6 in malloc_printerr () from /lib64/libc.so.6
>>> #4 0x00007f8e65ac8b16 in slapi_ch_free (ptr=0x7f8e28017480) at
>>> ldap/servers/slapd/ch_malloc.c:363
>>> #5 0x00007f8e5cfe7190 in cos_cache_query_attr (ptheCache=0x7f8e280178d0,
>>> context=0x0, e=0x7f8dc8016d00, type=0x7f8e28003760 "inetcos",
>>> out_attr=0x0, test_this=0x0, result=0x0,
>>>
>>>    props=0x7f8d9c3f8a5c) at ldap/servers/plugins/cos/cos_cache.c:2393
>>>
>>> #6 0x00007f8e5cfea9aa in cos_cache_vattr_types (handle=<value optimized
>>> out>, e=0x7f8dc8016d00, type_context=0x7f8d9c3f8ad0, flags=<value
>>> optimized out>)
>>>
>>>    at ldap/servers/plugins/cos/cos_cache.c:2199
>>>
>>> #7 0x00007f8e65b3ad90 in slapi_vattr_list_attrs (e=0x7f8dc8016d00,
>>> types=0x7f8d9c3f8c78, flags=4, buffer_flags=0x7f8d9c3f8cbc) at
>>> ldap/servers/slapd/vattr.c:1289
>>> #8 0x00007f8e65b1fc00 in send_all_attrs (pb=0x2987dc0, e=0x7f8dc8016d00,
>>> ectrls=0x7f8dc8016cd8, attrs=0x0, attrsonly=0, send_result=0, nentries=0,
>>> urls=0x0)
>>>
>>>    at ldap/servers/slapd/result.c:915
>>>
>>> #9 send_ldap_search_entry_ext (pb=0x2987dc0, e=0x7f8dc8016d00,
>>> ectrls=0x7f8dc8016cd8, attrs=0x0, attrsonly=0, send_result=0, nentries=0,
>>> urls=0x0) at ldap/servers/slapd/result.c:1362
>>> #10 0x00007f8e65b2046c in send_ldap_search_entry (pb=<value optimized
>>> out>, e=<value optimized out>, ectrls=<value optimized out>,
>>> attrs=<value optimized out>,
>>>
>>>    attrsonly=<value optimized out>) at ldap/servers/slapd/result.c:814
>>>
>>> #11 0x00000000004208e2 in ps_send_results (arg=<value optimized out>) at
>>> ldap/servers/slapd/psearch.c:373
>>> #12 0x00007f8e63f516f3 in ?? () from /lib64/libnspr4.so
>>> #13 0x00007f8e638f57f1 in start_thread () from /lib64/libpthread.so.0
>>> #14 0x00007f8e6363292d in clone () from /lib64/libc.so.6
>>>
>>> # rpm -qi 389-ds-base
>>> Name : 389-ds-base Relocations: (not relocatable)
>>> Version : 1.2.10.2 Vendor: (none)
>>> Release : 1.el6 Build Date: Thu 23 Feb 2012 05:13:45 PM CET
>>> Install Date: Mon 27 Feb 2012 12:17:52 PM CET Build Host: vmhost
>>> Group : System Environment/Daemons Source RPM: 389-ds-
>>> base-1.2.10.2-1.el6.src.rpm
>>> Size : 4847506 License: GPLv2 with exceptions
>>> Signature : (none)
>>> URL : http://port389.org/
>>> Summary : 389 Directory Server (base)
>>> Description :
>>> 389 Directory Server is an LDAPv3 compliant server. The base package
>>> includes the LDAP server and command line utilities for server
>>> administration.




More information about the 389-users mailing list