Robert Cernansky wrote:
RF>
RF> For a complete list of packages that should be rebuilt, you can run:
RF>
RF> equery belongs `ldd /usr/sbin/smbd | grep ' /' | awk '{print $3}'` |
RF> sort | uniq
RF>
RF> This will print the name of every package that contains a library that
RF> smbd depends upon.
RF>
RF> I would not rebuild the entire system at this point, but if -ftracer
RF> does turn out to be the source of your problem, then a rebuild should
RF> scheduled soon!
Well, ldd shows that smbtree depends on popt and glibc. According to gdb,
the problem seems to be in glibc (/usr/lib64/gconv/IBM852.so belongs to
glibc):
$ gdb smbtree
[snip]
(gdb) r
Starting program: /usr/bin/smbtree
(no debugging symbols found)
(no debugging symbols found)
[snip]
Program received signal SIGSEGV, Segmentation fault.
0x00002aaaab4459bc in gconv () from /usr/lib64/gconv/IBM852.so
(gdb) bt
#0 0x00002aaaab4459bc in gconv () from /usr/lib64/gconv/IBM852.so
#1 0x00002aaaab23efa2 in gconv () from /usr/lib64/gconv/UTF-16.so
#2 0x00002aaaab034f78 in iconv_close () from /lib/libc.so.6
#3 0x00002aaaab03456b in iconv () from /lib/libc.so.6
#4 0x00000000004416b0 in smb_register_charset ()
#5 0x00000000004417db in smb_iconv ()
#6 0x00000000004222fa in lazy_initialize_conv ()
#7 0x000000000042283b in convert_string ()
#8 0x0000000000432308 in init_doschar_table ()
#9 0x00000000004221c4 in init_iconv ()
#10 0x000000000041c9e4 in lp_file_list_changed ()
#11 0x000000000041dfc5 in lp_do_parameter ()
#12 0x000000000042085a in set_store_dos_attributes ()
#13 0x0000000000420b98 in pm_process ()
#14 0x000000000041f83b in lp_load ()
#15 0x0000000000418c68 in main ()
So I decide to downgrade glibc first, but it did not help. Then I downgrade
linux-headers and re-emerge (downgraded) glibc and samba (for sure). Again
without success. :-( I removed -ftracer at first of course.
I'm stuck now. I don't believe that rebuild of whole system (without
-ftracer) fixes the problem because /usr/lib64/gconv/IBM852.so depends only
on libraries from glibc.
$ ldd /usr/lib64/gconv/IBM852.so
libc.so.6 => /lib/libc.so.6 (0x00002aaaaabce000)
/lib64/ld-linux-x86-64.so.2 (0x0000555555554000)
$ ldd /lib/libc.so.6
/lib64/ld-linux-x86-64.so.2 (0x00002aaaaaaab000)
$ ldd /lib64/ld-linux-x86-64.so.2
statically linked
What do you think?
Robert
Maybe something in your toolchain is broken. If you don't have a trusted
toolchain then you can borrow the toolchain from a livecd to rebuild gcc,
binutils, and libtool.
Zac
--
[email protected] mailing list