Posted by: | thulldud |
---|---|
Subject: | Startup segfault on Sabayon 4 |
Date: | 23:54:36 09/07/2009 |
Running Sabayon 4 on an HP laptop here (Pavilion 9500, AMD 64) and I built the 2009-05-RC2 from source, installed it suidroot, configured /usr/local/etc/kismet.conf, and it crashed immediately on startup with a sig 11.
I wiped that install from the system, and loaded the build which Sabayon provides, which is from 2008-05. This one segfaulted too, but in a different place. (Yes, I know that it puts its kismet.conf in a different place.)
With that hope that springs eternal, I just downloaded the new source version, purged all other mention of kismet from my system (except for the package listing in entropy) and rebuilt. Segfault again, same as before. So I distcleaned and rebuilt with optimization off, reinstalled suidroot, and ran it in gdb:
Breakpoint 1, main (argc=1, argv=0x7fffbcf5c8c8, envp=0x7fffbcf5c8d8) at kismet_client.cc:284
284 globalregistry->version_minor = VERSION_MINOR;
(gdb) n
285 globalregistry->version_tiny = VERSION_TINY;
(gdb) n
Program received signal SIGSEGV, Segmentation fault.
0x00007f89b4b2c39c in std::vector<char, std::allocator<char> >::resize () from /usr/x86_64-pc-linux-gnu/lib/libuClibc++.so.0
(gdb) backtrace
#0 0x00007f89b4b2c39c in std::vector<char, std::allocator<char> >::resize () from /usr/x86_64-pc-linux-gnu/lib/libuClibc++.so.0
#1 0x00007f89b4b29cea in std::string::resize () from /usr/x86_64-pc-linux-gnu/lib/libuClibc++.so.0
#2 0x00007f89b4b2b06c in std::string::operator= () from /usr/x86_64-pc-linux-gnu/lib/libuClibc++.so.0
#3 0x0000000000639002 in main (argc=1, argv=0x7fffbcf5c8c8, envp=0x7fffbcf5c8d8) at kismet_client.cc:285
So it doesn't like the assignment of VERSION_TINY into that global varball. This was the same trouble I had with the previous version -- same line, everything, although IIRC, the faulty address was different. Is this gonna turn out to be a library bug?