[Date Prev][Date Next]
[Chronological]
[Thread]
[Top]
UTF8bvnormalize bug on 64bit Solaris 8 (ITS#2198)
Full_Name: Miroslav Zubcic
Version: 2.1.8
OS: SunOS lav 5.8 Generic_108528-13 sun4u sparc SUNW,Ultra-Enterprise
URL: ftp://ftp.openldap.org/incoming/
Submission from: (NULL) (213.202.124.153)
I have compiled OpenLDAP 2.1.8 with gcc 3.2 on Solaris 8. When I try to import
initial
ldif from file with slapadd(8) or re-index base with slapindex, I get SIGSEGV.
If I comment out this line in slapd.conf(5):
index cn,sn,uid pres,eq,approx,sub
... then I don't get SIGSEGV. Attributes cn and sn are containing some UTF 8
letters
specific for my language.
OpenLDAP is compiled (entirely) like 64bit application.
Here is basic debug output from some debugger I have found on Solaris 8:
(gdb does not know how to handle 64bit coredumps).
IMHO big is in function which I put in subject ...
(root){zvijer}[schema]$ mdb core
Loading modules: [ ]
> ::status
debugging core file of slapindex (64-bit) from zvijer
executable file: /opt/local/sbin/slapindex
initial argv: slapindex
status: SIGSEGV (Segmentation Fault)
> ::stack
uckdecomp+0x74(1008517c0, 2, ffffffff7fffee58, ffffffff7fffee54, 10000,
ffffffffffff5400)
UTF8bvnormalize+0x244(2, 1003458a0, 1008517c0, 1, 1c, ffffffff7fffef30)
0x100029d30(0, 71e, 100239660, 10023d490, 1002485f8, 100346980)
0x100085f60(100029c80, 1, 1002485f8, 100346980, 3f7, 1)
0x10008587c(10024c140, 100248590, 100233790, 100346980, 3f7, 1)
index_entry+0x158(10024c140, 1, 10084ce20, 1003468f0, 100, 100000000)
ldbm_tool_entry_reindex+0x174(10024c140, 3f7, 10024c140, 0, 100000000, 0)
main+0x13c(0, 10022a300, ffffffff7ffff4d8, 1002306c0, 100000000, 0)
_start+0x7c(0, 0, 0, 0, 0, 0)
> $?
no process
SIGSEGV: Segmentation Fault
%g0 = 0x0000000000000000 %l0 = 0x0000000000000000
%g1 = 0xffffffff7fffed60 %l1 = 0x0000000000000000
%g2 = 0x0000000000000000 %l2 = 0x0000000000000000
%g3 = 0x0000000000000000 %l3 = 0x0000000000000000
%g4 = 0x0000000100285b50 %l4 = 0x0000000000000000
%g5 = 0xffffffff7fffed68 %l5 = 0x0000000000000000
%g6 = 0x0000000000000000 %l6 = 0x0000000000000000
%g7 = 0x0000000100231620 %l7 = 0x0000000000000002
%o0 = 0x00000cac7ffffffe %i0 = 0x00000001008517c0
%o1 = 0x00001958ffffffff %i1 = 0x0000000000000002
%o2 = 0x00001958ffffffff %i2 = 0xffffffff7fffee58
%o3 = 0x00006563fffffff0 %i3 = 0xffffffff7fffee54
%o4 = 0x0000000000000000 %i4 = 0x0000000000010000
%o5 = 0x0000000000000020 %i5 = 0xffffffffffff5400
%o6 = 0xffffffff7fffe4b1 %i6 = 0xffffffff7fffe5a1
%o7 = 0x000000010008d06c %i7 = 0x000000010008dd24
UTF8bvnormalize+0x244
%ccr = 0x00 xcc=nzvc icc=nzvc
%y = 0x0000000000000000
%pc = 0x000000010008ac94 uckdecomp+0x74
%npc = 0x000000010008ac98 uckdecomp+0x78
%sp = 0xffffffff7fffe4b1
%fp = 0xffffffff7fffe5a1
%asi = 0x82
%fprs = 0x07
>
(root){zvijer}[schema]$ ldd /opt/local/sbin/slapindex
libresolv.so.2 => /usr/lib/64/libresolv.so.2
libsocket.so.1 => /usr/lib/64/libsocket.so.1
libdb-4.0.so => /opt/local/lib/sparcv9/libdb-4.0.so
libssl.so.0.9.6 => /opt/local/lib/sparcv9/libssl.so.0.9.6
libcrypto.so.0.9.6 => /opt/local/lib/sparcv9/libcrypto.so.0.9.6
libgssapi_krb5.so.2 => /opt/local/lib/sparcv9/libgssapi_krb5.so.2
libgen.so.1 => /usr/lib/64/libgen.so.1
libnsl.so.1 => /usr/lib/64/libnsl.so.1
libdl.so.1 => /usr/lib/64/libdl.so.1
libpthread.so.1 => /usr/lib/64/libpthread.so.1
libc.so.1 => /usr/lib/64/libc.so.1
libkrb5.so.3 => /opt/local/lib/sparcv9/libkrb5.so.3
libk5crypto.so.3 => /opt/local/lib/sparcv9/libk5crypto.so.3
libcom_err.so.3 => /opt/local/lib/sparcv9/libcom_err.so.3
libgcc_s.so.1 => /usr/local/lib/sparcv9/libgcc_s.so.1
libmp.so.2 => /usr/lib/64/libmp.so.2
libthread.so.1 => /usr/lib/64/libthread.so.1
/usr/platform/SUNW,Ultra-Enterprise/lib/sparcv9/libc_psr.so.1
I hope I have enough debug information this time. :-)
--
Miroslav