Description of problem: Doing an ipa-adduser will cause ns-slapd to segfault with: ns-slapd[4029]: segfault at ffffffff eip 00bf844b esp a8ed3d0c error 4 Version-Release number of selected component (if applicable): ipa-server-1.0.0GIT32179e5-2.fc7 #0 0x00bf844b in strlen () from /lib/libc.so.6 #1 0x0798728d in ?? () from /usr/lib/libnspr4.so #2 0x079874fe in PR_vsmprintf () from /usr/lib/libnspr4.so #3 0x0013b4fd in slapi_ch_smprintf () from /usr/lib/dirsrv/libslapd.so.0 #4 0x003c7972 in dna_first_free_value (config_entry=0x952afd0, newval=0xae97a014, maxval=4294967295, increment=4) at dna.c:833 #5 0x003c7e1f in dna_get_next_value (config_entry=0x952afd0, next_value_ret=0xae97a0e8) at dna.c:1013 #6 0x003c84be in dna_pre_op (pb=0x96b6540, modtype=1) at dna.c:1272 #7 0x003c872a in dna_add_pre_op (pb=0x96b6540) at dna.c:1357 #8 0x00176d78 in ?? () from /usr/lib/dirsrv/libslapd.so.0 #9 0x00176f3c in plugin_call_plugins () from /usr/lib/dirsrv/libslapd.so.0 #10 0x00133a31 in ?? () from /usr/lib/dirsrv/libslapd.so.0 #11 0x00134dc4 in do_add () from /usr/lib/dirsrv/libslapd.so.0 #12 0x08057584 in sasl_map_config_add () #13 0x0799f1dd in ?? () from /usr/lib/libnspr4.so #14 0x00d1744b in start_thread () from /lib/libpthread.so.0 #15 0x00c5a80e in clone () from /lib/libc.so.6 (gdb) print config_entry->filter $1 = 0x9476e70 "(objectclass=posixAccount)" (gdb) print type $2 = 0x9453960 "uidNumber" (gdb) print tmpval $3 = 1100 (gdb) print maxval $4 = 4294967295 (gdb) print prefix $5 = 0x0
It is a 32 vs 64-bit issue. The format string has '%llu' but on 32-bit machines tmpval and maxval are long unsigned int and not long long unsigned int As a quick confirmation I replaced %llu with %lu on my 32-bit machine and things worked as expected.
ok I had already plans to explicitly use a 64 bit type, patch coming soon
QA Verified on May 29, 2008 (Yi) Build used: May 29, 2008 (i386) ipaserver[05/29/08 08:58] ipa-adduser -c GECOS -d /home/u101 -f user -l 101 -p redhat123 -s /bin/bash u101 u101 successfully added ipaserver[05/29/08 09:00] ipa-finduser u101 Full Name: user 101 Home Directory: /home/u101 Login Shell: /bin/bash Login: u101 ipaserver[05/29/08 09:00]