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):