Question to SoulseekQT (Linux)

Hello!

I use SoulseekQT 11/16/2012 in Ubuntu Linux V 12.04, and there seems to be a bug:

When I click in "Downloads" the button "Clear Complete" in the upper row, or in "Uploads" the "Clear Complete and Aborted" the Soulseek program often crashes down. I don't remember that I saw this issue in the older version SoulseekQT 10/16/2012; that should be rather new.

Let me also ask a question:
In SoulseekNS the "Upload Slot" configuration was "overrided", when a user of the user list wanted to download from me. For example, when I have configured "1" in the "Upload Slot", and another user being registered in my user list came to download something, he was automatically privileged and could download additionaly as if there were "2" Upload Slots. Is that different in SoulseekQT or have I forgotten anything to configure?
It doesn't matter which "User Group" I configure to a listed user.
If this feature is not intended in this way in SoulseekQT: Can you add this? It was very handy.

Excuse my bad English! ;-) Soulseek is a great idea, and I love it!

CU
xix

Hi xix,

Regarding the crash, see this thread.

Regarding the upload slots, issue, Soulseek NS has an "Extra userlist upload slots" feature that SoulseekQt does not currently have. You can however change the download priority of a particular group using Users->User List->Configure User Groups to give users in that group a higher download priority.

Thanks, Nir

Hello Nir,

now I tried using the SoulseekQT 11/22/2012 again, and I runned it using "gdb". First it worked all normally, I could remove ready downloads. But after a while I did the same again and then a freeze came up, and the gbd said the following, shown at the bottom line:

Starting program: /home/wuschi/Soulseek/SoulseekQt
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/i386-linux-gnu/libthread_db.so.1".
[New Thread 0xb3fadb40 (LWP 2545)]
[New Thread 0xb35ffb40 (LWP 2546)]
[New Thread 0xb2bffb40 (LWP 2548)]
[New Thread 0xb1eedb40 (LWP 2549)]
[New Thread 0xb16ecb40 (LWP 2551)]
[New Thread 0xb0eebb40 (LWP 2552)]
[Thread 0xb2bffb40 (LWP 2548) exited]
[Thread 0xb0eebb40 (LWP 2552) exited]
[New Thread 0xb0eebb40 (LWP 2686)]
[New Thread 0xb2bffb40 (LWP 2726)]
[Thread 0xb2bffb40 (LWP 2726) exited]
[New Thread 0xb2bffb40 (LWP 2744)]
[Thread 0xb2bffb40 (LWP 2744) exited]
[New Thread 0xb2bffb40 (LWP 2752)]
[Thread 0xb2bffb40 (LWP 2752) exited]
[New Thread 0xb2bffb40 (LWP 2758)]
[Thread 0xb2bffb40 (LWP 2758) exited]
[New Thread 0xb2bffb40 (LWP 2761)]
[Thread 0xb2bffb40 (LWP 2761) exited]
[New Thread 0xb2bffb40 (LWP 2765)]
[Thread 0xb2bffb40 (LWP 2765) exited]
[New Thread 0xb2bffb40 (LWP 2769)]
[Thread 0xb2bffb40 (LWP 2769) exited]
[New Thread 0xb2bffb40 (LWP 2773)]
[Thread 0xb2bffb40 (LWP 2773) exited]
[New Thread 0xb2bffb40 (LWP 2832)]
[Thread 0xb0eebb40 (LWP 2686) exited]
[New Thread 0xb0eebb40 (LWP 2873)]
[Thread 0xb2bffb40 (LWP 2832) exited]
[New Thread 0xb2bffb40 (LWP 2897)]
[New Thread 0xa17f8b40 (LWP 2924)]
[Thread 0xb2bffb40 (LWP 2897) exited]
[New Thread 0xb2bffb40 (LWP 3013)]
[Thread 0xa17f8b40 (LWP 2924) exited]
[Thread 0xb0eebb40 (LWP 2873) exited]
[New Thread 0xb0eebb40 (LWP 3054)]
[Thread 0xb2bffb40 (LWP 3013) exited]
[New Thread 0xb2bffb40 (LWP 3061)]
[Thread 0xb2bffb40 (LWP 3061) exited]
[New Thread 0xb2bffb40 (LWP 3158)]
[Thread 0xb0eebb40 (LWP 3054) exited]
[New Thread 0xb0eebb40 (LWP 3212)]
[Thread 0xb2bffb40 (LWP 3158) exited]
[New Thread 0xb2bffb40 (LWP 3230)]
[Thread 0xb2bffb40 (LWP 3230) exited]
[New Thread 0xb2bffb40 (LWP 3353)]
[Thread 0xb2bffb40 (LWP 3353) exited]
[New Thread 0xb2bffb40 (LWP 3432)]
[Thread 0xb0eebb40 (LWP 3212) exited]
[New Thread 0xb0eebb40 (LWP 3441)]
[Thread 0xb2bffb40 (LWP 3432) exited]
[New Thread 0xb2bffb40 (LWP 3471)]
[New Thread 0xa17f8b40 (LWP 3526)]
[Thread 0xb2bffb40 (LWP 3471) exited]
[New Thread 0xb2bffb40 (LWP 3541)]
[Thread 0xa17f8b40 (LWP 3526) exited]
[New Thread 0xa17f8b40 (LWP 3547)]
[Thread 0xa17f8b40 (LWP 3547) exited]

Program received signal SIGSEGV, Segmentation fault.
0x08dd6640 in ?? ()

Does this report tell you what the matter is/was?

It happened already that this Soulseek version crashed down suddenly without doing anything!

CU,
xix

Did you check the thread I linked you to? This might be related.

Sorry, I didn't read the link more below. There you say, that the guilty part is the QT4 library 4.8.1. Exactly the same I have installed/updated in my Ubuntu 12.04.

Well, I dunno if there is a way in Ubuntu to downgrade to 4.7.4. If not, I can go on using the SoulseekQt 10/16/2012. This didn't crash down until now.

BTW: I use the 32bit version. I think I must hope that there will be another upgrade from 4.8.1 to a newer one, and this will work then better.

I do hope so. I should probably report this bug.

I may have some good news for you, stand by.

Well, turns out it's fixable. See the thread I linked you to for a technical explanation. Or you could just try it out yourself:

http://www.slsknet.org/SoulseekQt/Linux/SoulseekQt-11-26-2012.tgz

Thanks, Nir

now I set up the new SoulseekQt 11/26/2012. First all looked good, I could work normally. But now, when in the "Uploads"-Folder users were ready with their downloads, and I clicked the "Clear Complete and Aborted" the program freezed again. Seems indeed so as if the QTlibrary 4.8.1 is the evildoer (?)

Here is a gdb debug list again, now together with the "bt" report:

GNU gdb (Ubuntu/Linaro 7.4-2012.04-0ubuntu2) 7.4-2012.04
Copyright (C) 2012 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law. Type "show copying"
and "show warranty" for details.
This GDB was configured as "i686-linux-gnu".
For bug reporting instructions, please see:
...
Reading symbols from /home/wuschi/Soulseek/SoulseekQt...done.
(gdb) run
Starting program: /home/wuschi/Soulseek/SoulseekQt
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/i386-linux-gnu/libthread_db.so.1".

Program received signal SIGSEGV, Segmentation fault.
0x00000010 in ?? ()
(gdb) bt
#0 0x00000010 in ?? ()
#1 0xb7be4b80 in QAbstractItemView::updateEditorGeometries() ()
from /usr/lib/i386-linux-gnu/libQtGui.so.4
#2 0xb7bd73eb in ?? () from /usr/lib/i386-linux-gnu/libQtGui.so.4
#3 0xb7c259f7 in QTreeView::rowsRemoved(QModelIndex const&, int, int) ()
from /usr/lib/i386-linux-gnu/libQtGui.so.4
#4 0xb7c2e171 in ?? () from /usr/lib/i386-linux-gnu/libQtGui.so.4
#5 0xb72556b1 in QMetaObject::activate(QObject*, QMetaObject const*, int, void**) () from /usr/lib/i386-linux-gnu/libQtCore.so.4
#6 0xb72a74b5 in QAbstractItemModel::rowsRemoved(QModelIndex const&, int, int)
() from /usr/lib/i386-linux-gnu/libQtCore.so.4
#7 0xb723836e in QAbstractItemModel::endRemoveRows() ()
from /usr/lib/i386-linux-gnu/libQtCore.so.4
#8 0xb7c66496 in QTreeWidgetItem::~QTreeWidgetItem() ()
from /usr/lib/i386-linux-gnu/libQtGui.so.4
#9 0xb7c666d2 in QTreeWidgetItem::~QTreeWidgetItem() ()
from /usr/lib/i386-linux-gnu/libQtGui.so.4
#10 0x081554a1 in TransfersForm::OnUploadEntryRemoved ()
#11 0x081627bb in EventHandler::Handle ()
#12 0x08091c89 in Item::Remove ()
#13 0x0811e657 in TransferQueueManager::RemoveUpload ()
#14 0x08161682 in TransfersForm::OnActionBarTriggered ()
#15 0x0820c673 in TransfersForm::qt_metacall ()
---Type to continue, or q to quit---
#16 0xb7245c9d in QMetaObject::metacall(QObject*, QMetaObject::Call, int, void**) () from /usr/lib/i386-linux-gnu/libQtCore.so.4
#17 0xb72559bd in QMetaObject::activate(QObject*, QMetaObject const*, int, void**) () from /usr/lib/i386-linux-gnu/libQtCore.so.4
#18 0x0820974b in ActionSetToolBar::ActionTriggered ()
#19 0x080d3f86 in ActionSetToolBar::OnActionTriggered ()
#20 0x0820986d in ActionSetToolBar::qt_metacall ()
#21 0xb7245c9d in QMetaObject::metacall(QObject*, QMetaObject::Call, int, void**) () from /usr/lib/i386-linux-gnu/libQtCore.so.4
#22 0xb72559bd in QMetaObject::activate(QObject*, QMetaObject const*, int, void**) () from /usr/lib/i386-linux-gnu/libQtCore.so.4
#23 0xb76209bd in QAction::triggered(bool) ()
from /usr/lib/i386-linux-gnu/libQtGui.so.4
#24 0xb7620c5b in QAction::activate(QAction::ActionEvent) ()
from /usr/lib/i386-linux-gnu/libQtGui.so.4
#25 0xb7b2d410 in QToolButton::nextCheckState() ()
from /usr/lib/i386-linux-gnu/libQtGui.so.4
#26 0xb7a54c57 in ?? () from /usr/lib/i386-linux-gnu/libQtGui.so.4
#27 0xb7a54f56 in QAbstractButton::mouseReleaseEvent(QMouseEvent*) ()
from /usr/lib/i386-linux-gnu/libQtGui.so.4
#28 0xb7b2d4ad in QToolButton::mouseReleaseEvent(QMouseEvent*) ()
from /usr/lib/i386-linux-gnu/libQtGui.so.4
#29 0xb76821ac in QWidget::event(QEvent*) ()
---Type to continue, or q to quit---
from /usr/lib/i386-linux-gnu/libQtGui.so.4
#30 0xb7a541f9 in QAbstractButton::event(QEvent*) ()
from /usr/lib/i386-linux-gnu/libQtGui.so.4
#31 0xb7b2ebdc in QToolButton::event(QEvent*) ()
from /usr/lib/i386-linux-gnu/libQtGui.so.4
#32 0xb7627ed4 in QApplicationPrivate::notify_helper(QObject*, QEvent*) ()
from /usr/lib/i386-linux-gnu/libQtGui.so.4
#33 0xb762e024 in QApplication::notify(QObject*, QEvent*) ()
from /usr/lib/i386-linux-gnu/libQtGui.so.4
#34 0xb723e97e in QCoreApplication::notifyInternal(QObject*, QEvent*) ()
from /usr/lib/i386-linux-gnu/libQtCore.so.4
#35 0xb7628e95 in QApplicationPrivate::sendMouseEvent(QWidget*, QMouseEvent*, QWidget*, QWidget*, QWidget**, QPointer&, bool) ()
from /usr/lib/i386-linux-gnu/libQtGui.so.4
#36 0xb76b5074 in ?? () from /usr/lib/i386-linux-gnu/libQtGui.so.4
#37 0xb76b3c0d in QApplication::x11ProcessEvent(_XEvent*) ()
from /usr/lib/i386-linux-gnu/libQtGui.so.4
#38 0xb76e0eac in ?? () from /usr/lib/i386-linux-gnu/libQtGui.so.4
#39 0xb6cb7d86 in g_main_context_dispatch ()
from /lib/i386-linux-gnu/libglib-2.0.so.0
#40 0xb6cb8125 in ?? () from /lib/i386-linux-gnu/libglib-2.0.so.0
#41 0xb6cb8201 in g_main_context_iteration ()
from /lib/i386-linux-gnu/libglib-2.0.so.0
---Type to continue, or q to quit---
#42 0xb7271887 in QEventDispatcherGlib::processEvents(QFlags) () from /usr/lib/i386-linux-gnu/libQtCore.so.4
#43 0xb76e0aaa in ?? () from /usr/lib/i386-linux-gnu/libQtGui.so.4
#44 0xb723d50d in QEventLoop::processEvents(QFlags) () from /usr/lib/i386-linux-gnu/libQtCore.so.4
#45 0xb723d7a9 in QEventLoop::exec(QFlags) ()
from /usr/lib/i386-linux-gnu/libQtCore.so.4
#46 0xb7242eba in QCoreApplication::exec() ()
from /usr/lib/i386-linux-gnu/libQtCore.so.4
#47 0xb7625a74 in QApplication::exec() ()
from /usr/lib/i386-linux-gnu/libQtGui.so.4
#48 0x0805c185 in main ()
(gdb) quit
A debugging session is active.

Inferior 1 [process 15457] will be killed.

Quit anyway? (y or n) y

Thank you, xix

Let me add a note: I assume that these described freezes or crashes happen especially when there are many completed or aborted entries in the Upload/Download window.

Yeah, I see where this is happening. These are very similar bugs to the original one. Give me a few and I'll link you to another build.

http://www.slsknet.org/SoulseekQt/Linux/SoulseekQt-11-27-2012.tgz

Let me know how it works for you!

Thanks, Nir

Hello Nir,

I think I can tell you a god message!

After updating to SoulseekQt 11/27/2012 I watched no more problems. The "Clear Completed and Aborted" in "Upload" and the "Clear Complete" in the Download window did no longer crach down or freeze this day

I thank you a lot!
xix

Thanks xix! I can go ahead and make another release then.