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
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.