Bug 443144 - Marble always crashes on exit
Summary: Marble always crashes on exit
Status: RESOLVED FIXED
Alias: None
Product: marble
Classification: Applications
Component: general (show other bugs)
Version: unspecified
Platform: Debian stable Linux
: NOR crash
Target Milestone: ---
Assignee: marble-bugs
URL:
Keywords: drkonqi
: 441086 444978 (view as bug list)
Depends on:
Blocks:
 
Reported: 2021-09-30 01:54 UTC by Hieu Van
Modified: 2022-09-07 04:13 UTC (History)
9 users (show)

See Also:
Latest Commit:
Version Fixed In:


Attachments
New crash information added by DrKonqi (2.20 KB, text/plain)
2021-10-18 21:39 UTC, daciabrown6502
Details
New crash information added by DrKonqi (3.53 KB, text/plain)
2021-11-01 10:48 UTC, Cyrille Dunant
Details
New crash information added by DrKonqi (3.54 KB, text/plain)
2021-11-15 03:35 UTC, Andrei Coada
Details
New crash information added by DrKonqi (3.21 KB, text/plain)
2021-11-21 21:39 UTC, John Zaitseff
Details
New crash information added by DrKonqi (3.96 KB, text/plain)
2021-11-27 22:31 UTC, Marc Joliet
Details
New crash information added by DrKonqi (4.08 KB, text/plain)
2021-11-30 16:52 UTC, Denis Tolstov
Details
New crash information added by DrKonqi (3.72 KB, text/plain)
2021-12-06 04:13 UTC, Fushan Wen
Details
New crash information added by DrKonqi (3.14 KB, text/plain)
2022-09-07 04:11 UTC, Hieu Van
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Hieu Van 2021-09-30 01:54:01 UTC
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
Comment 1 daciabrown6502 2021-10-18 21:39:55 UTC
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
Comment 2 Cyrille Dunant 2021-11-01 10:48:07 UTC
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
Comment 3 Andrei Coada 2021-11-15 03:35:16 UTC
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
Comment 4 John Zaitseff 2021-11-21 21:39:12 UTC
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
Comment 5 Marc Joliet 2021-11-27 22:31:40 UTC
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
Comment 6 Denis Tolstov 2021-11-30 16:52:39 UTC
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
Comment 7 Fushan Wen 2021-12-06 04:13:14 UTC
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
Comment 8 Bug Janitor Service 2021-12-06 08:53:35 UTC
A possibly relevant merge request was started @ https://invent.kde.org/education/marble/-/merge_requests/60
Comment 9 Fushan Wen 2021-12-06 09:55:25 UTC
==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==
Comment 10 Fushan Wen 2021-12-07 00:16:27 UTC
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
Comment 11 Fushan Wen 2021-12-07 08:18:25 UTC
*** Bug 444978 has been marked as a duplicate of this bug. ***
Comment 12 Fushan Wen 2021-12-07 08:19:18 UTC
*** Bug 441086 has been marked as a duplicate of this bug. ***
Comment 13 Hieu Van 2022-09-07 04:11:10 UTC
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