Created attachment 53410 [details] crash log Version: 4.5 (using KDE 4.5.3) OS: OS X I'm using KMyMoney 4.5 on MacOSX installed via Macports. On the ledger view, when I try to change the date by clicking on the edit field on a new or on an old transaction, KMyMoney just segfaults. Please let me know if you need anything to track down the issue. Note that the date edit field works nice in other places in the app, like in Account editing dialog or in Report editing dialog. In fact it only segfaults in the ledger view. Reproducible: Didn't try Steps to Reproduce: Click on date input field in Ledger view Actual Results: crash (KMM pauses long and than shows a crash log) Expected Results: make date editable
Created attachment 53414 [details] patch to avoid crash Thanks to kmymoney's lead developer there is a temporary fix for the crash bug. Uncommenting show() and hide() in kMyMoneyDateInput::eventFilter() did the job. Still there is an issue with loosing focus of the corresponding three input fields of the date edit field...
The solution works great for me, the behavior is a little strange some time, especially if you try to use the up and down arrows to change the 2nd or 3rd edit field. But it's really better than a crash. Thanks a lot for this quick fix !
Could you provide a patch that both fixes the crash and keeps the functionality also? The widget that was being shown there is a tooltip with the current date.
Hi Cristian, I'd love to, but I am not able to deliver a patch. Thomas advised me to try this dirty trick. It does the job, although the input still behaves a little weird due to jumping focus, but it doesn't crash anymore the app. Sorry I can't be of more help here. Greets, Marko
SVN commit 1214207 by tbaumgart: Comment show/hide for Mac OS X to avoid crashes. BUG: 256902 M +4 -0 kmymoneydateinput.cpp WebSVN link: http://websvn.kde.org/?view=rev&revision=1214207
I reopened this as a wish list item so that we can re-enable it on Mac OS X some time.
Is this actually rather a KDE or QT issue than an issue of KMM itself?
Finally filed at QT: http://bugreports.qt.nokia.com/browse/QTBUG-19870
Hey guys, my post to QT-dev shows a first reaction ( http://developer.qt.nokia.com/forums/viewthread/6794/ ) and I wonder whether we can come up with a stripped down little app which would have this popup window functionality. Greets, Marko
Re-enabled the show() and hide() with the more recent QT 4.7.3 on a MacOSX 10.6.7 and still get the same error. This time with Itemizer::generate() at the top: Process: kmymoney [68279] Path: /opt/macports-test/Applications/KDE4/kmymoney.app/Contents/MacOS/kmymoney Identifier: kmymoney Version: ??? (???) Code Type: X86-64 (Native) Parent Process: bash [59111] Date/Time: 2011-06-16 00:04:49.130 +0200 OS Version: Mac OS X 10.6.7 (10J869) Report Version: 6 Interval Since Last Report: 47401 sec Crashes Since Last Report: 1 Per-App Crashes Since Last Report: 1 Anonymous UUID: 4ADD88F0-37AC-4BFC-BB40-8308C8DB47A2 Exception Type: EXC_BAD_ACCESS (SIGSEGV) Exception Codes: KERN_PROTECTION_FAILURE at 0x00007fff5f3fff78 Crashed Thread: 0 Dispatch queue: com.apple.main-thread Thread 0 Crashed: Dispatch queue: com.apple.main-thread 0 libQtGui.4.dylib 0x000000010495884a (anonymous namespace)::Itemizer::generate(int, int, QFont::Capitalization) + 26 1 libQtGui.4.dylib 0x000000010495c6dc QTextEngine::itemize() const + 4748 2 libQtGui.4.dylib 0x0000000104962524 QTextLayout::beginLayout() + 36 3 libQtGui.4.dylib 0x0000000104866150 qt_format_text(QFont const&, QRectF const&, int, QTextOption const*, QString const&, QRectF*, int, int*, int, QPainter*) + 2112 4 libQtGui.4.dylib 0x0000000104866f65 QPainter::drawText(QRect const&, int, QString const&, QRect*) + 277 5 libQtGui.4.dylib 0x00000001049f2a15 QStyle::drawItemText(QPainter*, QRect const&, int, QPalette const&, bool, QString const&, QPalette::ColorRole) const + 629
The same happens with the latest svn revision 1237443 (where Thomas remove the duplicate installEventFilter(this) line from kmymoney/widgets/kmymoneydateinput.cpp: --- Process: kmymoney [231] Path: /opt/macports-test/Applications/KDE4/kmymoney.app/Contents/MacOS/kmymoney Identifier: ??? Version: () Code Type: X86-64 (Native) Parent Process: launchd [167] Date/Time: 2011-06-19 11:50:44.020 +0200 OS Version: Mac OS X 10.6.7 (10J869) Report Version: 6 Interval Since Last Report: 120592 sec Crashes Since Last Report: 3 Per-App Interval Since Last Report: 67871 sec Per-App Crashes Since Last Report: 11 Anonymous UUID: 4ADD88F0-37AC-4BFC-BB40-8308C8DB47A2 Exception Type: EXC_BAD_ACCESS (SIGSEGV) Exception Codes: KERN_PROTECTION_FAILURE at 0x00007fff5f3ff140 Crashed Thread: 0 Dispatch queue: com.apple.main-thread Thread 0 Crashed: Dispatch queue: com.apple.main-thread 0 libQtGui.4.dylib 0x00000001047e7464 QTextEngine::itemize() const + 20 1 libQtGui.4.dylib 0x00000001047e8a73 QTextEngine::attributes() const + 115 2 libQtGui.4.dylib 0x00000001047f09e8 QTextLine::layout_helper(int) + 792 3 libQtGui.4.dylib 0x00000001046f21cb qt_format_text(QFont const&, QRectF const&, int, QTextOption const*, QString const&, QRectF*, int, int*, int, QPainter*) + 2235 4 libQtGui.4.dylib 0x00000001046f2f65 QPainter::drawText(QRect const&, int, QString const&, QRect*) + 277 5 libQtGui.4.dylib 0x000000010487ea15 QStyle::drawItemText(QPainter*, QRect const&, int, QPalette const&, bool, QString const&, QPalette::ColorRole) const + 629 6 libQtGui.4.dylib 0x000000010498534b QLabel::paintEvent(QPaintEvent*) + 1803 7 libQtGui.4.dylib 0x0000000104625596 QWidget::event(QEvent*) + 2294 8 libQtGui.4.dylib 0x000000010498005c QFrame::event(QEvent*) + 44 9 libQtGui.4.dylib 0x00000001049833eb QLabel::event(QEvent*) + 91 10 libQtGui.4.dylib 0x00000001045cb8ad QApplicationPrivate::notify_helper(QObject*, QEvent*) + 189 11 libQtGui.4.dylib 0x00000001045d170d QApplication::notify(QObject*, QEvent*) + 349 12 libkdeui.5.dylib 0x0000000101eb4ca0 KApplication::notify(QObject*, QEvent*) + 64 (kapplication.cpp:311) 13 libQtCore.4.dylib 0x00000001041ef03c QCoreApplication::notifyInternal(QObject*, QEvent*) + 124 14 libQtGui.4.dylib 0x00000001045cba6c qt_sendSpontaneousEvent(QObject*, QEvent*) + 44 15 libQtGui.4.dylib 0x00000001045753dd -[QCocoaView drawRect:] + 1213 16 com.apple.AppKit 0x00007fff80103c49 -[NSView _drawRect:clip:] + 3390 17 com.apple.AppKit 0x00007fff801028bc -[NSView _recursiveDisplayAllDirtyWithLockFocus:visRect:] + 1325 18 com.apple.AppKit 0x00007fff80102c26 -[NSView _recursiveDisplayAllDirtyWithLockFocus:visRect:] + 2199 19 com.apple.AppKit 0x00007fff80102c26 -[NSView _recursiveDisplayAllDirtyWithLockFocus:visRect:] + 2199 20 com.apple.AppKit 0x00007fff80102c26 -[NSView _recursiveDisplayAllDirtyWithLockFocus:visRect:] + 2199 21 com.apple.AppKit 0x00007fff80100f8e -[NSView _recursiveDisplayRectIfNeededIgnoringOpacity:isVisibleRect:rectIsVisibleRectForView:topView:] + 767 22 com.apple.AppKit 0x00007fff8021f8e4 -[NSNextStepFrame _recursiveDisplayRectIfNeededIgnoringOpacity:isVisibleRect:rectIsVisibleRectForView:topView:] + 276 23 com.apple.AppKit 0x00007fff800fd362 -[NSView _displayRectIgnoringOpacity:isVisibleRect:rectIsVisibleRectForView:] + 2683 24 com.apple.AppKit 0x00007fff80076b9a -[NSView displayIfNeeded] + 969 25 com.apple.AppKit 0x00007fff8002c39c -[NSNextStepFrame displayIfNeeded] + 76 26 libQtGui.4.dylib 0x00000001045797f7 -[QCocoaWindow displayIfNeeded] + 247 27 com.apple.AppKit 0x00007fff8003ebe3 -[NSWindow _reallyDoOrderWindow:relativeTo:findKey:forCounter:force:isModal:] + 1050 28 com.apple.AppKit 0x00007fff8003e77a -[NSWindow orderWindow:relativeTo:] + 94 29 libQtGui.4.dylib 0x000000010456d97f QWidgetPrivate::raise_sys() + 335 30 libQtGui.4.dylib 0x000000010461cde9 QWidget::raise() + 393 31 libQtGui.4.dylib 0x0000000104627a48 QWidgetPrivate::show_helper() + 536 32 libQtGui.4.dylib 0x0000000104627cff QWidget::setVisible(bool) + 511 . . . ---
This has been resolved with KMM's git commit 8a31214f492c7dfff28d56f1811b49da847262aa by removing the corresponding code for the date field in case of Mac OS X.