ptloader segfaults gone in Kolab 3.4?

Franz Skale i.bin at dah.am
Mon May 4 18:33:58 CEST 2015



Hi,
for the abort problem, when using multiple domains,
i created a issue some time ago
Now i have posted a fixed version of the problem function:
Fyi:

https://issues.kolab.org/show_bug.cgi?id=4979



Rgds.


Franz


 Am 03.04.15 um 20:50 schrieb Franz Skale:
>
>
> Hi,
> sorry, but the last time i forgot to egrep 'segfault|signaled'.
> The segfault patch doesn't exaplain the problem.
> I now created a new backtrace with more details:
> Core was generated by `ptloader -d9'.
> Program terminated with signal 6, Aborted.
> #0  0x00007f13554a6107 in raise () from /lib/x86_64-linux-gnu/libc.so.6
> (gdb) bt
> #0  0x00007f13554a6107 in raise () from /lib/x86_64-linux-gnu/libc.so.6
> #1  0x00007f13554a74e8 in abort () from /lib/x86_64-linux-gnu/libc.so.6
> #2  0x00007f13554e8f3d in ?? () from /lib/x86_64-linux-gnu/libc.so.6
> #3  0x00007f13554ebde1 in ?? () from /lib/x86_64-linux-gnu/libc.so.6
> #4  0x00007f13554eceb0 in malloc () from /lib/x86_64-linux-gnu/libc.so.6
> #5  0x00007f13582cf00b in xmalloc () from /usr/lib/libcyrus_min.so.0
> #6  0x00007f13582cf11e in xstrdup () from /usr/lib/libcyrus_min.so.0
> #7  0x0000000000403504 in ptsmodule_standard_root_dn
> (domain=domain at entry=0x177e060 "example", result=0x177cf98) at
> ptclient/ldap.c:677
> #8  0x00000000004042ba in ptsmodule_get_dn
> (canon_id=canon_id at entry=0x607fa0 "info at example.com",
> size=size at entry=33, ret=ret at entry=0x7fff3550b290) at ptclient/ldap.c:993
> #9  0x000000000040527d in ptsmodule_make_authstate_attribute
> (newstate=0x7fff3550b278, dsize=0x7fff3550b31c, reply=0x7fff3550b320,
> size=33, canon_id=0x607fa0 "info at example.com")
>     at ptclient/ldap.c:1085
> #10 myauthstate (identifier=<optimized out>, size=33, reply=<optimized
> out>, dsize=0x7fff3550b31c) at ptclient/ldap.c:1497
> #11 0x0000000000402de9 in service_main_fd (c=c at entry=11,
> argc=<optimized out>, argv=<optimized out>,
> envp=envp at entry=0x7fff3550bb20) at ptclient/ptloader.c:232
> #12 0x0000000000402834 in main (argc=<optimized out>,
> argv=0x7fff3550bb08, envp=0x7fff3550bb20) at master/service-thread.c:296
>
>
> At the same time, the slapd access log shows an access (via imap) and
> a service connection:
> [03/Apr/2015:19:26:59 +0200] conn=41 fd=71 slot=71 connection from
> 127.0.0.1 to 127.0.0.1
> [03/Apr/2015:19:26:59 +0200] conn=41 op=0 BIND
> dn="uid=kolab-service,ou=Special Users,dc=example,dc=com" method=128
> version=3
> [03/Apr/2015:19:26:59 +0200] conn=41 op=0 RESULT err=0 tag=97
> nentries=0 etime=0 dn="uid=kolab-service,ou=special
> users,dc=example,dc=com"
> [03/Apr/2015:19:26:59 +0200] conn=41 op=1 SRCH
> base="cn=kolab,cn=config" scope=2
> filter="(&(objectClass=domainrelatedobject)(associatedDomain=example.com))"
> attrs="associatedDomain inetDomainBaseDN"
> [03/Apr/2015:19:26:59 +0200] conn=41 op=1 RESULT err=0 tag=101
> nentries=1 etime=0
> [03/Apr/2015:19:26:59 +0200] conn=41 op=-1 fd=71 closed - B1
> [03/Apr/2015:19:26:59 +0200] conn=42 fd=71 slot=71 connection from
> 127.0.0.1 to 127.0.0.1
> [03/Apr/2015:19:26:59 +0200] conn=42 op=0 BIND dn="cn=Directory
> Manager" method=128 version=3
> [03/Apr/2015:19:26:59 +0200] conn=42 op=0 RESULT err=0 tag=97
> nentries=0 etime=0 dn="cn=directory manager"
> [03/Apr/2015:19:26:59 +0200] conn=42 op=1 BIND
> dn="uid=info,ou=People,dc=example,dc=com" method=128 version=3
> [03/Apr/2015:19:26:59 +0200] conn=42 op=1 RESULT err=0 tag=97
> nentries=0 etime=0 dn="uid=info,ou=people,dc=example,dc=com"
> [03/Apr/2015:19:26:59 +0200] conn=42 op=2 UNBIND
> [03/Apr/2015:19:26:59 +0200] conn=42 op=2 fd=71 closed - U1
> [03/Apr/2015:19:26:59 +0200] conn=43 fd=71 slot=71 connection from
> 127.0.0.1 to 127.0.0.1
> [03/Apr/2015:19:26:59 +0200] conn=43 op=0 BIND dn="cn=Directory
> Manager" method=128 version=3
> [03/Apr/2015:19:26:59 +0200] conn=43 op=0 RESULT err=0 tag=97
> nentries=0 etime=0 dn="cn=directory manager"
> [03/Apr/2015:19:26:59 +0200] conn=43 op=1 BIND
> dn="uid=info,ou=People,dc=example,dc=com" method=128 version=3
> [03/Apr/2015:19:26:59 +0200] conn=43 op=1 RESULT err=0 tag=97
> nentries=0 etime=0 dn="uid=info,ou=people,dc=example,dc=com"
> [03/Apr/2015:19:26:59 +0200] conn=43 op=2 UNBIND
> [03/Apr/2015:19:26:59 +0200] conn=43 op=2 fd=71 closed - U1
>
> So, the problem is ldap related.
> I will downgrade to version git-12-2014 which worked for me so far.
>
> Rgds.
>
> Franz
>
>
>
> Am 01.04.15 um 20:34 schrieb Franz Skale:
>>
>>
>>
>> Hi,
>> just want to report back the reason of the segfaults.
>> It seems, that an empty dc value is the cause of the problem, then
>> subsequent ldap calls causes segaults until the max respawn limit has
>> been reached:
>> Debug: (with toms syslog patch:
>> https://obs.kolabsys.com/package/view_file/home:connyhald:branches:Kolab:3.3:Updates/cyrus-imapd/ptloader-segfault.patch?expand=1)
>>
>> Mar 30 21:05:27 mail cyrus-imapd/ptloader[23045]: SEGV: ld: x, base:
>> dc=,dc=, scope: 2, filter:
>> (|(&(|(uid=cyrus-admin)(uid=cyrus-murder))(uid=cyrus-admin))(&(|(uid=cyrus-admin)(mail=cyrus-admin@)(mail=cyrus-admin@))(objectclass=kolabinetorgperson))),
>> attrs: x, timeout: 10.000000
>> Mar 30 21:05:27 mail cyrus-imapd/ptloader[23045]: SEGV: ld: x, base:
>> dc=,dc=, scope: 2, filter:
>> (|(&(|(uid=cyrus-admin)(uid=cyrus-murder))(uid=cyrus-admin))(&(|(uid=cyrus-admin)(mail=cyrus-admin@)(mail=cyrus-admin@))(objectclass=kolabinetorgperson))),
>> attrs: x, timeout: 10.000000
>> Mar 30 21:05:27 mail cyrus-imapd/ptloader[23045]: SEGV: ld: x, base:
>> dc=,dc=, scope: 2, filter:
>> (|(&(|(uid=cyrus-admin)(uid=cyrus-murder))(uid=cyrus-admin))(&(|(uid=cyrus-admin)(mail=cyrus-admin@)(mail=cyrus-admin@))(objectclass=kolabinetorgperson))),
>> attrs: x, timeout: 10.000000
>> Mar 30 21:07:04 mail cyrus-imapd/ptloader[23045]: SEGV: ld: x, base:
>> dc=example,dc=com, scope: 2, filter:
>> (|(&(|(uid=cyrus-admin)(uid=cyrus-murder))(uid=info.example))(&(|(uid=info.example)(mail=info.example at example.com)(mail=info.example@))(objectclass=kolabinetorgperson))),
>> attrs: x, timeout: 10.000000
>> Mar 30 21:07:04 mail cyrus-imapd/ptloader[23045]: SEGV: Reached last
>> return. Ret: uid=info,ou=People,dc=example,dc=com
>> Mar 30 21:07:16 mail cyrus-imapd/ptloader[23045]: SEGV: ld: x, base:
>> dc=example,dc=com, scope: 2, filter:
>> (|(&(|(uid=cyrus-admin)(uid=cyrus-murder))(uid=cyrus-admin))(&(|(uid=cyrus-admin)(mail=cyrus-admin@)(mail=cyrus-admin@))(objectclass=kolabinetorgperson))),
>> attrs: x, timeout: 10.000000
>> Mar 30 21:07:16 mail cyrus-imapd/ptloader[23045]: SEGV: Reached last
>> return. Ret: NULL
>> Mar 30 21:07:16 mail cyrus-imapd/ptloader[23045]: SEGV: ld: x, base:
>> dc=example,dc=com, scope: 2, filter:
>> (|(&(|(uid=cyrus-admin)(uid=cyrus-murder))(uid=cyrus-admin))(&(|(uid=cyrus-admin)(mail=cyrus-admin@)(mail=cyrus-admin@))(objectclass=kolabinetorgperson))),
>> attrs: x, timeout: 10.000000
>> Mar 30 21:07:16 mail cyrus-imapd/ptloader[23045]: SEGV: Reached last
>> return. Ret: NULL
>> Mar 30 21:07:16 mail cyrus-imapd/ptloader[23045]: SEGV: ld: x, base:
>> dc=example,dc=com, scope: 2, filter:
>> (|(&(|(uid=cyrus-admin)(uid=cyrus-murder))(uid=cyrus-admin))(&(|(uid=cyrus-admin)(mail=cyrus-admin@)(mail=cyrus-admin@))(objectclass=kolabinetorgperson))),
>> attrs: x, timeout: 10.000000
>> Mar 30 21:07:16 mail cyrus-imapd/ptloader[23045]: SEGV: Reached last
>> return. Ret: NULL
>> Mar 30 21:07:16 mail cyrus-imapd/ptloader[23045]: SEGV: ld: x, base:
>> dc=example,dc=com, scope: 2, filter:
>> (|(&(|(uid=cyrus-admin)(uid=cyrus-murder))(uid=cyrus-admin))(&(|(uid=cyrus-admin)(mail=cyrus-admin@)(mail=cyrus-admin@))(objectclass=kolabinetorgperson))),
>> attrs: x, timeout: 10.000000
>> Mar 30 21:07:16 mail cyrus-imapd/ptloader[23045]: SEGV: Reached last
>> return. Ret: NULL
>> Mar 30 21:22:29 mail cyrus-imapd/ptloader[23498]: SEGV: ld: x, base:
>> dc=,dc=, scope: 2, filter:
>> (|(&(|(uid=cyrus-admin)(uid=cyrus-murder))(uid=cyrus-admin))(&(|(uid=cyrus-admin)(mail=cyrus-admin@)(mail=cyrus-admin@))(objectclass=kolabinetorgperson))),
>> attrs: x, timeout: 10.000000
>> Mar 30 21:22:29 mail cyrus-imapd/ptloader[23498]: SEGV: ld: x, base:
>> dc=,dc=, scope: 2, filter:
>> (|(&(|(uid=cyrus-admin)(uid=cyrus-murder))(uid=cyrus-admin))(&(|(uid=cyrus-admin)(mail=cyrus-admin@)(mail=cyrus-admin@))(objectclass=kolabinetorgperson))),
>> attrs: x, timeout: 10.000000
>> Mar 30 21:37:37 mail cyrus-imapd/ptloader[23498]: SEGV: ld: x, base:
>> dc=,dc=, scope: 2, filter:
>> (|(&(|(uid=cyrus-admin)(uid=cyrus-murder))(uid=cyrus-admin))(&(|(uid=cyrus-admin)(mail=cyrus-admin@)(mail=cyrus-admin@))(objectclass=kolabinetorgperson))),
>> attrs: x, timeout: 10.000000
>> Mar 30 21:37:37 mail cyrus-imapd/ptloader[23498]: SEGV: ld: x, base:
>> dc=,dc=, scope: 2, filter:
>> (|(&(|(uid=cyrus-admin)(uid=cyrus-murder))(uid=cyrus-admin))(&(|(uid=cyrus-admin)(mail=cyrus-admin@)(mail=cyrus-admin@))(objectclass=kolabinetorgperson))),
>> attrs: x, timeout: 10.000000
>> Mar 30 21:52:52 mail cyrus-imapd/ptloader[23810]: SEGV: ld: x, base:
>> dc=,dc=, scope: 2, filter:
>> (|(&(|(uid=cyrus-admin)(uid=cyrus-murder))(uid=cyrus-admin))(&(|(uid=cyrus-admin)(mail=cyrus-admin@)(mail=cyrus-admin@))(objectclass=kolabinetorgperson))),
>> attrs: x, timeout: 10.000000
>> Mar 30 21:52:52 mail cyrus-imapd/ptloader[23810]: SEGV: ld: x, base:
>> dc=,dc=, scope: 2, filter:
>> (|(&(|(uid=cyrus-admin)(uid=cyrus-murder))(uid=cyrus-admin))(&(|(uid=cyrus-admin)(mail=cyrus-admin@)(mail=cyrus-admin@))(objectclass=kolabinetorgperson))),
>> attrs: x, timeout: 10.000000
>>
>> Perhaps, anyone is able to find the root cause of the problem.
>>
>> Rgds.
>> Franz
>>
>>
>>
>>
>> Am 30.03.15 um 20:01 schrieb Franz Skale:
>>> Hi,
>>> only wanted to report back.
>>> With version 2.5.0.0 (dev tree but stable cyrus release) the segfaults
>>> came back.
>>> I have to compile cyrus with debugging symbols enabled to dig deeper.
>>> The actual bt:
>>> Core was generated by `ptloader -d9'.
>>> Program terminated with signal 6, Aborted.
>>> #0  0x00007f799ee0c107 in raise () from /lib/x86_64-linux-gnu/libc.so.6
>>> (gdb) bt
>>> #0  0x00007f799ee0c107 in raise () from /lib/x86_64-linux-gnu/libc.so.6
>>> #1  0x00007f799ee0d4e8 in abort () from /lib/x86_64-linux-gnu/libc.so.6
>>> #2  0x00007f799ee4ef3d in ?? () from /lib/x86_64-linux-gnu/libc.so.6
>>> #3  0x00007f799ee51de1 in ?? () from /lib/x86_64-linux-gnu/libc.so.6
>>> #4  0x00007f799ee52eb0 in malloc () from /lib/x86_64-linux-gnu/libc.so.6
>>> #5  0x00007f79a1c3500b in xmalloc () from /usr/lib/libcyrus_min.so.0
>>> #6  0x00007f79a1c3511e in xstrdup () from /usr/lib/libcyrus_min.so.0
>>> #7  0x0000000000403504 in ?? ()
>>> #8  0x00000000004041e6 in ?? ()
>>> #9  0x000000000040514d in ?? ()
>>> #10 0x0000000000402de9 in ?? ()
>>> #11 0x0000000000402834 in ?? ()
>>> #12 0x00007f799edf8b45 in __libc_start_main () from
>>> /lib/x86_64-linux-gnu/libc.so.6
>>> #13 0x0000000000402a5e in ?? ()
>>>
>>> Rgds.
>>>
>>> Franz
>>>
>>>
>>> Am 24.03.15 um 08:35 schrieb Cornelius Hald:
>>>> On Sat, 2015-03-21 at 12:58 +0100, Jan Kowalsky wrote:
>>>>> Hi,
>>>>>
>>>>> I upgraded a clone of my productive mailserver - but the ptloader errors
>>>>> still exists. In a plain new installation with only one domain and a
>>>>> couple of testaccounts everything looks ok - but not in the productive
>>>>> environment with hundreds of accounts and about 15 domains.
>>>>>
>>>>> I hadn't had the time to get further in this problem - and I'm afraid
>>>>> I'll lack of knowledge about cyrus ...
>>>>>
>>>>> But did you find out more about the reasons of segfault? It seems to be
>>>>> related to certain conditions of the setup. Otherwise a lot more people
>>>>> should be affected.
>>>>>
>>>>> Regards
>>>>> Jan
>>>> Hi,
>>>>
>>>> so far I didn't find time to look into this further. Also I'm not an
>>>> expert in cyrus and ldap as well... I might have a chance to look into
>>>> this again next week, but I doubt I'll find a solution by myself.
>>>>
>>>> Anyway, thanks a lot for you input. It's good to know the bug still
>>>> exists with current cyrus.
>>>>
>>>> Cheers,
>>>> Conny
>>>>
>>>> _______________________________________________
>>>> users mailing list
>>>> users at lists.kolab.org
>>>> https://lists.kolab.org/mailman/listinfo/users
>>>
>>>
>>> _______________________________________________
>>> users mailing list
>>> users at lists.kolab.org
>>> https://lists.kolab.org/mailman/listinfo/users
>>
>>
>>
>> _______________________________________________
>> users mailing list
>> users at lists.kolab.org
>> https://lists.kolab.org/mailman/listinfo/users
>
>
>
> _______________________________________________
> users mailing list
> users at lists.kolab.org
> https://lists.kolab.org/mailman/listinfo/users

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.kolab.org/pipermail/users/attachments/20150504/0ac01d5f/attachment-0001.html>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: smime.p7s
Type: application/pkcs7-signature
Size: 4254 bytes
Desc: S/MIME Cryptographic Signature
URL: <http://lists.kolab.org/pipermail/users/attachments/20150504/0ac01d5f/attachment-0001.p7s>


More information about the users mailing list