https://bugs.kde.org/show_bug.cgi?id=485999
Bug ID: 485999 Summary: kdiff3 segaborts when comparing two files Classification: Applications Product: kdiff3 Version: 1.11.0 Platform: Other OS: Linux Status: REPORTED Severity: normal Priority: NOR Component: application Assignee: reeves...@gmail.com Reporter: m...@fireburn.co.uk Target Milestone: --- Created attachment 168830 --> https://bugs.kde.org/attachment.cgi?id=168830&action=edit First file Qt 6.7.0 KF6 from Git kdiff3 from Git (lldb) run Process 1098029 launched: '/usr/bin/kdiff3' (x86_64) org.kde.kdiff3: Loading A: "/home/fireburn/dmesg.axion" org.kde.kdiff3: Loading B: "/home/fireburn/dmesg.txt" org.kde.kdiff3: Diff: A <-> B org.kde.kdiff3: Linediff: A <-> B org.kde.kdiff3: Enter: calcDiff3LineListUsingAB org.kde.kdiff3: Leave: calcDiff3LineListUsingAB terminate called after throwing an instance of 'std::system_error' what(): converted signed value too small: negative overflow error Process 1098029 stopped * thread #1, name = 'kdiff3', stop reason = signal SIGABRT frame #0: 0x00007ffff62bf86c libc.so.6`___lldb_unnamed_symbol3697 + 268 libc.so.6`___lldb_unnamed_symbol3697: -> 0x7ffff62bf86c <+268>: movl %eax, %ebx 0x7ffff62bf86e <+270>: negl %ebx 0x7ffff62bf870 <+272>: cmpl $0xfffff000, %eax ; imm = 0xFFFFF000 0x7ffff62bf875 <+277>: movl $0x0, %eax (lldb) bt * thread #1, name = 'kdiff3', stop reason = signal SIGABRT * frame #0: 0x00007ffff62bf86c libc.so.6`___lldb_unnamed_symbol3697 + 268 frame #1: 0x00007ffff626be66 libc.so.6`raise + 22 frame #2: 0x00007ffff62538b7 libc.so.6`abort + 215 frame #3: 0x00007ffff58a4c7b libstdc++.so.6`___lldb_unnamed_symbol7333 + 98 frame #4: 0x00007ffff58b8eec libstdc++.so.6`___lldb_unnamed_symbol7788 + 12 frame #5: 0x00007ffff58b8f57 libstdc++.so.6`std::terminate() + 23 frame #6: 0x000055555560fabf kdiff3`__clang_call_terminate + 15 frame #7: 0x000055555567559f kdiff3`getBestFirstLine(LineRef, int, LineRef, int) [inlined] LineRef::operator=(this=<unavailable>, lineIn=<unavailable>) at LineRef.h:51:21 frame #8: 0x0000555555675581 kdiff3`getBestFirstLine(line=LineRef @ scalar, nofLines=1559, firstLine=LineRef @ scalar, visibleLines=14) at difftextwindow.cpp:0 frame #9: 0x00005555556756ab kdiff3`DiffTextWindow::setFastSelectorRange(this=0x000055555615a6c0, line1=<unavailable>, nofLines=<unavailable>) at difftextwindow.cpp:595:32 frame #10: 0x00007ffff60dda8f libQt6Core.so.6`___lldb_unnamed_symbol13786 + 1279 frame #11: 0x000055555560ccd1 kdiff3`MergeResultWindow::setFastSelectorRange(this=<unavailable>, _t1=LineRef @ 0x00007fffffffc46c, _t2=1559) at moc_mergeresultwindow.cpp:574:5 frame #12: 0x00005555556ad3f3 kdiff3`MergeResultWindow::setFastSelector(this=0x0000555555c804c0, i=std::__cxx11::list<MergeBlock, std::allocator<MergeBlock> >::iterator @ scalar) at mergeresultwindow.cpp:788:12 frame #13: 0x00005555556a63a2 kdiff3`MergeResultWindow::merge(bool, e_SrcSelector, bool, bool) [inlined] MergeResultWindow::go(this=0x0000555555c804c0, eDir=eUp, eEndPoint=eEnd) at mergeresultwindow.cpp:548:5 frame #14: 0x00005555556a6364 kdiff3`MergeResultWindow::merge(bool, e_SrcSelector, bool, bool) [inlined] MergeResultWindow::slotGoTop(this=0x0000555555c804c0) at mergeresultwindow.cpp:658:5 frame #15: 0x00005555556a6364 kdiff3`MergeResultWindow::merge(this=0x0000555555c804c0, bAutoSolve=<unavailable>, defaultSelector=<unavailable>, bConflictsOnly=false, bWhiteSpaceOnly=<unavailable>) at mergeresultwindow.cpp:397:5 frame #16: 0x00005555556a5d8c kdiff3`MergeResultWindow::init(this=0x0000555555c804c0, pLineDataA=<unavailable>, sizeA=LineRef @ 0x00007fffffffc5c8, pLineDataB=<unavailable>, sizeB=LineRef @ 0x00007fffffffc5cc, pLineDataC=<unavailable>, sizeC=LineRef @ 0x00007fffffffc620, pDiff3LineList=0x000055555597a388, pTotalDiffStatus=0x0000555555a9ac50, bAutoSolve=true) at mergeresultwindow.cpp:132:5 frame #17: 0x000055555565f1b0 kdiff3`KDiff3App::mainInit(this=0x0000555555979fe0, pTotalDiffStatus=<unavailable>, inFlags=<unavailable>) at pdiff.cpp:377:27 frame #18: 0x000055555563193c kdiff3`KDiff3App::completeInit(QString const&, QString const&, QString const&) [inlined] KDiff3App::doFileCompare(this=0x0000555555979fe0) at kdiff3.cpp:595:5 frame #19: 0x0000555555631908 kdiff3`KDiff3App::completeInit(this=0x0000555555979fe0, fn1=<unavailable>, fn2=<unavailable>, fn3=<unavailable>) at kdiff3.cpp:646:13 frame #20: 0x000055555561d3e0 kdiff3`KDiff3Shell::KDiff3Shell(this=0x0000555555a07850, fn1=0x00007fffffffcb68, fn2=0x00007fffffffcb50, fn3=0x00007fffffffcb38) at kdiff3_shell.cpp:39:15 frame #21: 0x000055555561c629 kdiff3`QtPrivate::QCallableObject<main::$_0, QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) [inlined] main::$_0::operator()(this=0x0000555555982d30) const at main.cpp:192:21 frame #22: 0x000055555561c587 kdiff3`QtPrivate::QCallableObject<main::$_0, QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) [inlined] QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, main::$_0>::call(f=0x0000555555982d30, arg=<unavailable>) at qobjectdefs_impl.h:137:13 frame #23: 0x000055555561c587 kdiff3`QtPrivate::QCallableObject<main::$_0, QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) [inlined] void QtPrivate::FunctorCallable<main::$_0>::call<QtPrivate::List<>, void>(f=0x0000555555982d30, (null)=<unavailable>, arg=<unavailable>) at qobjectdefs_impl.h:345:13 frame #24: 0x000055555561c587 kdiff3`QtPrivate::QCallableObject<main::$_0, QtPrivate::List<>, void>::impl(which=<unavailable>, this_=0x0000555555982d20, r=<unavailable>, a=<unavailable>, ret=<unavailable>) at qobjectdefs_impl.h:555:21 frame #25: 0x00007ffff6084f6c libQt6Core.so.6`QObject::event(QEvent*) + 636 frame #26: 0x00007ffff6714d47 libQt6Gui.so.6`QGuiApplication::event(QEvent*) + 711 frame #27: 0x00007ffff768d9a8 libQt6Widgets.so.6`QApplication::event(QEvent*) + 520 frame #28: 0x00007ffff769061e libQt6Widgets.so.6`QApplicationPrivate::notify_helper(QObject*, QEvent*) + 302 frame #29: 0x00007ffff76920ae libQt6Widgets.so.6`QApplication::notify(QObject*, QEvent*) + 494 frame #30: 0x00007ffff6133f57 libQt6Core.so.6`QCoreApplication::notifyInternal2(QObject*, QEvent*) + 183 frame #31: 0x00007ffff613572e libQt6Core.so.6`QCoreApplicationPrivate::sendPostedEvents(QObject*, int, QThreadData*) + 526 frame #32: 0x00007ffff5ecb2d7 libQt6Core.so.6`___lldb_unnamed_symbol10036 + 23 frame #33: 0x00007ffff4fa7602 libglib-2.0.so.0`___lldb_unnamed_symbol2489 + 482 frame #34: 0x00007ffff5014588 libglib-2.0.so.0`___lldb_unnamed_symbol2747 + 600 frame #35: 0x00007ffff4fa68ac libglib-2.0.so.0`g_main_context_iteration + 44 frame #36: 0x00007ffff5eb61c4 libQt6Core.so.6`QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) + 100 frame #37: 0x00007ffff6134ba6 libQt6Core.so.6`QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) + 550 frame #38: 0x00007ffff61347e8 libQt6Core.so.6`QCoreApplication::exec() + 136 frame #39: 0x000055555561aa89 kdiff3`main(argc=3, argv=<unavailable>) at main.cpp:195:21 frame #40: 0x00007ffff6255306 libc.so.6`___lldb_unnamed_symbol3281 + 134 frame #41: 0x00007ffff62553b9 libc.so.6`__libc_start_main + 137 frame #42: 0x00005555556083e5 kdiff3`_start + 37 (lldb) -- You are receiving this mail because: You are watching all bug changes.