https://bugs.kde.org/show_bug.cgi?id=457472
Bug ID: 457472 Summary: Crash when reloading modified files Product: kdiff3 Version: 1.9.5 Platform: openSUSE RPMs OS: Linux Status: REPORTED Severity: crash Priority: NOR Component: application Assignee: reeves...@gmail.com Reporter: groszdaniel...@gmail.com Target Milestone: --- Application: kdiff3 (1.9.5 (64 bit)) Qt Version: 5.15.5 Frameworks Version: 5.96.0 Operating System: Linux 5.18.9-2-default x86_64 Windowing System: X11 Distribution: "openSUSE Tumbleweed" DrKonqi: 5.25.3 [KCrashBackend] -- Information about the crash: 1. Create two different files. E.g. echo a > a echo b > b 2. Compare them with kdiff3. kdiff3 a b & 3. Modify one or both of the files on the disk. Updating the mtime can be enough. E.g. touch b 4. In kdiff3, click File/Reload. Often, kdiff3 will crash. The crash can be reproduced sometimes. -- Backtrace: Application: KDiff3 (kdiff3), signal: Segmentation fault [KCrash Handler] #4 Merger::MergeData::MergeData (i=<optimized out>, p=0x408c400000000000, this=0x7ffc1afec230) at /usr/include/c++/12/bits/stl_list.h:354 #5 Merger::MergeData::MergeData (i=0, p=0x408c400000000000, this=0x7ffc1afec230) at /usr/src/debug/kdiff3-1.9.5-1.4.x86_64/src/merger.cpp:18 #6 Merger::Merger (pDiffList2=0x0, pDiffList1=0x408c400000000000, this=0x7ffc1afec230) at /usr/src/debug/kdiff3-1.9.5-1.4.x86_64/src/merger.cpp:14 #7 DiffTextWindowData::writeLine (this=0x5636594bf380, p=..., pld=0x56365977c448, pLineDiff1=0x408c400000000000, pLineDiff2=0x0, line=..., whatChanged=..., whatChanged2=..., srcLineIdx=..., wrapLineOffset=0, wrapLineLength=0, bWrapLine=false, invalidRect=...) at /usr/src/debug/kdiff3-1.9.5-1.4.x86_64/src/difftextwindow.cpp:1029 #8 0x00005636578701ab in DiffTextWindowData::draw (this=0x5636594bf380, p=..., invalidRect=..., beginLine=<optimized out>, endLine=2) at /usr/src/debug/kdiff3-1.9.5-1.4.x86_64/src/difftextwindow.cpp:1259 #9 0x00005636578601de in DiffTextWindowData::draw (endLine=<optimized out>, beginLine=<optimized out>, invalidRect=..., p=..., this=<optimized out>) at /usr/src/debug/kdiff3-1.9.5-1.4.x86_64/src/difftextwindow.cpp:1173 #10 DiffTextWindow::paintEvent (this=0x5636598e2530, e=<optimized out>) at /usr/src/debug/kdiff3-1.9.5-1.4.x86_64/src/difftextwindow.cpp:1180 #11 0x00007fd63326fc68 in QWidget::event (this=0x5636598e2530, event=0x7ffc1afec620) at kernel/qwidget.cpp:9033 #12 0x00007fd63322e41e in QApplicationPrivate::notify_helper (this=<optimized out>, receiver=0x5636598e2530, e=0x7ffc1afec620) at kernel/qapplication.cpp:3637 #13 0x00007fd63267ffb8 in QCoreApplication::notifyInternal2 (receiver=0x5636598e2530, event=0x7ffc1afec620) at kernel/qcoreapplication.cpp:1064 #14 0x00007fd633267fc5 in QWidgetPrivate::sendPaintEvent (this=this@entry=0x563659a8b270, toBePainted=...) at kernel/qwidget.cpp:5467 #15 0x00007fd633268881 in QWidgetPrivate::drawWidget (this=this@entry=0x563659a8b270, pdev=0x563659932240, rgn=..., offset=..., flags=flags@entry=..., sharedPainter=sharedPainter@entry=0x0, repaintManager=<optimized out>) at kernel/qwidget.cpp:5417 #16 0x00007fd63323f551 in QWidgetRepaintManager::paintAndFlush (this=0x5636597e1ea0) at kernel/qwidgetrepaintmanager.cpp:1003 #17 0x00007fd63326ff28 in QWidget::event (this=0x5636592d4be0, event=0x5636597801a0) at kernel/qwidget.cpp:8978 #18 0x00007fd633ba67f9 in KXmlGuiWindow::event (this=0x5636592d4be0, ev=0x5636597801a0) at /usr/src/debug/kxmlgui-5.96.0-1.1.x86_64/src/kxmlguiwindow.cpp:220 #19 0x00007fd63322e41e in QApplicationPrivate::notify_helper (this=<optimized out>, receiver=0x5636592d4be0, e=0x5636597801a0) at kernel/qapplication.cpp:3637 #20 0x00007fd63267ffb8 in QCoreApplication::notifyInternal2 (receiver=0x5636592d4be0, event=0x5636597801a0) at kernel/qcoreapplication.cpp:1064 #21 0x00007fd632682f51 in QCoreApplicationPrivate::sendPostedEvents (receiver=0x0, event_type=0, data=0x56365915dc90) at kernel/qcoreapplication.cpp:1821 #22 0x00007fd6326d7c53 in postEventSourceDispatch (s=0x5636592ac2a0) at kernel/qeventdispatcher_glib.cpp:277 #23 0x00007fd630bf9ea0 in g_main_context_dispatch () from /lib64/libglib-2.0.so.0 #24 0x00007fd630bfa258 in ?? () from /lib64/libglib-2.0.so.0 #25 0x00007fd630bfa2ec in g_main_context_iteration () from /lib64/libglib-2.0.so.0 #26 0x00007fd6326d7456 in QEventDispatcherGlib::processEvents (this=0x5636592ba930, flags=...) at kernel/qeventdispatcher_glib.cpp:423 #27 0x000056365789e072 in ProgressDialog::recalc (this=0x5636594367f0, bUpdate=<optimized out>) at /usr/include/qt5/QtCore/qflags.h:121 #28 0x0000563657850f6d in ProgressProxy::setInformation (this=0x7ffc1afed000, bRedrawUpdate=true, info=...) at /usr/src/debug/kdiff3-1.9.5-1.4.x86_64/src/progress.cpp:611 #29 KDiff3App::mainInit (this=0x56365995f880, pTotalDiffStatus=0x5636598e98e0, inFlags=...) at /usr/src/debug/kdiff3-1.9.5-1.4.x86_64/src/pdiff.cpp:127 #30 0x00007fd6326b6e6f in QtPrivate::QSlotObjectBase::call (a=0x7ffc1afed170, r=0x56365995f880, this=0x563659648ae0) at ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 #31 doActivate<false> (sender=0x563659429180, signal_index=4, argv=0x7ffc1afed170) at kernel/qobject.cpp:3886 #32 0x00007fd6326b022f in QMetaObject::activate (sender=sender@entry=0x563659429180, m=m@entry=0x7fd633742d20, local_signal_index=local_signal_index@entry=1, argv=argv@entry=0x7ffc1afed170) at kernel/qobject.cpp:3946 #33 0x00007fd633227bb2 in QAction::triggered (this=this@entry=0x563659429180, _t1=<optimized out>) at .moc/moc_qaction.cpp:376 #34 0x00007fd63322a71b in QAction::activate (this=0x563659429180, event=<optimized out>) at kernel/qaction.cpp:1161 #35 0x00007fd6333af272 in QMenuPrivate::activateCausedStack (this=this@entry=0x563659614c60, causedStack=..., action=action@entry=0x563659429180, action_e=action_e@entry=QAction::Trigger, self=self@entry=true) at widgets/qmenu.cpp:1384 #36 0x00007fd6333b70d4 in QMenuPrivate::activateAction (this=0x563659614c60, action=0x563659429180, action_e=QAction::Trigger, self=<optimized out>) at widgets/qmenu.cpp:1461 #37 0x00007fd63326fc68 in QWidget::event (this=0x56365960d620, event=0x7ffc1afed750) at kernel/qwidget.cpp:9033 #38 0x00007fd63322e41e in QApplicationPrivate::notify_helper (this=this@entry=0x56365915f8c0, receiver=receiver@entry=0x56365960d620, e=e@entry=0x7ffc1afed750) at kernel/qapplication.cpp:3637 #39 0x00007fd633236942 in QApplication::notify (this=<optimized out>, receiver=0x56365960d620, e=<optimized out>) at kernel/qapplication.cpp:3081 #40 0x00007fd63267ffb8 in QCoreApplication::notifyInternal2 (receiver=0x56365960d620, event=0x7ffc1afed750) at kernel/qcoreapplication.cpp:1064 #41 0x00007fd633234abe in QApplicationPrivate::sendMouseEvent (receiver=0x56365960d620, event=event@entry=0x7ffc1afed750, alienWidget=<optimized out>, nativeWidget=0x56365960d620, buttonDown=buttonDown@entry=0x7fd63377a330 <qt_button_down>, lastMouseReceiver=..., spontaneous=true, onlyDispatchEnterLeave=false) at kernel/qapplication.cpp:2619 #42 0x00007fd633288ed5 in QWidgetWindow::handleMouseEvent (this=0x7fd628006630, event=0x7ffc1afeda00) at kernel/qwidgetwindow.cpp:580 #43 0x00007fd63328bfe0 in QWidgetWindow::event (this=0x7fd628006630, event=0x7ffc1afeda00) at kernel/qwidgetwindow.cpp:300 #44 0x00007fd63322e41e in QApplicationPrivate::notify_helper (this=<optimized out>, receiver=0x7fd628006630, e=0x7ffc1afeda00) at kernel/qapplication.cpp:3637 #45 0x00007fd63267ffb8 in QCoreApplication::notifyInternal2 (receiver=0x7fd628006630, event=0x7ffc1afeda00) at kernel/qcoreapplication.cpp:1064 #46 0x00007fd632ae09b5 in QGuiApplicationPrivate::processMouseEvent (e=0x563659a1abd0) at kernel/qguiapplication.cpp:2282 #47 0x00007fd632ab433c in QWindowSystemInterface::sendWindowSystemEvents (flags=flags@entry=...) at kernel/qwindowsysteminterface.cpp:1169 #48 0x00007fd62db637fa in xcbSourceDispatch (source=<optimized out>) at qxcbeventdispatcher.cpp:105 #49 0x00007fd630bf9ea0 in g_main_context_dispatch () from /lib64/libglib-2.0.so.0 #50 0x00007fd630bfa258 in ?? () from /lib64/libglib-2.0.so.0 #51 0x00007fd630bfa2ec in g_main_context_iteration () from /lib64/libglib-2.0.so.0 #52 0x00007fd6326d7456 in QEventDispatcherGlib::processEvents (this=0x5636592ba930, flags=...) at kernel/qeventdispatcher_glib.cpp:423 #53 0x00007fd63267ea2b in QEventLoop::exec (this=this@entry=0x7ffc1afedd30, flags=..., flags@entry=...) at ../../include/QtCore/../../src/corelib/global/qflags.h:69 #54 0x00007fd632686b96 in QCoreApplication::exec () at ../../include/QtCore/../../src/corelib/global/qflags.h:121 #55 0x00007fd632ad3e0c in QGuiApplication::exec () at kernel/qguiapplication.cpp:1867 #56 0x00007fd63322e395 in QApplication::exec () at kernel/qapplication.cpp:2829 #57 0x00005636578247a3 in main (argc=<optimized out>, argv=<optimized out>) at /usr/src/debug/kdiff3-1.9.5-1.4.x86_64/src/main.cpp:193 [Inferior 1 (process 10300) detached] Reported using DrKonqi (well, not exactly: DrKonqi "failed to submit bug report", so I'm copying here its output that I'd fortunately copied) -- You are receiving this mail because: You are watching all bug changes.