View Issue Details

IDProjectCategoryView StatusLast Update
0002839Slicer4Core: Base Codepublic2017-06-07 23:27
Reporterpieper Assigned Topieper  
PrioritynormalSeveritycrashReproducibilityrandom
Status closedResolutionfixed 
Product Version 
Target VersionSlicer 4.3.0Fixed in VersionSlicer 4.3.0 
Summary0002839: random double free errors in Qt
Description

With Qt 4.8.3 on Mac Mountain Lion (10.8.2).

Slicer(29755,0x132783000) malloc: error for object 0x132030ef0: double free
set a breakpoint in malloc_error_break to debug

Steps To Reproduce

Happens different places. Examples described with stack traces.

Additional Information

This stack trace was generated after clicking Ok on a file dialog.

Crashed Thread: 15

Exception Type: EXC_CRASH (SIGABRT)
Exception Codes: 0x0000000000000000, 0x0000000000000000

Application Specific Information:
*** error for object 0x7fee8208cd50: double free

Thread 0:: Dispatch queue: com.apple.main-thread
0 libobjc.A.dylib 0x00007fff88f6cbb0 objc_collectingEnabled + 7
1 com.apple.CoreFoundation 0x00007fff8e5b832e _CFAutoreleasePoolPop + 14
2 com.apple.Foundation 0x00007fff93bd203d -[NSAutoreleasePool release] + 154
3 QtGui 0x00000001167f75e0 QApplication::topLevelAt(QPoint const&) + 768
4 QtGui 0x0000000116867bcc QApplication::widgetAt(QPoint const&) + 26
5 QtGui 0x00000001167f6c41 QApplicationPrivate::leaveModal_sys(QWidget) + 169
6 QtGui 0x0000000116864656 QApplicationPrivate::leaveModal(QWidget
) + 164
7 QtGui 0x00000001168ac513 QWidgetPrivate::hide_helper() + 229
8 QtGui 0x00000001168ab9f6 QWidget::setVisible(bool) + 890
9 QtGui 0x0000000116c999ae QDialog::setVisible(bool) + 582
10 QtGui 0x0000000116c9a413 QDialog::done(int) + 33
11 QtGui 0x0000000116ca2e74 QFileDialog::done(int) + 22
12 QtGui 0x0000000116ca8ef3 QFileDialog::accept() + 1339
13 QtGui 0x0000000116c98b62 QDialog::qt_static_metacall(QObject*, QMetaObject::Call, int, void) + 172
14 QtCore 0x0000000117567851 QMetaObject::activate(QObject, QMetaObject const, int, void
) + 2001
15 QtGui 0x0000000116bdb7ac QDialogButtonBoxPrivate::_q_handleButtonClicked() + 200
16 QtGui 0x0000000116bdb454 QDialogButtonBox::qt_static_metacall(QObject*, QMetaObject::Call, int, void) + 218
17 QtCore 0x0000000117567851 QMetaObject::activate(QObject, QMetaObject const, int, void
) + 2001
18 QtGui 0x0000000116e3c3d1 QAbstractButton::clicked(bool) + 49
19 QtGui 0x0000000116bb046e QAbstractButtonPrivate::emitClicked() + 50
20 QtGui 0x0000000116bb118a QAbstractButtonPrivate::click() + 230
21 QtGui 0x0000000116bb134c QAbstractButton::mouseReleaseEvent(QMouseEvent) + 106
22 QtGui 0x00000001168aa542 QWidget::event(QEvent
) + 284
23 QtGui 0x0000000116bb0436 QAbstractButton::event(QEvent) + 220
24 QtGui 0x0000000116c3d6f2 QPushButton::event(QEvent
) + 168
25 QtGui 0x000000011685f9a8 QApplicationPrivate::notify_helper(QObject, QEvent) + 304
26 QtGui 0x00000001168602f8 QApplication::notify(QObject, QEvent) + 2346
27 QtCore 0x0000000117552a26 QCoreApplication::notifyInternal(QObject, QEvent) + 104
28 QtGui 0x0000000116867f68 QApplicationPrivate::sendMouseEvent(QWidget, QMouseEvent, QWidget, QWidget, QWidget, QPointer<QWidget>&, bool) + 432
29 QtGui 0x00000001168172b1 qt_mac_handleMouseEvent(NSEvent, QEvent::Type, Qt::MouseButton, QWidget, bool) + 993
30 com.apple.AppKit 0x00007fff8a0de6d6 -[NSWindow sendEvent:] + 7053
31 QtGui 0x00000001168074b2 -[QCocoaPanel sendEvent:] + 114
32 com.apple.AppKit 0x00007fff8a0da744 -[NSApplication sendEvent:] + 5761
33 QtGui 0x0000000116812342 -[QNSApplication sendEvent:] + 82
34 com.apple.AppKit 0x00007fff8a24376a -[NSApplication _realDoModalLoop:peek:] + 582
35 com.apple.AppKit 0x00007fff8a243e3e -[NSApplication runModalSession:] + 49
36 QtGui 0x000000011681b50f QEventDispatcherMac::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) + 679
37 QtCore 0x000000011754fe88 QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) + 394
38 QtCore 0x000000011755315b QCoreApplication::exec() + 175
39 0x000000010b54d85b (anonymous namespace)::SlicerAppMain(int, char
) + 4155 (Main.cxx:183)
40 0x000000010b54c812 main + 34 (Main.cxx:215)
41 libdyld.dylib 0x00007fff92bec7e1 start + 1

TagsNo tags attached.

Relationships

related to 0002871 closedpieper crash in error log during multi-threaded imports 

Activities

pieper

pieper

2012-12-21 10:12

administrator   ~0007568

This appears to have been related to some non-thread safe code being used inside a some methods being called from QFuture in ctkDICOMIndexer. Moving that code into the database initialization fixed that problem and the crashes have not happened since.

pieper

pieper

2013-01-16 09:36

administrator   ~0007684

There are still crashes related to this - apparently QSql connections are not usable across threads, so the ctk code will need to be re-worked.

pieper

pieper

2013-05-09 15:57

administrator   ~0008605

This has been fixed by removing the threading in CTK. See 0002871.

Related Changesets

Slicer: 2145-support-for-installing-extension-from-file 20ce2929

2013-01-17 15:03:58

pieper

Details Diff
BUG: avoid hangs/crashes when importing - fixes 0002839, 0002871

See CTK bug 0000292
https://github.com/commontk/CTK/issues/292

Multithreading of the indexing operation removed.

git-svn-id: http://svn.slicer.org/Slicer4/trunk@21609 3bd1e089-480b-0410-8dfb-8563597acbee
mod - SuperBuild/External_CTK.cmake Diff File

Issue History

Date Modified Username Field Change
2012-12-20 13:34 pieper New Issue
2012-12-20 13:34 pieper Status new => assigned
2012-12-20 13:34 pieper Assigned To => pieper
2012-12-21 10:12 pieper Note Added: 0007568
2013-01-16 09:36 pieper Note Added: 0007684
2013-01-17 09:54 pieper Relationship added related to 0002871
2013-05-09 15:57 pieper Note Added: 0008605
2013-05-09 15:57 pieper Status assigned => closed
2013-05-09 15:57 pieper Resolution open => fixed
2013-05-09 15:57 pieper Fixed in Version => Slicer 4.3.0
2014-03-06 06:16 jcfr Target Version => Slicer 4.3.0
2017-06-07 23:27 pieper Changeset attached => Slicer 2145-support-for-installing-extension-from-file 20ce2929