Opened 13 years ago

Closed 12 years ago

Last modified 12 years ago

#2298 closed Bug (fixed)

qtr client crashes when expired torrent is removed

Reported by: Lacrocivious Owned by: charles
Priority: Normal Milestone: 1.76
Component: Qt Client Version: 1.73
Severity: Normal Keywords:
Cc:

Description

With qtr client running as front end to transmission-daemon, and apparently only after runtime exceeds about 24 hours, removing an expired torrent (displayed in red) sometimes causes the client to crash with only 'Segmentation fault' reported in terminal.

This behavior noted most currently with r8848, but has been observed throughout qtr development to date. Frequency of occurrence subjectively appears to have increased since 1.73 at r8836.

There is no 'damage' to running torrents, no verification passes are reinitiated upon restart, and qtr remembers both the removal that crashed it, and the correct state of all torrents loaded at time of crash. Transmission-daemon continues to run unaffected.

Here are two examples taken from /var/log/messages:

Jul 23 08:47:57 hostname kernel: qtr[18224]: segfault at 4c ip 040b043c sp bfa2c8d0 error 4 in libQtCore.so.4.5.2[3f50000+232000]

Jul 25 09:37:17 hostname kernel: qtr[801]: segfault at 4c ip 040b043c sp bff782d0 error 4 in libQtCore.so.4.5.2[3f50000+232000]

Fedora 10, Transmission built from fresh svn checkout. Test-Updates repositories are enabled for Fedora 10, and both RPM Fusion Free and Nonfree.

# uname -a Linux hostname.cos.lan 2.6.29.6-93.fc10.i686.PAE #1 SMP Mon Jul 6 19:35:14 EDT 2009 i686 athlon i386 GNU/Linux

Change History (4)

comment:1 Changed 13 years ago by charles

could you please run the Qt client in valgrind (such as via the qt/my-valgrind.sh script) and pastebin a crash log?

comment:2 Changed 12 years ago by charles

  • Milestone changed from None Set to 1.80
  • Status changed from new to assigned

This finally happened for me too:

#8  QVariant::toInt (val=<value optimized out>, ok=<value optimized out>, handler=<value optimized out>, t=<value optimized out>, 
    d=<value optimized out>) at kernel/qvariant.cpp:2343
#9  0x00000000004775f1 in Torrent::getInt (this=0x0, i=5) at torrent.cc:270
#10 0x000000000042f131 in Torrent::getActivity (this=0x0) at torrent.h:271
#11 0x000000000042f14c in Torrent::isPaused (this=0x0) at torrent.h:272
#12 0x0000000000445396 in TrMainWindow::refreshActionSensitivity (this=0x22e2af0) at mainwin.cc:746
#13 0x000000000043fb5a in TrMainWindow::onModelReset (this=0x22e2af0) at mainwin.cc:317
#14 0x00000000004895c9 in TrMainWindow::qt_metacall (this=0x22e2af0, _c=QMetaObject::InvokeMetaMethod, _id=33, _a=0x7fffed244ab0)
    at moc_mainwin.cpp:197
#15 0x0000003df15547dc in QMetaObject::activate (sender=0x22e5270, from_signal_index=<value optimized out>, to_signal_index=<value optimized out>, 
    argv=0x0) at kernel/qobject.cpp:3113
#16 0x0000003df1589b24 in QAbstractItemModel::rowsRemoved (this=0x60, _t1=<value optimized out>, _t2=807, _t3=807)
    at .moc/release-shared/moc_qabstractitemmodel.cpp:173
#17 0x0000003df1539f00 in QAbstractItemModel::endRemoveRows (this=0x22e5270) at kernel/qabstractitemmodel.cpp:2131
#18 0x0000000000480af5 in TorrentModel::removeTorrent (this=0x22e5270, id=808) at torrent-model.cc:212
#19 0x000000000048087a in TorrentModel::updateTorrents (this=0x22e5270, torrents=0x263a150, isCompleteList=true) at torrent-model.cc:196

comment:3 Changed 12 years ago by charles

  • Keywords backport added; qt client qtr crash remove removed
  • Resolution set to fixed
  • Status changed from assigned to closed

fixed in trunk by r9261 for 1.80

comment:4 Changed 12 years ago by charles

  • Keywords backport removed
  • Milestone changed from 1.80 to 1.76

backported to 1.7x branch for 1.76 by r9363

Note: See TracTickets for help on using tickets.