Bug 313562

Summary: crash when saving attachments
Product: [Applications] kmail2 Reporter: Till Adam <adam>
Component: generalAssignee: kdepim bugs <kdepim-bugs>
Status: RESOLVED UNMAINTAINED    
Severity: crash CC: montel
Priority: NOR    
Version: Git (master)   
Target Milestone: ---   
Platform: Compiled Sources   
OS: macOS   
Latest Commit: Version Fixed In:
Sentry Crash Report:

Description Till Adam 2013-01-20 14:30:47 UTC
Attempting to save attachments reliably crashes kmail on OSX.

Reproducible: Always
Comment 1 Laurent Montel 2013-01-20 16:40:33 UTC
Backtrace ?
Comment 2 Jekyll Wu 2013-01-20 21:04:01 UTC
set status correctly
Comment 3 Till Adam 2013-01-21 19:27:05 UTC
#0  0x00007fff8c45ace2 in __pthread_kill ()
#1  0x00007fff8c91e7d2 in pthread_kill ()
#2  0x00007fff8c90fa7a in abort ()
#3  0x000000010954fe79 in qt_message_output (msgType=QtFatalMsg, buf=0x11b6b3308 "ASSERT: \"!HIShapeIsEmpty(shape)\" in file painting/qpaintengine_mac.cpp, line 393") at qglobal.cpp:2266
#4  0x0000000109550163 in qt_message (msgType=QtFatalMsg, msg=0x1098a8f00 "ASSERT: \"%s\" in file %s, line %d", ap=0x7fff5fbe6bb0) at qglobal.cpp:2312
#5  0x0000000109550484 in qFatal (msg=0x1098a8f00 "ASSERT: \"%s\" in file %s, line %d") at qglobal.cpp:2495
#6  0x000000010955076e in qt_assert (assertion=0x10803d95b "!HIShapeIsEmpty(shape)", file=0x10803d728 "painting/qpaintengine_mac.cpp", line=393) at qglobal.cpp:2013
#7  0x00000001074e7d6b in qt_mac_clip_cg (hd=0x1208d4bd0, rgn=@0x119a67d48, orig_xform=0x0) at qpaintengine_mac.cpp:393
#8  0x00000001074e820e in QCoreGraphicsPaintEnginePrivate::setClip (this=0x119a67c90, rgn=0x119a67d48) at qpaintengine_mac.cpp:1621
#9  0x00000001074e85c5 in QCoreGraphicsPaintEngine::updateClipRegion (this=0x119a7bbb0, clipRegion=@0x7fff5fbe7110, op=Qt::ReplaceClip) at qpaintengine_mac.cpp:825
#10 0x00000001074e53bf in QCoreGraphicsPaintEngine::updateState (this=0x119a7bbb0, state=@0x11d407748) at qpaintengine_mac.cpp:655
#11 0x00000001073934ba in QPainterPrivate::updateStateImpl (this=0x121c1a8e0, newState=0x11d407740) at qpainter.cpp:921
#12 0x00000001073937b9 in QPainterPrivate::updateState (this=0x121c1a8e0, newState=0x11d407740) at qpainter.cpp:949
#13 0x00000001073944ff in QPainter::setClipRect (this=0x7fff5fbf52e8, rect=@0x7fff5fbe7770, op=Qt::ReplaceClip) at qpainter.cpp:2873
#14 0x0000000107394ba8 in QPainter::setClipRect (this=0x7fff5fbf52e8, rect=@0x7fff5fbea448, op=Qt::IntersectClip) at qpainter.cpp:2820
#15 0x000000010739b422 in qt_format_text (fnt=@0x11d4731b0, _r=@0x7fff5fbea7b8, tf=134252689, option=0x0, str=@0x7fff5fbef8c0, brect=0x0, tabstops=0, ta=0x0, tabarraylen=0, painter=0x7fff5fbf52e8) at qpainter.cpp:8267
#16 0x000000010739c2f7 in QPainter::drawText (this=0x7fff5fbf52e8, r=@0x7fff5fbec3b0, flags=34945, str=@0x7fff5fbef8c0, br=0x0) at qpainter.cpp:6199
#17 0x00000001076b2146 in QStyle::drawItemText (this=0x10d243dd0, painter=0x7fff5fbf52e8, rect=@0x7fff5fbec3b0, alignment=34945, pal=@0x7fff5fbef8a8, enabled=true, text=@0x7fff5fbef8c0, textRole=QPalette::ButtonText) at qstyle.cpp:540
#18 0x0000000107089052 in QMacStyle::drawItemText (this=0x10d243dd0, p=0x7fff5fbf52e8, r=@0x7fff5fbec3b0, flags=34945, pal=@0x7fff5fbef8a8, enabled=true, text=@0x7fff5fbef8c0, textRole=QPalette::ButtonText) at qmacstyle_mac.mm:5990
#19 0x0000000107097186 in QMacStyle::drawControl (this=0x10d243dd0, ce=QStyle::CE_PushButtonLabel, opt=0x7fff5fbef880, p=0x7fff5fbf52e8, w=0x11dee8150) at qmacstyle_mac.mm:3527
#20 0x00000001077076a5 in QCommonStyle::drawControl (this=0x10d243dd0, element=QStyle::CE_PushButton, opt=0x7fff5fbf5290, p=0x7fff5fbf52e8, widget=0x11dee8150) at qcommonstyle.cpp:1205
#21 0x000000010782f6b0 in QWindowsStyle::drawControl (this=0x10d243dd0, ce=QStyle::CE_PushButton, opt=0x7fff5fbf5290, p=0x7fff5fbf52e8, widget=0x11dee8150) at qwindowsstyle.cpp:2577
#22 0x000000010709e507 in QMacStyle::drawControl (this=0x10d243dd0, ce=QStyle::CE_PushButton, opt=0x7fff5fbf5290, p=0x7fff5fbf52e8, w=0x11dee8150) at qmacstyle_mac.mm:4259
#23 0x000000010675f9f3 in QStylePainter::drawControl (this=0x7fff5fbf52e8, ce=QStyle::CE_PushButton, opt=@0x7fff5fbf5290) at qstylepainter.h:89
#24 0x000000010675f45f in KPushButton::paintEvent (this=0x11dee8150) at /Users/till/k/kde/src/trunk/kdelibs/kdeui/widgets/kpushbutton.cpp:380
#25 0x00000001071cac63 in QWidget::event (this=0x11dee8150, event=0x7fff5fbf6850) at qwidget.cpp:8517
#26 0x00000001078593be in QAbstractButton::event (this=0x11dee8150, e=0x7fff5fbf6850) at qabstractbutton.cpp:1082
#27 0x00000001079b4cb9 in QPushButton::event (this=0x11dee8150, e=0x7fff5fbf6850) at qpushbutton.cpp:683
#28 0x00000001071075b2 in QApplicationPrivate::notify_helper (this=0x10c765e70, receiver=0x11dee8150, e=0x7fff5fbf6850) at qapplication.cpp:4557
#29 0x000000010710be8f in QApplication::notify (this=0x7fff5fbff488, receiver=0x11dee8150, e=0x7fff5fbf6850) at qapplication.cpp:4522
#30 0x00000001065ebdb7 in KApplication::notify (this=0x7fff5fbff488, receiver=0x11dee8150, event=0x7fff5fbf6850) at /Users/till/k/kde/src/trunk/kdelibs/kdeui/kernel/kapplication.cpp:311
#31 0x0000000109774dde in QCoreApplication::notifyInternal (this=0x7fff5fbff488, receiver=0x11dee8150, event=0x7fff5fbf6850) at qcoreapplication.cpp:915
#32 0x0000000107127017 in QCoreApplication::sendSpontaneousEvent (receiver=0x11dee8150, event=0x7fff5fbf6850) at qcoreapplication.h:234
#33 0x00000001071d19c0 in QWidgetPrivate::drawWidget (this=0x11c4a67c0, pdev=0x121ce1380, rgn=@0x7fff5fbf6bf0, offset=@0x7fff5fbf6ca8, flags=134, sharedPainter=0x0, backingStore=0x0) at qwidget.cpp:5594
#34 0x00000001071d2dc0 in QWidgetPrivate::paintSiblingsRecursive (this=0x11c401690, pdev=0x121ce1380, siblings=@0x11c4016a8, index=0, rgn=@0x7fff5fbf6db8, offset=@0x7fff5fbf7810, flags=134, sharedPainter=0x0, backingStore=0x0) at qwidget.cpp:5803
#35 0x00000001071d2b4a in QWidgetPrivate::paintSiblingsRecursive (this=0x11c401690, pdev=0x121ce1380, siblings=@0x11c4016a8, index=0, rgn=@0x7fff5fbf7620, offset=@0x7fff5fbf7810, flags=134, sharedPainter=0x0, backingStore=0x0) at qwidget.cpp:5790
#36 0x00000001071d22b0 in QWidgetPrivate::drawWidget (this=0x11c401690, pdev=0x121ce1380, rgn=@0x7fff5fbf7620, offset=@0x7fff5fbf7810, flags=134, sharedPainter=0x0, backingStore=0x0) at qwidget.cpp:5647
#37 0x000000010703fdc3 in -[QCocoaView drawRect:] (self=0x11f14e2e0, _cmd=0x7fff8ad91f28, aRect={origin = {x = 0, y = 0}, size = {width = 434, height = 30}}) at qcocoaview_mac.mm:412
#38 0x00007fff8a4ca2ce in -[NSView _drawRect:clip:] ()
#39 0x00007fff8a4f749b in -[NSView _recursiveDisplayAllDirtyWithLockFocus:visRect:] ()
#40 0x00007fff8a4f78c7 in -[NSView _recursiveDisplayAllDirtyWithLockFocus:visRect:] ()
#41 0x00007fff8a4f78c7 in -[NSView _recursiveDisplayAllDirtyWithLockFocus:visRect:] ()
#42 0x00007fff8a4c78a9 in -[NSView _recursiveDisplayRectIfNeededIgnoringOpacity:isVisibleRect:rectIsVisibleRectForView:topView:] ()
#43 0x00007fff8a4c6da3 in -[NSThemeFrame _recursiveDisplayRectIfNeededIgnoringOpacity:isVisibleRect:rectIsVisibleRectForView:topView:] ()
#44 0x00007fff8a4c21bb in -[NSView _displayRectIgnoringOpacity:isVisibleRect:rectIsVisibleRectForView:] ()
#45 0x00007fff8a4bac35 in -[NSView displayIfNeeded] ()
#46 0x00007fff8a5782fb in -[NSWindow _reallyDoOrderWindow:relativeTo:findKey:forCounter:force:isModal:] ()
#47 0x00007fff8a577cf8 in -[NSWindow _doOrderWindow:relativeTo:findKey:forCounter:force:isModal:] ()
#48 0x00007fff8a731e3b in -[NSApplication _orderFrontModalWindow:relativeToWindow:] ()
#49 0x00007fff8a731904 in -[NSApplication _commonBeginModalSessionForWindow:relativeToWindow:modalDelegate:didEndSelector:contextInfo:] ()
#50 0x00007fff8a73219e in -[NSApplication beginSheet:modalForWindow:modalDelegate:didEndSelector:contextInfo:] ()
#51 0x0000000107014019 in qt_event_request_showsheet (w=0x7fff5fbf9810) at qapplication_mac.mm:719
#52 0x000000010702f032 in QWidgetPrivate::show_sys (this=0x11b7b0060) at qwidget_mac.mm:3480
#53 0x00000001071d83ee in QWidgetPrivate::show_helper (this=0x11b7b0060) at qwidget.cpp:7559
#54 0x00000001071ccb3b in QWidget::setVisible (this=0x7fff5fbf9810, visible=true) at qwidget.cpp:7773
#55 0x0000000107a935a4 in QDialog::setVisible (this=0x7fff5fbf9810, visible=true) at qdialog.cpp:741
#56 0x00000001070cb5f7 in QWidget::show (this=0x7fff5fbf9810) at qwidget.h:494
#57 0x0000000107a95007 in QDialog::exec (this=0x7fff5fbf9810) at qdialog.cpp:545
#58 0x0000000105469db5 in KFileDialogPrivate::getSaveUrl (dir=@0x7fff5fbf9be8, filter=@0x7fff5fbf9bc8, parent=0x119735d10, caption=@0x7fff5fbf9bc0, options=@0x7fff5fbf98e8, selectedFilter=0x0) at /Users/till/k/kde/src/trunk/kdelibs/kio/kfile/kfiledialog.cpp:838
#59 0x0000000105469a0f in KFileDialog::getSaveUrl (dir=@0x7fff5fbf9be8, filter=@0x7fff5fbf9bc8, parent=0x119735d10, caption=@0x7fff5fbf9bc0) at /Users/till/k/kde/src/trunk/kdelibs/kio/kfile/kfiledialog.cpp:810
#60 0x0000000118a450e5 in MessageViewer::Util::saveContents ()
#61 0x0000000118a6a69d in MessageViewer::ViewerPrivate::slotHandleAttachment ()
#62 0x0000000118a6ed8b in MessageViewer::ViewerPrivate::qt_static_metacall ()
#63 0x00000001097a726d in QMetaObject::activate (sender=0x119d68c10, m=0x1099e3620, local_signal_index=0, argv=0x7fff5fbfa0f0) at qobject.cpp:3547
#64 0x00000001097b2d69 in QSignalMapper::mapped (this=0x119d68c10, _t1=4) at moc_qsignalmapper.cpp:115
#65 0x00000001097b2ee1 in QSignalMapper::map (this=0x119d68c10, sender=0x11de97530) at qsignalmapper.cpp:266
#66 0x00000001097b30af in QSignalMapper::map (this=0x119d68c10) at qsignalmapper.cpp:257
#67 0x00000001097b2c13 in QSignalMapper::qt_static_metacall (_o=0x119d68c10, _c=QMetaObject::InvokeMetaMethod, _id=4, _a=0x7fff5fbfa470) at moc_qsignalmapper.cpp:64
#68 0x00000001097a726d in QMetaObject::activate (sender=0x11de97530, m=0x1082cc3a0, local_signal_index=1, argv=0x7fff5fbfa470) at qobject.cpp:3547
#69 0x00000001070f822d in QAction::triggered (this=0x11de97530, _t1=false) at moc_qaction.cpp:277
#70 0x00000001070fc69b in QAction::activate (this=0x11de97530, event=QAction::Trigger) at qaction.cpp:1257
#71 0x0000000107994085 in QMenuPrivate::activateCausedStack (this=0x11f16f500, causedStack=@0x7fff5fbfa630, action=0x11de97530, action_e=QAction::Trigger, self=true) at qmenu.cpp:1028
#72 0x000000010799978c in QMenuPrivate::activateAction (this=0x11f16f500, action=0x11de97530, action_e=QAction::Trigger, self=true) at qmenu.cpp:1120
#73 0x000000010798d7a4 in QMenu::mouseReleaseEvent (this=0x11d1d6d00, e=0x7fff5fbfbfe0) at qmenu.cpp:2360
#74 0x0000000106745a7d in KMenu::mouseReleaseEvent (this=0x11d1d6d00, e=0x7fff5fbfbfe0) at /Users/till/k/kde/src/trunk/kdelibs/kdeui/widgets/kmenu.cpp:464
#75 0x00000001071ca05a in QWidget::event (this=0x11d1d6d00, event=0x7fff5fbfbfe0) at qwidget.cpp:8371
#76 0x000000010798cad4 in QMenu::event (this=0x11d1d6d00, e=0x7fff5fbfbfe0) at qmenu.cpp:2469
#77 0x00000001071075b2 in QApplicationPrivate::notify_helper (this=0x10c765e70, receiver=0x11d1d6d00, e=0x7fff5fbfbfe0) at qapplication.cpp:4557
#78 0x0000000107108ba6 in QApplication::notify (this=0x7fff5fbff488, receiver=0x11d1d6d00, e=0x7fff5fbfbfe0) at qapplication.cpp:4100
#79 0x00000001065ebdb7 in KApplication::notify (this=0x7fff5fbff488, receiver=0x11d1d6d00, event=0x7fff5fbfbfe0) at /Users/till/k/kde/src/trunk/kdelibs/kdeui/kernel/kapplication.cpp:311
#80 0x0000000109774dde in QCoreApplication::notifyInternal (this=0x7fff5fbff488, receiver=0x11d1d6d00, event=0x7fff5fbfbfe0) at qcoreapplication.cpp:915
#81 0x0000000107127017 in QCoreApplication::sendSpontaneousEvent (receiver=0x11d1d6d00, event=0x7fff5fbfbfe0) at qcoreapplication.h:234
#82 0x0000000107118e67 in QApplicationPrivate::sendMouseEvent (receiver=0x11d1d6d00, event=0x7fff5fbfbfe0, alienWidget=0x0, nativeWidget=0x11d1d6d00, buttonDown=0x1083017c0, lastMouseReceiver=@0x1083017b8, spontaneous=true) at qapplication.cpp:3166
#83 0x0000000107058e4d in qt_mac_handleMouseEvent (event=0x11b638ac0, eventType=QEvent::MouseButtonRelease, button=Qt::LeftButton, nativeWidget=0x11d1d6d00, fakeEvent=false) at qt_cocoa_helpers_mac.mm:1269
#84 0x000000010703dcfa in -[QCocoaView mouseUp:] (self=0x127135de0, _cmd=0x7fff8adcf852, theEvent=0x11b638ac0) at qcocoaview_mac.mm:563
#85 0x00007fff8a54ad5e in -[NSWindow sendEvent:] ()
#86 0x0000000107037cda in -[QCocoaPanel sendEvent:] (self=0x11b09a0d0, _cmd=0x7fff8adf9c8a, event=0x11b638ac0) at qcocoasharedwindowmethods_mac_p.h:183
#87 0x00007fff8a4e43a5 in -[NSApplication sendEvent:] ()
#88 0x000000010704ef87 in -[QNSApplication sendEvent:] (self=0x10c77c8a0, _cmd=0x7fff8adf9c8a, event=0x11b638ac0) at qcocoaapplication_mac.mm:183
#89 0x00007fff8a47aa0e in -[NSApplication run] ()
#90 0x0000000107064002 in QEventDispatcherMac::processEvents (this=0x10d227cc0, flags=@0x7fff5fbfcac8) at qeventdispatcher_mac.mm:615
#91 0x000000010976eba5 in QEventLoop::processEvents (this=0x7fff5fbfcbf8, flags=@0x7fff5fbfcb80) at qeventloop.cpp:149
#92 0x000000010976ef1a in QEventLoop::exec (this=0x7fff5fbfcbf8, flags=@0x7fff5fbfcc10) at qeventloop.cpp:204
#93 0x0000000107998971 in QMenu::exec (this=0x11d1d6d00, p=@0x7fff5fbfd678, action=0x0) at qmenu.cpp:2113
#94 0x0000000118a5d84d in MessageViewer::ViewerPrivate::showAttachmentPopup ()
#95 0x0000000118a3d7c2 in (anonymous namespace)::AttachmentURLHandler::handleContextMenuRequest ()
#96 0x0000000118a3b71a in MessageViewer::URLHandlerManager::handleContextMenuRequest ()
#97 0x0000000118a66bfb in MessageViewer::ViewerPrivate::slotUrlPopup ()
#98 0x0000000118a6eb18 in MessageViewer::ViewerPrivate::qt_static_metacall ()
#99 0x00000001097a726d in QMetaObject::activate (sender=0x119a08780, m=0x118b4e950, local_signal_index=0, argv=0x7fff5fbfd5c0) at qobject.cpp:3547
#100 0x0000000118a9033c in MessageViewer::MailWebView::popupMenu ()
#101 0x0000000118a9013c in MessageViewer::MailWebView::event ()
#102 0x00000001071075b2 in QApplicationPrivate::notify_helper (this=0x10c765e70, receiver=0x119a08780, e=0x7fff5fbfe6a8) at qapplication.cpp:4557
#103 0x00000001071097fb in QApplication::notify (this=0x7fff5fbff488, receiver=0x119a08780, e=0x7fff5fbfe6a8) at qapplication.cpp:4179
#104 0x00000001065ebdb7 in KApplication::notify (this=0x7fff5fbff488, receiver=0x119a08780, event=0x7fff5fbfe6a8) at /Users/till/k/kde/src/trunk/kdelibs/kdeui/kernel/kapplication.cpp:311
#105 0x0000000109774dde in QCoreApplication::notifyInternal (this=0x7fff5fbff488, receiver=0x119a08780, event=0x7fff5fbfe6a8) at qcoreapplication.cpp:915
#106 0x0000000107127017 in QCoreApplication::sendSpontaneousEvent (receiver=0x119a08780, event=0x7fff5fbfe6a8) at qcoreapplication.h:234
#107 0x00000001071064e3 in qt_sendSpontaneousEvent (receiver=0x119a08780, event=0x7fff5fbfe6a8) at qapplication.cpp:5555
#108 0x0000000107058ecb in qt_mac_handleMouseEvent (event=0x11f17f730, eventType=QEvent::MouseButtonPress, button=Qt::RightButton, nativeWidget=0x10c765860, fakeEvent=false) at qt_cocoa_helpers_mac.mm:1273
#109 0x000000010703dc93 in -[QCocoaView rightMouseDown:] (self=0x1104a8e90, _cmd=0x7fff8ad65b10, theEvent=0x11f17f730) at qcocoaview_mac.mm:568
#110 0x00007fff8a54b0fc in -[NSWindow sendEvent:] ()
#111 0x000000010704772a in -[QCocoaWindow sendEvent:] (self=0x1104a9480, _cmd=0x7fff8adf9c8a, event=0x11f17f730) at qcocoasharedwindowmethods_mac_p.h:183
#112 0x00007fff8a4e43a5 in -[NSApplication sendEvent:] ()
#113 0x000000010704ef87 in -[QNSApplication sendEvent:] (self=0x10c77c8a0, _cmd=0x7fff8adf9c8a, event=0x11f17f730) at qcocoaapplication_mac.mm:183
#114 0x00007fff8a47aa0e in -[NSApplication run] ()
#115 0x0000000107064002 in QEventDispatcherMac::processEvents (this=0x10d227cc0, flags=@0x7fff5fbff1c8) at qeventdispatcher_mac.mm:615
#116 0x000000010976eba5 in QEventLoop::processEvents (this=0x7fff5fbff320, flags=@0x7fff5fbff280) at qeventloop.cpp:149
#117 0x000000010976ef1a in QEventLoop::exec (this=0x7fff5fbff320, flags=@0x7fff5fbff348) at qeventloop.cpp:204
#118 0x0000000109775bda in QCoreApplication::exec () at qcoreapplication.cpp:1187
#119 0x000000010710c2f6 in QApplication::exec () at qapplication.cpp:3818
#120 0x0000000100008165 in main ()
Comment 4 Till Adam 2013-01-21 19:27:29 UTC
Seems Kontact specific and Mac specific. Doesn't happen in stand-alone KMail, for some reason.
Comment 5 Jekyll Wu 2013-01-21 21:02:17 UTC
backtrace provided, change status back
Comment 6 Denis Kurz 2016-09-24 18:24:05 UTC
This bug has only been reported for versions before 4.14, which have been unsupported for at least two years now. Can anyone tell if this bug still present?

If noone confirms this bug for a Framework-based version of kmail2 (version 5.0 or later, as part of KDE Applications 15.12 or later), it gets closed in about three months.
Comment 7 Denis Kurz 2017-01-07 22:07:38 UTC
Just as announced in my last comment, I close this bug. If you encounter it again in a recent version (at least 5.0 aka 15.08), please open a new one unless it already exists. Thank you for all your input.