Bug 449687 - Karbon crashes when opening a particular odg file
Summary: Karbon crashes when opening a particular odg file
Status: REPORTED
Alias: None
Product: karbon
Classification: Applications
Component: opendocument (show other bugs)
Version: unspecified
Platform: Arch Linux Other
: NOR crash
Target Milestone: ---
Assignee: Jan Hambrecht
URL:
Keywords:
: 448249 (view as bug list)
Depends on:
Blocks:
 
Reported: 2022-02-06 09:53 UTC by Kishore Gopalakrishnan
Modified: 2024-01-22 22:28 UTC (History)
2 users (show)

See Also:
Latest Commit:
Version Fixed In:
Sentry Crash Report:


Attachments
File to reproduce the crash (36.74 KB, application/vnd.oasis.opendocument.graphics)
2022-02-06 09:53 UTC, Kishore Gopalakrishnan
Details
New crash information added by DrKonqi (12.05 KB, text/plain)
2024-01-22 22:24 UTC, Ken Rushia
Details
Another file that causes the crash (195.39 KB, application/vnd.oasis.opendocument.graphics)
2024-01-22 22:27 UTC, Ken Rushia
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Kishore Gopalakrishnan 2022-02-06 09:53:16 UTC
Created attachment 146334 [details]
File to reproduce the crash

SUMMARY
When we open the attached odg file, Karbon crashes. The same file can be opened without any problems in Libreoffice Draw.

STEPS TO REPRODUCE
1. Open the attached file in Karbon

OBSERVED RESULT
Karbon crashes

EXPECTED RESULT
Karbon should not crash

SOFTWARE/OS VERSIONS
Application: karbon (3.2.1)
Qt Version: 5.15.2
Frameworks Version: 5.90.0
Operating System: Linux 5.16.5-arch1-1 x86_64
Windowing System: X11
Distribution: Arch Linux
DrKonqi: 5.23.90 [KCrashBackend]

ADDITIONAL INFORMATION
I can open other odg files in Karbon without it crashing.

BACKTRACE
Application: Karbon (karbon), signal: Segmentation fault

[KCrash Handler]
#4  KoShape::parent (this=this@entry=0xf800000000) at /usr/src/debug/calligra-3.2.1/libs/flake/KoShape.cpp:1208
#5  0x00007f4ab7269d8f in KoShape::compareShapeZIndex (s1=0x5583389fbe90, s2=0xf800000000) at /usr/src/debug/calligra-3.2.1/libs/flake/KoShape.cpp:488
#6  0x00007f4ab73222bd in __gnu_cxx::__ops::_Iter_comp_iter<bool (*)(KoShape*, KoShape*)>::operator()<QList<KoShape*>::iterator, QList<KoShape*>::iterator> (__it2=..., __it1=..., this=<synthetic pointer>) at /usr/include/c++/11.1.0/bits/predefined_ops.h:158
#7  std::__unguarded_partition<QList<KoShape*>::iterator, __gnu_cxx::__ops::_Iter_comp_iter<bool (*)(KoShape*, KoShape*)> > (__comp=..., __pivot=..., __last=..., __first=...) at /usr/include/c++/11.1.0/bits/stl_algo.h:1887
#8  std::__unguarded_partition_pivot<QList<KoShape*>::iterator, __gnu_cxx::__ops::_Iter_comp_iter<bool (*)(KoShape*, KoShape*)> > (__comp=..., __last=..., __first=...) at /usr/include/c++/11.1.0/bits/stl_algo.h:1906
#9  std::__introsort_loop<QList<KoShape*>::iterator, int, __gnu_cxx::__ops::_Iter_comp_iter<bool (*)(KoShape*, KoShape*)> >(QList<KoShape*>::iterator, QList<KoShape*>::iterator, int, __gnu_cxx::__ops::_Iter_comp_iter<bool (*)(KoShape*, KoShape*)>) [clone .constprop.0] (__first=..., __last=..., __depth_limit=<optimized out>, __comp=...) at /usr/include/c++/11.1.0/bits/stl_algo.h:1937
#10 0x00007f4ab72835a1 in std::__sort<QList<KoShape*>::iterator, __gnu_cxx::__ops::_Iter_comp_iter<bool (*)(KoShape*, KoShape*)> > (__comp=..., __last=..., __first=...) at /usr/include/c++/11.1.0/bits/stl_algo.h:1954
#11 std::sort<QList<KoShape*>::iterator, bool (*)(KoShape*, KoShape*)> (__comp=<optimized out>, __last=..., __first=...) at /usr/include/c++/11.1.0/bits/stl_algo.h:4875
#12 KoShapeManager::paint (this=0x55833a2bae10, painter=..., converter=..., forPrint=forPrint@entry=false) at /usr/src/debug/calligra-3.2.1/libs/flake/KoShapeManager.cpp:264
#13 0x00007f4aaadc6010 in KoPAViewModeNormal::paint (this=0x55833b002e30, canvas=<optimized out>, painter=..., paintRect=...) at /usr/src/debug/calligra-3.2.1/libs/pageapp/KoPAViewModeNormal.cpp:85
#14 0x00007f4aaadbb4e7 in KoPACanvasBase::paint (this=this@entry=0x558338dc7330, painter=..., paintRect=...) at /usr/src/debug/calligra-3.2.1/libs/pageapp/KoPACanvasBase.cpp:188
#15 0x00007f4aaadbb623 in KoPACanvas::paintEvent (this=0x558338dc7300, event=0x7ffeb14a9520) at /usr/src/debug/calligra-3.2.1/libs/pageapp/KoPACanvas.cpp:104
#16 0x00007f4ab80b971c in QWidget::event (this=0x558338dc7300, event=0x7ffeb14a9520) at kernel/qwidget.cpp:8801
#17 0x00007f4ab80831a6 in QApplicationPrivate::notify_helper (this=this@entry=0x55833815f6a0, receiver=receiver@entry=0x558338dc7300, e=e@entry=0x7ffeb14a9520) at kernel/qapplication.cpp:3632
#18 0x00007f4ab808776b in QApplication::notify (this=0x7f4aa400d440, receiver=receiver@entry=0x558338dc7300, e=e@entry=0x7ffeb14a9520) at kernel/qapplication.cpp:3378
#19 0x00007f4ab872690e in KoApplication::notify (this=<optimized out>, receiver=0x558338dc7300, event=0x7ffeb14a9520) at /usr/src/debug/calligra-3.2.1/libs/main/KoApplication.cpp:672
#20 0x00007f4ab7c7616a in QCoreApplication::notifyInternal2 (receiver=0x558338dc7300, event=0x7ffeb14a9520) at kernel/qcoreapplication.cpp:1064
#21 0x00007f4ab80ad1cc in QWidgetPrivate::sendPaintEvent (this=this@entry=0x558338dd3fa0, toBePainted=...) at kernel/qwidget.cpp:5467
#22 0x00007f4ab80ae562 in QWidgetPrivate::drawWidget (this=0x558338dd3fa0, pdev=0x55833896df90, rgn=..., offset=..., flags=..., sharedPainter=<optimized out>, repaintManager=<optimized out>) at kernel/qwidget.cpp:5417
#23 0x00007f4ab80af045 in QWidgetPrivate::paintSiblingsRecursive (this=this@entry=0x55833a284e40, pdev=pdev@entry=0x55833896df90, siblings=..., index=<optimized out>, rgn=..., offset=..., flags=..., sharedPainter=0x0, repaintManager=0x55833856c1b0) at kernel/qwidget.cpp:5598
#24 0x00007f4ab80ada93 in QWidgetPrivate::drawWidget (this=0x55833a284e40, pdev=0x55833896df90, rgn=..., offset=..., flags=..., sharedPainter=<optimized out>, repaintManager=<optimized out>) at kernel/qwidget.cpp:5458
#25 0x00007f4ab80af045 in QWidgetPrivate::paintSiblingsRecursive (this=this@entry=0x5583390ea750, pdev=pdev@entry=0x55833896df90, siblings=..., index=<optimized out>, rgn=..., offset=..., flags=..., sharedPainter=0x0, repaintManager=0x55833856c1b0) at kernel/qwidget.cpp:5598
#26 0x00007f4ab80ada93 in QWidgetPrivate::drawWidget (this=0x5583390ea750, pdev=0x55833896df90, rgn=..., offset=..., flags=..., sharedPainter=<optimized out>, repaintManager=<optimized out>) at kernel/qwidget.cpp:5458
#27 0x00007f4ab80af045 in QWidgetPrivate::paintSiblingsRecursive (this=this@entry=0x558338d7a930, pdev=pdev@entry=0x55833896df90, siblings=..., index=<optimized out>, rgn=..., offset=..., flags=..., sharedPainter=0x0, repaintManager=0x55833856c1b0) at kernel/qwidget.cpp:5598
#28 0x00007f4ab80ada93 in QWidgetPrivate::drawWidget (this=0x558338d7a930, pdev=0x55833896df90, rgn=..., offset=..., flags=..., sharedPainter=<optimized out>, repaintManager=<optimized out>) at kernel/qwidget.cpp:5458
#29 0x00007f4ab80af045 in QWidgetPrivate::paintSiblingsRecursive (this=this@entry=0x558338aefc10, pdev=pdev@entry=0x55833896df90, siblings=..., index=<optimized out>, rgn=..., offset=..., flags=..., sharedPainter=0x0, repaintManager=0x55833856c1b0) at kernel/qwidget.cpp:5598
#30 0x00007f4ab80ada93 in QWidgetPrivate::drawWidget (this=0x558338aefc10, pdev=0x55833896df90, rgn=..., offset=..., flags=..., sharedPainter=<optimized out>, repaintManager=<optimized out>) at kernel/qwidget.cpp:5458
#31 0x00007f4ab80af045 in QWidgetPrivate::paintSiblingsRecursive (this=0x5583390a3aa0, pdev=0x55833896df90, siblings=..., index=<optimized out>, rgn=..., offset=..., flags=..., sharedPainter=0x0, repaintManager=0x55833856c1b0) at kernel/qwidget.cpp:5598
#32 0x00007f4ab80aee66 in QWidgetPrivate::paintSiblingsRecursive (this=this@entry=0x5583390a3aa0, pdev=pdev@entry=0x55833896df90, siblings=..., index=6, rgn=..., offset=..., flags=..., sharedPainter=0x0, repaintManager=0x55833856c1b0) at kernel/qwidget.cpp:5584
#33 0x00007f4ab80ada93 in QWidgetPrivate::drawWidget (this=0x5583390a3aa0, pdev=0x55833896df90, rgn=..., offset=..., flags=..., sharedPainter=<optimized out>, repaintManager=<optimized out>) at kernel/qwidget.cpp:5458
#34 0x00007f4ab80af045 in QWidgetPrivate::paintSiblingsRecursive (this=0x5583383eb4f0, pdev=0x55833896df90, siblings=..., index=<optimized out>, rgn=..., offset=..., flags=..., sharedPainter=0x0, repaintManager=0x55833856c1b0) at kernel/qwidget.cpp:5598
#35 0x00007f4ab80aee66 in QWidgetPrivate::paintSiblingsRecursive (this=0x5583383eb4f0, pdev=0x55833896df90, siblings=..., index=36, rgn=..., offset=..., flags=..., sharedPainter=0x0, repaintManager=0x55833856c1b0) at kernel/qwidget.cpp:5584
#36 0x00007f4ab80aee66 in QWidgetPrivate::paintSiblingsRecursive (this=0x5583383eb4f0, pdev=0x55833896df90, siblings=..., index=51, rgn=..., offset=..., flags=..., sharedPainter=0x0, repaintManager=0x55833856c1b0) at kernel/qwidget.cpp:5584
#37 0x00007f4ab80aee66 in QWidgetPrivate::paintSiblingsRecursive (this=0x5583383eb4f0, pdev=0x55833896df90, siblings=..., index=56, rgn=..., offset=..., flags=..., sharedPainter=0x0, repaintManager=0x55833856c1b0) at kernel/qwidget.cpp:5584
#38 0x00007f4ab80aee66 in QWidgetPrivate::paintSiblingsRecursive (this=this@entry=0x5583383eb4f0, pdev=pdev@entry=0x55833896df90, siblings=..., index=57, rgn=..., offset=..., flags=..., sharedPainter=0x0, repaintManager=0x55833856c1b0) at kernel/qwidget.cpp:5584
#39 0x00007f4ab80ada93 in QWidgetPrivate::drawWidget (this=0x5583383eb4f0, pdev=0x55833896df90, rgn=..., offset=..., flags=..., sharedPainter=<optimized out>, repaintManager=<optimized out>) at kernel/qwidget.cpp:5458
#40 0x00007f4ab808eb70 in QWidgetRepaintManager::paintAndFlush (this=<optimized out>) at kernel/qwidgetrepaintmanager.cpp:1009
#41 0x00007f4ab80b9a95 in QWidget::event (this=0x558338425180, event=0x55833afe6bf0) at kernel/qwidget.cpp:8965
#42 0x00007f4ab6cc685e in KXmlGuiWindow::event(QEvent*) () from /usr/lib/libKF5XmlGui.so.5
#43 0x00007f4ab80831a6 in QApplicationPrivate::notify_helper (this=this@entry=0x55833815f6a0, receiver=receiver@entry=0x558338425180, e=e@entry=0x55833afe6bf0) at kernel/qapplication.cpp:3632
#44 0x00007f4ab808776b in QApplication::notify (this=0x55833813d424, receiver=receiver@entry=0x558338425180, e=e@entry=0x55833afe6bf0) at kernel/qapplication.cpp:3378
#45 0x00007f4ab872690e in KoApplication::notify (this=<optimized out>, receiver=0x558338425180, event=0x55833afe6bf0) at /usr/src/debug/calligra-3.2.1/libs/main/KoApplication.cpp:672
#46 0x00007f4ab7c7616a in QCoreApplication::notifyInternal2 (receiver=0x558338425180, event=0x55833afe6bf0) at kernel/qcoreapplication.cpp:1064
#47 0x00007f4ab7c76c69 in QCoreApplicationPrivate::sendPostedEvents (receiver=0x0, event_type=0, data=0x55833813d400) at kernel/qcoreapplication.cpp:1821
#48 0x00007f4ab7cbd548 in postEventSourceDispatch (s=0x558338234ec0) at kernel/qeventdispatcher_glib.cpp:277
#49 0x00007f4ab580af13 in g_main_context_dispatch () from /usr/lib/libglib-2.0.so.0
#50 0x00007f4ab58610d9 in ?? () from /usr/lib/libglib-2.0.so.0
#51 0x00007f4ab5808485 in g_main_context_iteration () from /usr/lib/libglib-2.0.so.0
#52 0x00007f4ab7cc144a in QEventDispatcherGlib::processEvents (this=0x558338237200, flags=...) at kernel/qeventdispatcher_glib.cpp:423
#53 0x00007f4ab7c6e44b in QEventLoop::exec (this=0x7ffeb14ab540, flags=...) at ../../include/QtCore/../../src/corelib/global/qflags.h:69
#54 0x00007f4ab7c79b97 in QCoreApplication::exec () at ../../include/QtCore/../../src/corelib/global/qflags.h:121
#55 0x00007f4ab63a1162 in QGuiApplication::exec () at kernel/qguiapplication.cpp:1867
#56 0x00007f4ab808152a in QApplication::exec () at kernel/qapplication.cpp:2824
#57 0x00007f4ab898beea in kdemain (argc=<optimized out>, argv=<optimized out>) at /usr/src/debug/calligra-3.2.1/karbon/main.cpp:93
#58 0x00007f4ab87e3b25 in __libc_start_main () from /usr/lib/libc.so.6
#59 0x000055833753f05e in _start ()
[Inferior 1 (process 8280) detached]
Comment 1 Ken Rushia 2024-01-22 22:24:17 UTC
Created attachment 165141 [details]
New crash information added by DrKonqi

karbon (3.2.1) using Qt 5.15.11

Same crash as in 449687 but not the same file as reported there.

-- Backtrace (Reduced):
#6  KoShape::parent (this=this@entry=0x3b00000000) at /usr/src/debug/app-office/calligra-3.2.1-r8/calligra-3.2.1/libs/flake/KoShape.cpp:1208
#7  0x00007fe471ea3f61 in KoShape::compareShapeZIndex (s1=0x55a465052410, s2=0x3b00000000) at /usr/src/debug/app-office/calligra-3.2.1-r8/calligra-3.2.1/libs/flake/KoShape.cpp:488
#8  0x00007fe471eb3fe3 in __gnu_cxx::__ops::_Iter_comp_iter<bool (*)(KoShape*, KoShape*)>::operator()<QList<KoShape*>::iterator, QList<KoShape*>::iterator> (__it2=..., __it1=..., this=<synthetic pointer>) at /usr/lib/gcc/x86_64-pc-linux-gnu/13/include/g++-v13/bits/predefined_ops.h:157
#9  std::__unguarded_partition<QList<KoShape*>::iterator, __gnu_cxx::__ops::_Iter_comp_iter<bool (*)(KoShape*, KoShape*)> > (__comp=..., __pivot=..., __last=..., __first=...) at /usr/lib/gcc/x86_64-pc-linux-gnu/13/include/g++-v13/bits/stl_algo.h:1880
#10 std::__unguarded_partition_pivot<QList<KoShape*>::iterator, __gnu_cxx::__ops::_Iter_comp_iter<bool (*)(KoShape*, KoShape*)> > (__comp=..., __last=..., __first=...) at /usr/lib/gcc/x86_64-pc-linux-gnu/13/include/g++-v13/bits/stl_algo.h:1899
Comment 2 Ken Rushia 2024-01-22 22:27:31 UTC
Created attachment 165142 [details]
Another file that causes the crash

Probably authored by Libreoffice, but can't remember.
Comment 3 Ken Rushia 2024-01-22 22:28:31 UTC
*** Bug 448249 has been marked as a duplicate of this bug. ***