Application: marble (2.2.20 (2.3 development version)) Qt Version: 5.15.2 Frameworks Version: 5.86.0 Operating System: Linux 5.10.0-8-amd64 x86_64 Windowing System: X11 Drkonqi Version: 5.21.5 Distribution: Debian GNU/Linux bookworm/sid -- Information about the crash: - What I was doing when the application crashed: Just quitting the application. Clicking on the X button on the title bar, Ctrl + Q or Menu -> Exit all yield the same result. The crash can be reproduced every time. -- Backtrace: Application: Marble Virtual Globe (marble), signal: Aborted [KCrash Handler] #4 __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:49 #5 0x00007fde2f5cf536 in __GI_abort () at abort.c:79 #6 0x00007fde2f6272b8 in __libc_message (action=action@entry=do_abort, fmt=fmt@entry=0x7fde2f7353a4 "%s\n") at ../sysdeps/posix/libc_fatal.c:155 #7 0x00007fde2f62ed0a in malloc_printerr (str=str@entry=0x7fde2f7335a7 "free(): invalid size") at malloc.c:5389 #8 0x00007fde2f6300e4 in _int_free (av=<optimized out>, p=0x7fff450ff200, have_lock=0) at malloc.c:4205 #9 0x00007fde2fc7152f in QObject::event(QEvent*) () from /lib/x86_64-linux-gnu/libQt5Core.so.5 #10 0x00007fde31372b57 in KXmlGuiWindow::event(QEvent*) () from /lib/x86_64-linux-gnu/libKF5XmlGui.so.5 #11 0x00007fde3071c74f in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /lib/x86_64-linux-gnu/libQt5Widgets.so.5 #12 0x00007fde2fc44e9a in QCoreApplication::notifyInternal2(QObject*, QEvent*) () from /lib/x86_64-linux-gnu/libQt5Core.so.5 #13 0x00007fde2fc47e11 in QCoreApplicationPrivate::sendPostedEvents(QObject*, int, QThreadData*) () from /lib/x86_64-linux-gnu/libQt5Core.so.5 #14 0x00007fde2fc9d413 in ?? () from /lib/x86_64-linux-gnu/libQt5Core.so.5 #15 0x00007fde2d829d0b in g_main_context_dispatch () from /lib/x86_64-linux-gnu/libglib-2.0.so.0 #16 0x00007fde2d829fb8 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0 #17 0x00007fde2d82a06f in g_main_context_iteration () from /lib/x86_64-linux-gnu/libglib-2.0.so.0 #18 0x00007fde2fc9ca90 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /lib/x86_64-linux-gnu/libQt5Core.so.5 #19 0x00007fde2fc438db in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /lib/x86_64-linux-gnu/libQt5Core.so.5 #20 0x00007fde2fc4bb10 in QCoreApplication::exec() () from /lib/x86_64-linux-gnu/libQt5Core.so.5 #21 0x00005569cf8da37e in ?? () #22 0x00007fde2f5d0e4a in __libc_start_main (main=0x5569cf8d6cd0, argc=1, argv=0x7fff450ff3b8, init=<optimized out>, fini=<optimized out>, rtld_fini=<optimized out>, stack_end=0x7fff450ff3a8) at ../csu/libc-start.c:314 #23 0x00005569cf8db28a in ?? () [Inferior 1 (process 592966) detached] Possible duplicates by query: bug 440777, bug 430698, bug 429344, bug 427384, bug 424911. Reported using DrKonqi
Created attachment 142591 [details] New crash information added by DrKonqi marble (2.2.20 (2.3 development version)) using Qt 5.15.2 - What I was doing when the application crashed: Closed application after viewing OpenStreetMap -- Backtrace (Reduced): #10 0x00007fbacb86f2b0 in QObject::event(QEvent*) () at /usr/lib/libQt5Core.so.5 #11 0x00007fbaccf78668 in KXmlGuiWindow::event(QEvent*) () at /usr/lib/libKF5XmlGui.so.5 #12 0x00007fbacc317d62 in QApplicationPrivate::notify_helper(QObject*, QEvent*) () at /usr/lib/libQt5Widgets.so.5 #13 0x00007fbacb8423ba in QCoreApplication::notifyInternal2(QObject*, QEvent*) () at /usr/lib/libQt5Core.so.5 #14 0x00007fbacb8454b9 in QCoreApplicationPrivate::sendPostedEvents(QObject*, int, QThreadData*) () at /usr/lib/libQt5Core.so.5
Created attachment 143087 [details] New crash information added by DrKonqi marble (2.2.20 (2.3 development version)) using Qt 5.15.2 - What I was doing when the application crashed: I have tried multiple times, but every time, marble crashes on exit. -- Backtrace (Reduced): #4 __pthread_kill_implementation (threadid=<optimized out>, signo=signo@entry=6, no_tid=no_tid@entry=0) at pthread_kill.c:44 #5 0x00007f67672fc8e3 in __pthread_kill_internal (signo=6, threadid=<optimized out>) at pthread_kill.c:78 #6 0x00007f67672af6f6 in __GI_raise (sig=sig@entry=6) at ../sysdeps/posix/raise.c:26 #7 0x00007f67672997b3 in __GI_abort () at abort.c:79 [...] #9 0x00007f676730686c in malloc_printerr (str=str@entry=0x7f676742b2d4 "free(): invalid pointer") at malloc.c:5543
Created attachment 143559 [details] New crash information added by DrKonqi marble (2.2.20 (2.3 development version)) using Qt 5.15.2 - What I was doing when the application crashed: The application will crash every time I hit the "Close" button. -- Backtrace (Reduced): #6 __pthread_kill_implementation (threadid=<optimized out>, signo=signo@entry=6, no_tid=no_tid@entry=0) at pthread_kill.c:44 #7 0x00007f19713ba8e3 in __pthread_kill_internal (signo=6, threadid=<optimized out>) at pthread_kill.c:78 #8 0x00007f197136d6f6 in __GI_raise (sig=sig@entry=6) at ../sysdeps/posix/raise.c:26 #9 0x00007f19713577b3 in __GI_abort () at abort.c:79 [...] #11 0x00007f19713c486c in malloc_printerr (str=str@entry=0x7f19714e92d4 "free(): invalid pointer") at malloc.c:5543
Created attachment 143811 [details] New crash information added by DrKonqi marble (2.2.20 (2.3 development version)) using Qt 5.15.2 - What I was doing when the application crashed: Closing the application after viewing any map; was using OpenTopoMap at the time. Crashes every time I exit Marble. -- Backtrace (Reduced): #4 __pthread_kill_implementation (no_tid=0, signo=6, threadid=139804725797888) at pthread_kill.c:44 #5 __pthread_kill_internal (signo=6, threadid=139804725797888) at pthread_kill.c:80 #6 __GI___pthread_kill (threadid=139804725797888, signo=signo@entry=6) at pthread_kill.c:91 #7 0x00007f26e6ede476 in __GI_raise (sig=sig@entry=6) at ../sysdeps/posix/raise.c:26 #8 0x00007f26e6ec47b7 in __GI_abort () at abort.c:79
Created attachment 144012 [details] New crash information added by DrKonqi marble (2.2.20 (2.3 development version)) using Qt 5.15.2 - What I was doing when the application crashed: This always happens when I close Marble. This has been happening for several months now, at least. -- Backtrace (Reduced): #6 __pthread_kill_implementation (threadid=<optimized out>, signo=signo@entry=6, no_tid=no_tid@entry=0) at pthread_kill.c:44 #7 0x00007f73ae594323 in __pthread_kill_internal (signo=6, threadid=<optimized out>) at pthread_kill.c:78 #8 0x00007f73ae544366 in __GI_raise (sig=sig@entry=6) at ../sysdeps/posix/raise.c:26 #9 0x00007f73ae52d7d3 in __GI_abort () at abort.c:79 [...] #11 0x00007f73ae59ee8c in malloc_printerr (str=str@entry=0x7f73ae6cb2d4 "free(): invalid pointer") at malloc.c:5543
Created attachment 144088 [details] New crash information added by DrKonqi marble (2.2.20 (2.3 development version)) using Qt 5.15.2 - What I was doing when the application crashed: Started Marble, did nothing for 5 seconds, then pressed [X] to gracefully close application. Alternatively, mouse-navigated File->Quit or pressed Ctrl+Q. To be fair, it closed, but crashed with a `free(): invalid size` somewhere in window destructors AFAICS. -- Backtrace (Reduced): #4 __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:49 #5 0x00007fc2e5ec1537 in __GI_abort () at abort.c:79 [...] #7 0x00007fc2e5f2114b in malloc_printerr (str=str@entry=0x7fc2e6020a28 "free(): invalid size") at malloc.c:5628 #8 0x00007fc2e5f22404 in _int_free (av=<optimized out>, p=0x7ffe757f5390, have_lock=0) at malloc.c:4402 #9 0x00007fc2e5f26215 in __GI___libc_free (mem=<optimized out>) at malloc.c:3309
Created attachment 144248 [details] New crash information added by DrKonqi marble (2.2.20 (2.3 development version)) using Qt 5.15.2 - What I was doing when the application crashed: Exit Marble, and Dr.Konqi appears. Perhaps some pointers are deleted twice. -- Backtrace (Reduced): #6 __pthread_kill_implementation (threadid=<optimized out>, signo=signo@entry=6, no_tid=no_tid@entry=0) at pthread_kill.c:44 #7 0x00007f1921f10323 in __pthread_kill_internal (signo=6, threadid=<optimized out>) at pthread_kill.c:78 #8 0x00007f1921ec0366 in __GI_raise (sig=sig@entry=6) at ../sysdeps/posix/raise.c:26 #9 0x00007f1921ea97d3 in __GI_abort () at abort.c:79 [...] #11 0x00007f1921f1ae8c in malloc_printerr (str=str@entry=0x7f19220472d4 "free(): invalid pointer") at malloc.c:5543
A possibly relevant merge request was started @ https://invent.kde.org/education/marble/-/merge_requests/60
==4291== Invalid free() / delete / delete[] / realloc() ==4291== at 0x484671B: operator delete(void*) (in /usr/libexec/valgrind/vgpreload_memcheck-amd64-linux.so) ==4291== by 0x42651B: Marble::MainWindow::~MainWindow() (KdeMainWindow.cpp:75) ==4291== by 0xF9F4D8E: QObject::event(QEvent*) (qobject.cpp:1301) ==4291== by 0xDAC5DDE: KMainWindow::event(QEvent*) (kmainwindow.cpp:942) ==4291== by 0xDB15F07: KXmlGuiWindow::event(QEvent*) (kxmlguiwindow.cpp:219) ==4291== by 0xEA77A7E: QApplicationPrivate::notify_helper(QObject*, QEvent*) (qapplication.cpp:3632) ==4291== by 0xF9C89F9: QCoreApplication::notifyInternal2(QObject*, QEvent*) (qcoreapplication.cpp:1064) ==4291== by 0xF9CBA46: QCoreApplicationPrivate::sendPostedEvents(QObject*, int, QThreadData*) (qcoreapplication.cpp:1821) ==4291== by 0xFA20852: postEventSourceDispatch(_GSource*, int (*)(void*), void*) (qeventdispatcher_glib.cpp:277) ==4291== by 0x135CED4E: g_main_dispatch (gmain.c:3381) ==4291== by 0x135CED4E: g_main_context_dispatch (gmain.c:4099) ==4291== by 0x135CF0D7: g_main_context_iterate.constprop.0 (gmain.c:4175) ==4291== by 0x135CF18E: g_main_context_iteration (gmain.c:4240) ==4291== Address 0x1ffeffe8f0 is on thread 1's stack ==4291== ==4291== Invalid read of size 8 ==4291== at 0xDB15D89: KXmlGuiWindow::~KXmlGuiWindow() (kxmlguiwindow.cpp:214) ==4291== by 0x4264C9: Marble::MainWindow::~MainWindow() (KdeMainWindow.cpp:75) ==4291== by 0x4220D0: main (kdemain.cpp:442) ==4291== Address 0xc8 is not stack'd, malloc'd or (recently) free'd ==4291==
Git commit 6713da0a529391e7c59367a9f7a2535e615f7e4e by Fushan Wen. Committed on 06/12/2021 at 10:28. Pushed by fusionfuture into branch 'master'. apps/marble-kde: Use heap memory allocation for MainWindow If a QObject is on the stack or global, sooner or later the program will crash. We should use heap memory allocation for MainWindow, so marble will not crash on exit. M +12 -12 src/apps/marble-kde/kdemain.cpp https://invent.kde.org/education/marble/commit/6713da0a529391e7c59367a9f7a2535e615f7e4e
*** Bug 444978 has been marked as a duplicate of this bug. ***
*** Bug 441086 has been marked as a duplicate of this bug. ***
Created attachment 151878 [details] New crash information added by DrKonqi marble (2.2.20 (2.3 development version)) using Qt 5.15.4 Marble always crash on exit regardless of what the user did before -- Backtrace (Reduced): #4 __pthread_kill_implementation (threadid=<optimized out>, signo=signo@entry=6, no_tid=no_tid@entry=0) at ./nptl/pthread_kill.c:44 #5 0x00007fa36028989f in __pthread_kill_internal (signo=6, threadid=<optimized out>) at ./nptl/pthread_kill.c:78 #6 0x00007fa36023da52 in __GI_raise (sig=sig@entry=6) at ../sysdeps/posix/raise.c:26 #7 0x00007fa360228469 in __GI_abort () at ./stdlib/abort.c:79 [...] #9 0x00007fa36029355a in malloc_printerr (str=str@entry=0x7fa3603b21d2 "free(): invalid pointer") at ./malloc/malloc.c:5531