qBT crashes on startup [v2.1.1]

Bug #511441 reported by 0xdb
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
qBittorrent
Fix Released
Medium
Christophe Dumez

Bug Description

db@mysrv:~$ qbittorrent
Peer ID: -qB2110-
HTTP user agent is qBittorrent v2.1.1

*************************************************************
Catching SIGSEGV, please report a bug at http://bug.qbittorrent.org
and provide the following backtrace:
stack trace:
  [0xb7fd7400]
  qbittorrent : FeedList::getItemType(QTreeWidgetItem*) const+0x1e [0x81f03be]
  qbittorrent : FeedList::qt_metacall(QMetaObject::Call, int, void**)+0xc0 [0x81f00a0]
  /usr/lib/libQtCore.so.4 : QMetaObject::activate(QObject*, int, int, void**)+0x200 [0xb71b3bd0]
  /usr/lib/libQtCore.so.4 : QMetaObject::activate(QObject*, QMetaObject const*, int, void**)+0x52 [0xb71b4952]
  /usr/lib/libQtGui.so.4 : QTreeWidget::currentItemChanged(QTreeWidgetItem*, QTreeWidgetItem*)+0x49 [0xb79f57d9]
  /usr/lib/libQtGui.so.4 [0xb79fe635]
  /usr/lib/libQtGui.so.4 : QTreeWidget::qt_metacall(QMetaObject::Call, int, void**)+0x299 [0xb7a02369]
  qbittorrent : FeedList::qt_metacall(QMetaObject::Call, int, void**)+0x2f [0x81f000f]
  /usr/lib/libQtCore.so.4 : QMetaObject::activate(QObject*, int, int, void**)+0x200 [0xb71b3bd0]
  /usr/lib/libQtCore.so.4 : QMetaObject::activate(QObject*, QMetaObject const*, int, void**)+0x52 [0xb71b4952]
  /usr/lib/libQtGui.so.4 : QItemSelectionModel::currentChanged(QModelIndex const&, QModelIndex const&)+0x49 [0xb79d2b99]
  /usr/lib/libQtGui.so.4 : QItemSelectionModel::setCurrentIndex(QModelIndex const&, QFlags<QItemSelectionModel::SelectionFlag>)+0x8d [0xb79d2d3d]
  /usr/lib/libQtGui.so.4 : QAbstractItemView::setCurrentIndex(QModelIndex const&)+0x76 [0xb7985426]
  /usr/lib/libQtGui.so.4 : QTreeWidget::setCurrentItem(QTreeWidgetItem*, int)+0x69 [0xb79ffcd9]
  /usr/lib/libQtGui.so.4 : QTreeWidget::setCurrentItem(QTreeWidgetItem*)+0x2c [0xb79ffd1c]
  qbittorrent : FeedList::FeedList(QWidget*, RssManager*)+0x442 [0x818d682]
  qbittorrent : RSSImp::RSSImp(Bittorrent*)+0x8d [0x81842dd]
  qbittorrent : GUI::displayRSSTab(bool)+0x69 [0x8110179]
  qbittorrent : GUI::loadPreferences(bool)+0xc83 [0x8118a03]
  qbittorrent : GUI::GUI(QWidget*, QStringList)+0xee7 [0x811a527]
  qbittorrent : main()+0x13f7 [0x80974e7]
  /lib/i686/cmov/libc.so.6 : __libc_start_main()+0xe5 [0xb6df2455]
  qbittorrent : QCleanlooksStyle::drawPrimitive(QStyle::PrimitiveElement, QStyleOption const*, QPainter*, QWidget const*) const+0x25d [0x8095751]
Aborted

enclosed you will find configure output:

mysrv:~/build/qbittorrent-2.1.1# ./configure --prefix=/usr
Configuring qbittorrent ...
Verifying Qt 4 build environment ... ok
Checking for Qt >= 4.4 ... yes
Checking for pkg-config executable ... yes
Checking for libtorrent-rasterbar >= 0.14.4 ...
Warning: libtorrent-rasterbar v0.14.8 was detected. Some feature will be disabled because they require v0.15.0.
 yes
Checking for libboost ... yes
Checking for libnotify >= 0.4.2 (optional) ... no
Checking for GeoIP Database (optional) ... yes

Good, your configure finished. Now run /usr/bin/make.

Tags: 2.1.1 crash
0xdb (belov-gmx)
tags: added: 2.1.1
tags: added: crash
Revision history for this message
Christophe Dumez (hydr0g3n) wrote :

Since you compiled manually, could you please enable debug?
Switch to "DEBUG=1" in src/src.pro
then recompile:
./configure --prefix=/usr && make clean && make && sudo make install

Then, you can get a better backtrace using gdb:
$ gdb qbittorrent
> run
... Wait for it to crash ...
> bt 25
... This will print a backtrace with line numbers that is very useful to me ...

Thanks in advance.

Revision history for this message
0xdb (belov-gmx) wrote :

qBT runs with debug mode enabled (no crash on startup).

(gdb) run
Starting program: /usr/bin/qbittorrent
[Thread debugging using libthread_db enabled]
[New Thread 0xb67866c0 (LWP 25364)]
en_GB locale recognized, using translation.
[New Thread 0xb643bb90 (LWP 25374)]
[New Thread 0xb5c3ab90 (LWP 25375)]
Peer ID: -qB2110-
Configuring session
LISTEN PORT: 0
Setting a global download rate limit at -1
set upload_limit to 50.000000kb/s
Loading country resolution settings
in country reoslution settings
Loading geoip database
Loading GeoIP database from /usr/share/GeoIP/GeoIP.dat...
Enabling UPnP
Enabling NAT-PMP
HTTP user agent is qBittorrent v2.1.1
Set session settings
[New Thread 0xb5439b90 (LWP 25376)]
DHT enabled
Enabling LSD
Applying encryption settings
Disabling IPFilter
Set Peer Proxy settings
HTTP Communications proxy type: -1
Disabling HTTP communications proxy
Session configured
* BTSession constructed
...
-----------------> Ok, qBT runs

But it crashes permanently on exit now:
-----------------> Exit in GUI
GUI destruction
Bittorrent session async deletion IN
DHT entry saved
Saving session state to disk...
Bittorrent session async deletion OUT
Sizes: 2
Saving columns width in transfer list
Download list columns width saved
Deleting RSSImp...

Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread 0xb67866c0 (LWP 25364)]
0xb6d5a7e2 in free () from /lib/i686/cmov/libc.so.6
(gdb)
(gdb) bt 25
#0 0xb6d5a7e2 in free () from /lib/i686/cmov/libc.so.6
#1 0xb6fb7d9d in qFree () from /usr/lib/libQtCore.so.4
#2 0xb70c3c47 in QObject::~QObject () from /usr/lib/libQtCore.so.4
#3 0xb70a3b8e in QAbstractItemModel::~QAbstractItemModel () from /usr/lib/libQtCore.so.4
#4 0xb7905d2f in ?? () from /usr/lib/libQtGui.so.4
#5 0xb70bb26f in QObjectPrivate::deleteChildren () from /usr/lib/libQtCore.so.4
#6 0xb7425788 in QWidget::~QWidget () from /usr/lib/libQtGui.so.4
#7 0xb7757fb1 in QFrame::~QFrame () from /usr/lib/libQtGui.so.4
#8 0xb77ee53d in QAbstractScrollArea::~QAbstractScrollArea () from /usr/lib/libQtGui.so.4
#9 0xb788cd51 in QAbstractItemView::~QAbstractItemView () from /usr/lib/libQtGui.so.4
#10 0xb78c70d1 in QTreeView::~QTreeView () from /usr/lib/libQtGui.so.4
#11 0xb7903ef1 in QTreeWidget::~QTreeWidget () from /usr/lib/libQtGui.so.4
#12 0x0827347a in ~FeedList (this=0x8f31190) at feedList.h:41
#13 0x081ef808 in ~RSSImp (this=0x8f06d90) at rss_imp.cpp:619
#14 0x08173e0b in ~GUI (this=0x8df5cf8) at GUI.cpp:223
#15 0x080e5e57 in main (argc=1, argv=0xbf8af404) at main.cpp:340

Revision history for this message
Christophe Dumez (hydr0g3n) wrote :

Strange. Could you try this patch?

Revision history for this message
0xdb (belov-gmx) wrote :

Well, I tested with patch applied.
It don't fix the problem.

Revision history for this message
Christophe Dumez (hydr0g3n) wrote :

Ok... But is the backtrace the same?

Revision history for this message
0xdb (belov-gmx) wrote :

Yes, the backtraces are exactly the same as above.

Revision history for this message
Christophe Dumez (hydr0g3n) wrote :

What exact version of Qt are you using? Qt crashes on the deletion of a Qt object...
I don't understand what the issue could be on my side.

Revision history for this message
0xdb (belov-gmx) wrote :

debian lenny with QT v.4.4.3-1.

Revision history for this message
Christophe Dumez (hydr0g3n) wrote :

Ah... A Lenny user :) Qt 4.4 should work without problems though.

Could you please install libqt4-dbg package and get the backtrace again with gdb? This way I'll get the line numbers in Qt4 code too and it should help me understand why it crashes.

Revision history for this message
Christophe Dumez (hydr0g3n) wrote :

I committing a fix regarding your first backtrace (crash) to SVN. It will be in today's update. Please reopen the bug if you still experience issues with the new package.

Changed in qbittorrent:
assignee: nobody → Christophe Dumez (hydr0g3n)
importance: Undecided → Medium
milestone: none → 2.1.2
status: New → Fix Committed
Changed in qbittorrent:
status: Fix Committed → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.