Bug 447590

Summary: dna plugin causing ns-slapd to core
Product: [Retired] freeIPA Reporter: Rob Crittenden <rcritten>
Component: ipa-serverAssignee: Simo Sorce <ssorce>
Status: CLOSED ERRATA QA Contact: Chandrasekar Kannan <ckannan>
Severity: high Docs Contact:
Priority: high    
Version: 1.0CC: benl
Target Milestone: ---   
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: freeipa-2.0.0-1.fc15 Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On:    
Bug Blocks: 429034    

Description Rob Crittenden 2008-05-20 17:43:22 UTC
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

Comment 1 Rob Crittenden 2008-05-20 18:25:55 UTC
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.

Comment 2 Simo Sorce 2008-05-20 18:29:38 UTC
ok I had already plans to explicitly use a 64 bit type, patch coming soon

Comment 3 Yi Zhang 2008-05-29 16:00:48 UTC
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]