Wireshark-bugs: [Wireshark-bugs] [Bug 12040] Print "Selected packets only" crashes application
Date: Mon, 29 Feb 2016 05:01:23 +0000
Comment # 8
on bug 12040
from Guy Harris
Another one, this time triggered just by selecting "Selected packets only": Exception Type: EXC_BAD_ACCESS (SIGSEGV) Exception Codes: KERN_INVALID_ADDRESS at 0x0000000000000000 VM Regions Near 0: --> __TEXT 0000000105ee5000-000000010656f000 [ 6696K] r-x/rwx SM=COW /Users/USER/* Application Specific Information: Wireshark 2.1.0 (v2.1.0rc0-2149-gf61b5d3 from master) Compiled (64-bit) with Qt 5.5.0, with libpcap, without POSIX capabilities, with libz 1.2.5, with GLib 2.36.0, with SMI 0.4.8, with c-ares 1.10.0, with Lua 5.2, with GnuTLS 2.12.19, with Gcrypt 1.5.0, with MIT Kerberos, with GeoIP, with QtMultimedia, without AirPcap. Running on Mac OS X 10.11.3, build 15D21 (Darwin 15.3.0), with locale C, with libpcap version 1.5.3 - Apple version 54, with libz 1.2.5, with GnuTLS 2.12.19, with Gcrypt 1.5.0. Intel(R) Core(TM) i7-4980HQ CPU @ 2.80GHz (with SSE4.2) Built using clang 4.2.1 Compatible Apple LLVM 7.0.2 (clang-700.1.81). Thread 0 Crashed:: Dispatch queue: com.apple.main-thread 0 org.qt-project.QtCore 0x000000010bc7684f QBuffer::size() const + 15 1 org.qt-project.QtGui 0x000000010c1f4b27 QPicture::play(QPainter*) + 39 2 org.qt-project.QtGui 0x000000010c3cab52 QPainter::drawPicture(QPointF const&, QPicture const&) + 370 3 org.qt-project.QtPrintSupport 0x000000010ce3124a (anonymous namespace)::PageItem::paint(QPainter*, QStyleOptionGraphicsItem const*, QWidget*) + 1002 4 org.qt-project.QtWidgets 0x000000010caa280c _q_paintItem(QGraphicsItem*, QPainter*, QStyleOptionGraphicsItem const*, QWidget*, bool, bool) + 268 5 org.qt-project.QtWidgets 0x000000010caa2b87 _q_paintIntoCache(QPixmap*, QGraphicsItem*, QRegion const&, QTransform const&, QFlags<QPainter::RenderHint>, QStyleOptionGraphicsItem const*, bool) + 519 6 org.qt-project.QtWidgets 0x000000010caa255a QGraphicsScenePrivate::drawItemHelper(QGraphicsItem*, QPainter*, QStyleOptionGraphicsItem const*, QWidget*, bool) + 6410 7 org.qt-project.QtWidgets 0x000000010caa3e0b QGraphicsScenePrivate::draw(QGraphicsItem*, QPainter*, QTransform const*, QTransform const*, QRegion*, QWidget*, double, QTransform const*, bool, bool) + 1531 8 org.qt-project.QtWidgets 0x000000010caa36ec QGraphicsScenePrivate::drawSubtreeRecursive(QGraphicsItem*, QPainter*, QTransform const*, QRegion*, QWidget*, double, QTransform const*) + 2268 9 org.qt-project.QtWidgets 0x000000010caa2dc2 QGraphicsScenePrivate::drawItems(QPainter*, QTransform const*, QRegion*, QWidget*) + 402 10 org.qt-project.QtWidgets 0x000000010cac43b9 QGraphicsView::paintEvent(QPaintEvent*) + 2873 11 org.qt-project.QtWidgets 0x000000010c7b431b QWidget::event(QEvent*) + 2123 12 org.qt-project.QtWidgets 0x000000010c8a73bd QFrame::event(QEvent*) + 45 13 org.qt-project.QtWidgets 0x000000010c92bb0a QAbstractScrollArea::viewportEvent(QEvent*) + 170 14 org.qt-project.QtWidgets 0x000000010cac19a2 QGraphicsView::viewportEvent(QEvent*) + 1730 15 org.qt-project.QtWidgets 0x000000010c92c625 QAbstractScrollAreaFilter::eventFilter(QObject*, QEvent*) + 37 16 org.qt-project.QtCore 0x000000010bd4b4f9 QCoreApplicationPrivate::sendThroughObjectEventFilters(QObject*, QEvent*) + 217 17 org.qt-project.QtWidgets 0x000000010c7756eb QApplicationPrivate::notify_helper(QObject*, QEvent*) + 235 18 org.qt-project.QtWidgets 0x000000010c778ade QApplication::notify(QObject*, QEvent*) + 8318 19 org.qt-project.QtCore 0x000000010bd4b1b3 QCoreApplication::notifyInternal(QObject*, QEvent*) + 115 20 org.qt-project.QtWidgets 0x000000010c7adbc0 QWidgetPrivate::drawWidget(QPaintDevice*, QRegion const&, QPoint const&, int, QPainter*, QWidgetBackingStore*) + 3152 21 org.qt-project.QtWidgets 0x000000010c781eef QWidgetBackingStore::doSync() + 4143 22 org.qt-project.QtWidgets 0x000000010c782293 QWidgetBackingStore::sync() + 499 23 org.qt-project.QtWidgets 0x000000010c7a48ac QWidgetPrivate::syncBackingStore() + 236 24 org.qt-project.QtWidgets 0x000000010c7b45e4 QWidget::event(QEvent*) + 2836 25 org.qt-project.QtWidgets 0x000000010c7756fb QApplicationPrivate::notify_helper(QObject*, QEvent*) + 251 26 org.qt-project.QtWidgets 0x000000010c778ade QApplication::notify(QObject*, QEvent*) + 8318 27 org.qt-project.QtCore 0x000000010bd4be8b QCoreApplicationPrivate::sendPostedEvents(QObject*, int, QThreadData*) + 971 28 org.qt-project.QtWidgets 0x000000010ca8f0c2 QGraphicsScenePrivate::_q_processDirtyItems() + 946 29 org.qt-project.QtWidgets 0x000000010caa6c96 QGraphicsScene::qt_static_metacall(QObject*, QMetaObject::Call, int, void**) + 1222 30 org.qt-project.QtCore 0x000000010bd74753 QObject::event(QEvent*) + 755 31 org.qt-project.QtWidgets 0x000000010ca9b0cb QGraphicsScene::event(QEvent*) + 1451 32 org.qt-project.QtWidgets 0x000000010c7756fb QApplicationPrivate::notify_helper(QObject*, QEvent*) + 251 33 org.qt-project.QtWidgets 0x000000010c778ade QApplication::notify(QObject*, QEvent*) + 8318 34 org.qt-project.QtCore 0x000000010bd4be8b QCoreApplicationPrivate::sendPostedEvents(QObject*, int, QThreadData*) + 971 35 libqcocoa.dylib 0x000000010fd3308e QCocoaEventDispatcherPrivate::processPostedEvents() + 190 36 libqcocoa.dylib 0x000000010fd325cf QCocoaEventDispatcher::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) + 1631 37 wireshark 0x00000001060c8036 update_progress_dlg + 118 (progress_frame.cpp:96) 38 wireshark 0x00000001060c7fb0 delayed_create_progress_dlg + 32 (progress_frame.cpp:74) 39 wireshark 0x0000000105ef57ea process_specified_records + 330 (file.c:2027) 40 wireshark 0x0000000105ef5eaa cf_print_packets + 1146 (file.c:2476) 41 wireshark 0x00000001060c357f PrintDialog::printPackets(QPrinter*, bool) + 639 (print_dialog.cpp:265) 42 org.qt-project.QtCore 0x000000010bd7bb82 QMetaObject::activate(QObject*, int, int, void**) + 2994 43 org.qt-project.QtPrintSupport 0x000000010ce2fb7f QPrintPreviewWidgetPrivate::generatePreview() + 111 44 org.qt-project.QtPrintSupport 0x000000010ce30899 QPrintPreviewWidget::updatePreview() + 25 45 org.qt-project.QtCore 0x000000010bd7bb82 QMetaObject::activate(QObject*, int, int, void**) + 2994 46 wireshark 0x00000001060b4ba4 PacketRangeGroupBox::updateCounts() + 4148 (packet_range_group_box.cpp:278) 47 wireshark 0x0000000106264410 PacketRangeGroupBox::qt_metacall(QMetaObject::Call, int, void**) + 80 (packet_range_group_box.moc.cpp:177) 48 org.qt-project.QtCore 0x000000010bd7baa9 QMetaObject::activate(QObject*, int, int, void**) + 2777 49 org.qt-project.QtWidgets 0x000000010cb08fb0 QAbstractButton::toggled(bool) + 64 50 org.qt-project.QtWidgets 0x000000010c85f2da QAbstractButtonPrivate::emitToggled(bool) + 58 51 org.qt-project.QtWidgets 0x000000010c85e728 QAbstractButton::setChecked(bool) + 296 52 org.qt-project.QtWidgets 0x000000010c85ee5c QAbstractButtonPrivate::click() + 92 53 org.qt-project.QtWidgets 0x000000010c85ff0e QAbstractButton::mouseReleaseEvent(QMouseEvent*) + 270 54 org.qt-project.QtWidgets 0x000000010c7b412c QWidget::event(QEvent*) + 1628 55 org.qt-project.QtWidgets 0x000000010c85fc63 QAbstractButton::event(QEvent*) + 179 56 org.qt-project.QtWidgets 0x000000010c7756fb QApplicationPrivate::notify_helper(QObject*, QEvent*) + 251 57 org.qt-project.QtWidgets 0x000000010c778f2d QApplication::notify(QObject*, QEvent*) + 9421 58 org.qt-project.QtCore 0x000000010bd4b1b3 QCoreApplication::notifyInternal(QObject*, QEvent*) + 115 59 org.qt-project.QtWidgets 0x000000010c77608b QApplicationPrivate::sendMouseEvent(QWidget*, QMouseEvent*, QWidget*, QWidget*, QWidget**, QPointer<QWidget>&, bool) + 987 60 org.qt-project.QtWidgets 0x000000010c7d42d0 QWidgetWindow::handleMouseEvent(QMouseEvent*) + 1200 61 org.qt-project.QtWidgets 0x000000010c7d34df QWidgetWindow::event(QEvent*) + 111 62 org.qt-project.QtWidgets 0x000000010c7756fb QApplicationPrivate::notify_helper(QObject*, QEvent*) + 251 63 org.qt-project.QtWidgets 0x000000010c778ade QApplication::notify(QObject*, QEvent*) + 8318 64 org.qt-project.QtCore 0x000000010bd4b1b3 QCoreApplication::notifyInternal(QObject*, QEvent*) + 115 65 org.qt-project.QtGui 0x000000010c1910c9 QGuiApplicationPrivate::processMouseEvent(QWindowSystemInterfacePrivate::MouseEvent*) + 2185 66 org.qt-project.QtGui 0x000000010c18ff53 QGuiApplicationPrivate::processWindowSystemEvent(QWindowSystemInterfacePrivate::WindowSystemEvent*) + 131 67 org.qt-project.QtGui 0x000000010c17cb4a QWindowSystemInterface::sendWindowSystemEvents(QFlags<QEventLoop::ProcessEventsFlag>) + 346 68 libqcocoa.dylib 0x000000010fd33911 QCocoaEventDispatcherPrivate::postedEventsSourceCallback(void*) + 33 69 com.apple.CoreFoundation 0x00007fff95a705c1 __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE0_PERFORM_FUNCTION__ + 17 70 com.apple.CoreFoundation 0x00007fff95a6241c __CFRunLoopDoSources0 + 556 71 com.apple.CoreFoundation 0x00007fff95a6193f __CFRunLoopRun + 927 72 com.apple.CoreFoundation 0x00007fff95a61338 CFRunLoopRunSpecific + 296 73 com.apple.HIToolbox 0x00007fff86866935 RunCurrentEventLoopInMode + 235 74 com.apple.HIToolbox 0x00007fff86866677 ReceiveNextEventCommon + 184 75 com.apple.HIToolbox 0x00007fff868665af _BlockUntilNextEventMatchingListInModeWithFilter + 71 76 com.apple.AppKit 0x00007fff8dba40ee _DPSNextEvent + 1067 77 com.apple.AppKit 0x00007fff8df70943 -[NSApplication _nextEventMatchingEventMask:untilDate:inMode:dequeue:] + 454 78 com.apple.AppKit 0x00007fff8dd58d22 -[NSApplication _realDoModalLoop:peek:] + 653 79 com.apple.AppKit 0x00007fff8df6fde2 -[NSApplication runModalSession:] + 71 80 libqcocoa.dylib 0x000000010fd3273a QCocoaEventDispatcher::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) + 1994 81 org.qt-project.QtCore 0x000000010bd488cd QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) + 381 82 org.qt-project.QtWidgets 0x000000010c961342 QDialog::exec() + 514 83 wireshark 0x00000001060889ef MainWindow::on_actionFilePrint_triggered() + 79 (main_window_slots.cpp:1873) 84 wireshark 0x0000000106261546 MainWindow::qt_metacall(QMetaObject::Call, int, void**) + 86 (main_window.moc.cpp:1737) 85 org.qt-project.QtCore 0x000000010bd7baa9 QMetaObject::activate(QObject*, int, int, void**) + 2777 86 org.qt-project.QtWidgets 0x000000010c76c7ef QAction::activate(QAction::ActionEvent) + 271 87 org.qt-project.QtWidgets 0x000000010c76ccf5 QAction::qt_static_metacall(QObject*, QMetaObject::Call, int, void**) + 565 88 org.qt-project.QtCore 0x000000010bd7bb82 QMetaObject::activate(QObject*, int, int, void**) + 2994 89 org.qt-project.QtCore 0x000000010bd74753 QObject::event(QEvent*) + 755 90 org.qt-project.QtWidgets 0x000000010c7756fb QApplicationPrivate::notify_helper(QObject*, QEvent*) + 251 91 org.qt-project.QtWidgets 0x000000010c778ade QApplication::notify(QObject*, QEvent*) + 8318 92 org.qt-project.QtCore 0x000000010bd4be8b QCoreApplicationPrivate::sendPostedEvents(QObject*, int, QThreadData*) + 971 93 libqcocoa.dylib 0x000000010fd3308e QCocoaEventDispatcherPrivate::processPostedEvents() + 190 94 libqcocoa.dylib 0x000000010fd33911 QCocoaEventDispatcherPrivate::postedEventsSourceCallback(void*) + 33 95 com.apple.CoreFoundation 0x00007fff95a705c1 __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE0_PERFORM_FUNCTION__ + 17 96 com.apple.CoreFoundation 0x00007fff95a6241c __CFRunLoopDoSources0 + 556 97 com.apple.CoreFoundation 0x00007fff95a6193f __CFRunLoopRun + 927 98 com.apple.CoreFoundation 0x00007fff95a61338 CFRunLoopRunSpecific + 296 99 com.apple.HIToolbox 0x00007fff86866935 RunCurrentEventLoopInMode + 235 100 com.apple.HIToolbox 0x00007fff86866677 ReceiveNextEventCommon + 184 101 com.apple.HIToolbox 0x00007fff868665af _BlockUntilNextEventMatchingListInModeWithFilter + 71 102 com.apple.AppKit 0x00007fff8dba40ee _DPSNextEvent + 1067 103 com.apple.AppKit 0x00007fff8df70943 -[NSApplication _nextEventMatchingEventMask:untilDate:inMode:dequeue:] + 454 104 com.apple.AppKit 0x00007fff8db99fc8 -[NSApplication run] + 682 105 libqcocoa.dylib 0x000000010fd327fd QCocoaEventDispatcher::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) + 2189 106 org.qt-project.QtCore 0x000000010bd488cd QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) + 381 107 org.qt-project.QtCore 0x000000010bd4b78a QCoreApplication::exec() + 346 108 wireshark 0x0000000105efc77f main + 5935 (wireshark-qt.cpp:1444) 109 libdyld.dylib 0x00007fff8aee85ad start + 1 That one's clearly a null-pointer dereference. The fact that, in both of them, it's in a separate event loop that's part of the "progress bar for printing" code, and that it's not always reproducible with the same sequence of input events leads me to suspect that it's timing-dependent and that perhaps there's code that's only expecting to run in one event loop and getting rudely surprised by running on an inner event loop.
You are receiving this mail because:
- You are watching all bug changes.
- Prev by Date: [Wireshark-bugs] [Bug 12040] Print "Selected packets only" crashes application
- Next by Date: [Wireshark-bugs] [Bug 12040] Print "Selected packets only" crashes application
- Previous by thread: [Wireshark-bugs] [Bug 12040] Print "Selected packets only" crashes application
- Next by thread: [Wireshark-bugs] [Bug 12040] Print "Selected packets only" crashes application
- Index(es):