Crash

Hi Nir,

This is just another report to tell you that the client is actually crashing. Happened to me once earlier, and now I've been running it under GDB to give you something more useful.
KUbuntu 11.4, latest nightly build (9.26). My Qt version number is 4.7.1 (1.1.2-1 for the whole Qt SDK)

This is what I could get from GDB for you, but if you tell me what else I should include, I'm happy to do it. i'm not quite sure, do you compile the Linux build using GCC with the debug option enabled?
I'm trying to figure out how to run Slsk under Valgrind, maybe that could help more.

Cheers,
Adam

Program received signal SIGSEGV, Segmentation fault.
0x0999b4b0 in ?? ()
(gdb) backtrace
#0 0x0999b4b0 in ?? ()
#1 0x0815b405 in PeerMessenger::qt_metacall(QMetaObject::Call, int, void**) ()
#2 0xf72d76ba in QMetaObject::metacall(QObject*, QMetaObject::Call, int, void**) () from /usr/lib32/libQtCore.so.4
#3 0xf72e74ff in QMetaObject::activate(QObject*, QMetaObject const*, int, void**) () from /usr/lib32/libQtCore.so.4
#4 0xf73342f7 in QTimer::timeout() () from /usr/lib32/libQtCore.so.4
#5 0xf72ed3ee in QTimer::timerEvent(QTimerEvent*) () from /usr/lib32/libQtCore.so.4
#6 0xf72e6214 in QObject::event(QEvent*) () from /usr/lib32/libQtCore.so.4
#7 0xf7665d24 in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /usr/lib32/libQtGui.so.4
#8 0xf766a8ce in QApplication::notify(QObject*, QEvent*) () from /usr/lib32/libQtGui.so.4
#9 0xf72d10bb in QCoreApplication::notifyInternal(QObject*, QEvent*) () from /usr/lib32/libQtCore.so.4
#10 0xf73011e4 in ?? () from /usr/lib32/libQtCore.so.4
#11 0xf72fddf4 in ?? () from /usr/lib32/libQtCore.so.4
#12 0xf6de5aa8 in g_main_context_dispatch () from /lib32/libglib-2.0.so.0
#13 0xf6de6270 in ?? () from /lib32/libglib-2.0.so.0
#14 0xf6de6524 in g_main_context_iteration () from /lib32/libglib-2.0.so.0
#15 0xf72fe53c in QEventDispatcherGlib::processEvents(QFlags) () from /usr/lib32/libQtCore.so.4
#16 0xf7719775 in ?? () from /usr/lib32/libQtGui.so.4
#17 0xf72d0289 in QEventLoop::processEvents(QFlags) () from /usr/lib32/libQtCore.so.4
#18 0xf72d0522 in QEventLoop::exec(QFlags) () from /usr/lib32/libQtCore.so.4
#19 0xf72d4ecc in QCoreApplication::exec() () from /usr/lib32/libQtCore.so.4
#20 0xf76638e7 in QApplication::exec() () from /usr/lib32/libQtGui.so.4
#21 0x08056256 in main ()

(gdb) thread apply all backtrace

Thread 269 (Thread 0xf2348b70 (LWP 11964)):
#0 0xf7fdf430 in __kernel_vsyscall ()
#1 0xf6fa0f11 in select () at ../sysdeps/unix/syscall-template.S:82
#2 0xf72fb26e in qt_safe_select(int, fd_set*, fd_set*, fd_set*, timeval const*) () from /usr/lib32/libQtCore.so.4
#3 0xf74c2225 in ?? () from /usr/lib32/libQtNetwork.so.4
#4 0xf74a9012 in ?? () from /usr/lib32/libQtNetwork.so.4
#5 0xf74bb477 in QAbstractSocket::waitForBytesWritten(int) () from /usr/lib32/libQtNetwork.so.4
#6 0x080e287b in UploadThread::PerformUpload() ()
#7 0x080e2c27 in UploadThread::run() ()
#8 0xf71dcda2 in ?? () from /usr/lib32/libQtCore.so.4
#9 0xf7168e72 in start_thread (arg=0xf2348b70) at pthread_create.c:304
#10 0xf6fa7d0e in clone () at ../sysdeps/unix/sysv/linux/i386/clone.S:130

Thread 2 (Thread 0xf66b8b70 (LWP 8831)):
#0 0xf7fdf430 in __kernel_vsyscall ()
#1 0xf6f99cb6 in __poll (fds=0x8441618, nfds=1, timeout=-1) at ../sysdeps/unix/sysv/linux/poll.c:87
#2 0xf6df684b in g_poll () from /lib32/libglib-2.0.so.0
#3 0xf6de61af in ?? () from /lib32/libglib-2.0.so.0
#4 0xf6de6524 in g_main_context_iteration () from /lib32/libglib-2.0.so.0
#5 0xf72fe53c in QEventDispatcherGlib::processEvents(QFlags) () from /usr/lib32/libQtCore.so.4
#6 0xf72d0289 in QEventLoop::processEvents(QFlags) () from /usr/lib32/libQtCore.so.4
#7 0xf72d0522 in QEventLoop::exec(QFlags) () from /usr/lib32/libQtCore.so.4
#8 0xf71da2a0 in QThread::exec() () from /usr/lib32/libQtCore.so.4
#9 0xf71da33d in QThread::run() () from /usr/lib32/libQtCore.so.4
#10 0xf71dcda2 in ?? () from /usr/lib32/libQtCore.so.4
#11 0xf7168e72 in start_thread (arg=0xf66b8b70) at pthread_create.c:304
#12 0xf6fa7d0e in clone () at ../sysdeps/unix/sysv/linux/i386/clone.S:130

Thread 1 (Thread 0xf6a55710 (LWP 8828)):
#0 0x0999b4b0 in ?? ()
#1 0x0815b405 in PeerMessenger::qt_metacall(QMetaObject::Call, int, void**) ()
#2 0xf72d76ba in QMetaObject::metacall(QObject*, QMetaObject::Call, int, void**) () from /usr/lib32/libQtCore.so.4
#3 0xf72e74ff in QMetaObject::activate(QObject*, QMetaObject const*, int, void**) () from /usr/lib32/libQtCore.so.4
#4 0xf73342f7 in QTimer::timeout() () from /usr/lib32/libQtCore.so.4
#5 0xf72ed3ee in QTimer::timerEvent(QTimerEvent*) () from /usr/lib32/libQtCore.so.4
#6 0xf72e6214 in QObject::event(QEvent*) () from /usr/lib32/libQtCore.so.4
#7 0xf7665d24 in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /usr/lib32/libQtGui.so.4
#8 0xf766a8ce in QApplication::notify(QObject*, QEvent*) () from /usr/lib32/libQtGui.so.4
#9 0xf72d10bb in QCoreApplication::notifyInternal(QObject*, QEvent*) () from /usr/lib32/libQtCore.so.4
#10 0xf73011e4 in ?? () from /usr/lib32/libQtCore.so.4
#11 0xf72fddf4 in ?? () from /usr/lib32/libQtCore.so.4
#12 0xf6de5aa8 in g_main_context_dispatch () from /lib32/libglib-2.0.so.0
#13 0xf6de6270 in ?? () from /lib32/libglib-2.0.so.0
#14 0xf6de6524 in g_main_context_iteration () from /lib32/libglib-2.0.so.0
#15 0xf72fe53c in QEventDispatcherGlib::processEvents(QFlags) () from /usr/lib32/libQtCore.so.4
#16 0xf7719775 in ?? () from /usr/lib32/libQtGui.so.4
#17 0xf72d0289 in QEventLoop::processEvents(QFlags) () from /usr/lib32/libQtCore.so.4
#18 0xf72d0522 in QEventLoop::exec(QFlags) () from /usr/lib32/libQtCore.so.4
#19 0xf72d4ecc in QCoreApplication::exec() () from /usr/lib32/libQtCore.so.4
#20 0xf76638e7 in QApplication::exec() () from /usr/lib32/libQtGui.so.4
---Type to continue, or q to quit---
#21 0x08056256 in main ()
(gdb)

Hi Adam, try this version instead: SoulseekQt-debug-symbols.gz. It only has minimal debugging information (-g1) but should hopefully be enough to give us a better stack trace.

Thanks, Nir

Oh, it might also be useful if you could capture all console output produced by SoulseekQt before a crash (not sure if it's using standard output or the error stream). Often Qt will produce warning messages when it's being used incorrectly, which might have something to do with the crash.

Thanks, I'll start using the debug version tonight. It'll take some time to get a crash again, usually it happens after several hours of usage.

There was no console output during the last crash.