Crash on expanding/collapsing in 'uploads' on Linux.

keirh_uk's picture
Just switched to linux and tried SoulseekQT, great so far! But in 'uploads' if I collapse/expand the trees it crashes after a while (not every time, far from it, but eventually). I'm on Fedora 16.
Your rating: None
No votes yet


nineinchnick's picture

I confirm this, using current x86_64 Arch Linux and 2/1/2012 build. SoulseekQT segfaults after expanding a folder.

nineinchnick's picture

Happens everytime on 3rd action, collapsing or expanding a folder or a user.

Here's my backtrace:

#0 0x00000000 in ?? ()
#1 0xf7bd2c4e in QAbstractItemView::updateEditorGeometries() () from /usr/lib32/
#2 0xf7bc2655 in QAbstractItemView::updateGeometries() () from /usr/lib32/
#3 0xf7c11187 in QTreeView::updateGeometries() () from /usr/lib32/
#4 0xf7c1b22d in QTreeViewPrivate::expandOrCollapseItemAtPos(QPoint const&) () from /usr/lib32/
#5 0xf7c1b3d8 in QTreeView::mousePressEvent(QMouseEvent*) () from /usr/lib32/
#6 0xf768f50b in QWidget::event(QEvent*) () from /usr/lib32/
#7 0xf7a8d0d5 in QFrame::event(QEvent*) () from /usr/lib32/
#8 0xf7b20601 in QAbstractScrollArea::viewportEvent(QEvent*) () from /usr/lib32/
#9 0xf7bc6c4c in QAbstractItemView::viewportEvent(QEvent*) () from /usr/lib32/
#10 0xf7c14f96 in QTreeView::viewportEvent(QEvent*) () from /usr/lib32/
#11 0xf7b22d26 in ?? () from /usr/lib32/
#12 0xf72574b6 in QCoreApplicationPrivate::sendThroughObjectEventFilters(QObject*, QEvent*) () from /usr/lib32/
#13 0xf7633cd2 in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /usr/lib32/
#14 0xf763a475 in QApplication::notify(QObject*, QEvent*) () from /usr/lib32/
#15 0xf725731e in QCoreApplication::notifyInternal(QObject*, QEvent*) () from /usr/lib32/
#16 0xf7634cc5 in QApplicationPrivate::sendMouseEvent(QWidget*, QMouseEvent*, QWidget*, QWidget*, QWidget**, QPointer<QWidget>&, bool) ()
from /usr/lib32/
#17 0xf76befc4 in ?? () from /usr/lib32/
#18 0xf76bdfa6 in QApplication::x11ProcessEvent(_XEvent*) () from /usr/lib32/
#19 0xf76e8f8c in ?? () from /usr/lib32/
#20 0xf6d1c3df in g_main_context_dispatch () from /usr/lib32/
#21 0xf6d1cb10 in ?? () from /usr/lib32/
#22 0xf6d1cd9a in g_main_context_iteration () from /usr/lib32/
#23 0xf728c027 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib32/
#24 0xf76e8b8a in ?? () from /usr/lib32/
#25 0xf7255ead in QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib32/
#26 0xf7256149 in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib32/
#27 0xf725b37a in QCoreApplication::exec() () from /usr/lib32/
#28 0xf7631c54 in QApplication::exec() () from /usr/lib32/
#29 0x080583cb in main ()

I haven't had any luck trying to reproduce this problem on Linux. Also, as is apparent from your crash report (thanks for posting it!) the crash doesn't actually occur anywhere near SoulseekQt code but in the Qt library itself. I would suggest trying to upgrade your Qt installation and seeing if it makes a difference. I'll keep on trying to reproduce the crash in the meantime.

Thanks, Nir

nineinchnick's picture

There are some debug symbols missing, look at the first item in stack.
I'm on ArchLinux, that means I've got bleeding edge versions (but stable releases) of everything.
I'd be happy to run a build with debug symbols compiled in.

BTW since we're already talking about lists, the user and folder column takes a lot of space, can't they be displayed in rows between file lists, only with some indentation?

The Linux versions are compiled with debug symbols for function names. The first entry in the stack looks like an invalid frame. There isn't much I can do about this unless I can reproduce the problem, but I'll keep toying around with it, see if it gets me anywhere.

I'm not sure what you mean regarding the user and folder columns, but the best way to make suggestions is submit them as feature requests via the 'Add Content' link. This way users can discuss them and vote on them.

Thanks, Nir

I've managed to reproduce the crash on Windows! Definitely something weird going on. Looking into it.

Alright, this is definitely an issue with Qt 4.8.0. It happens without fail if I compile against it on Windows after every Collapse Folders/Expand/Collapse. I tried compiling against 4.7.4 again and the problem went away. I recommend downgrading on your end as well to see if the problem persists.