[marble] [Bug 475672] New: marble crashed when starting in GNOME

Matt Fagnani bugzilla_noreply at kde.org
Sun Oct 15 22:22:20 BST 2023


https://bugs.kde.org/show_bug.cgi?id=475672

            Bug ID: 475672
           Summary: marble crashed when starting in GNOME
    Classification: Applications
           Product: marble
           Version: 23.08.1
          Platform: Fedora RPMs
                OS: Linux
            Status: REPORTED
          Severity: normal
          Priority: NOR
         Component: general
          Assignee: marble-bugs at kde.org
          Reporter: matt.fagnani at bell.net
  Target Milestone: ---

Created attachment 162330
  --> https://bugs.kde.org/attachment.cgi?id=162330&action=edit
Full trace of all threads of marble crash

SUMMARY

marble 23.08.1 crashed 4/4 times when starting in GNOME 45.0 on Wayland in a
Fedora 39 KDE Plasma installation. coredumpctl gdb showed the memory access
error _q_value=<error reading variable: Cannot access memory at address
0xffff000000000001> in frame 6 in QAtomicOps<int>::loadRelaxed<int> which
looked like an invalid pointer. The trace had functions like
QAdwaitaDecorations::updateColors from qadwaitadecorations-0.1.2-1.fc39.x86_64
which I think is used for Qt programs in GNOME in Fedora.

Using host libthread_db library "/lib64/libthread_db.so.1".
Core was generated by `marble'.
Program terminated with signal SIGSEGV, Segmentation fault.
#0  __pthread_kill_implementation (threadid=<optimized out>,
signo=signo at entry=11, 
    no_tid=no_tid at entry=0) at pthread_kill.c:44
44            return INTERNAL_SYSCALL_ERROR_P (ret) ? INTERNAL_SYSCALL_ERRNO
(ret) : 0;
[Current thread is 1 (Thread 0x7f530edf4f80 (LWP 43363))]
(gdb) bt
#0  __pthread_kill_implementation
    (threadid=<optimized out>, signo=signo at entry=11, no_tid=no_tid at entry=0) at
pthread_kill.c:44
#1  0x00007f530d2ae8a3 in __pthread_kill_internal (signo=11,
threadid=<optimized out>)
    at pthread_kill.c:78
#2  0x00007f530d25c8ee in __GI_raise (sig=11) at ../sysdeps/posix/raise.c:26
#3  0x00007f530fc44945 in KCrash::defaultCrashHandler(int) () at
/lib64/libKF5Crash.so.5
#4  0x00007f530d25c9a0 in <signal handler called> () at /lib64/libc.so.6
#5  std::__atomic_base<int>::load(std::memory_order) const
    (__m=std::memory_order_relaxed, this=0xffff000000000001)
    at /usr/include/c++/13/bits/atomic_base.h:503
#6  QAtomicOps<int>::loadRelaxed<int>(std::atomic<int> const&)
    (_q_value=<error reading variable: Cannot access memory at address
0xffff000000000001>)
    at /usr/include/qt5/QtCore/qatomic_cxx11.h:239
#7  QBasicAtomicInteger<int>::loadRelaxed() const (this=0xffff000000000001)
    at /usr/include/qt5/QtCore/qbasicatomic.h:107
#8  QtPrivate::RefCount::deref() (this=0xffff000000000001) at
/usr/include/qt5/QtCore/qrefcount.h:66
#9  QMap<QAdwaitaDecorations::ColorType, QColor>::~QMap()
    (this=<synthetic pointer>, this=<optimized out>) at
/usr/include/qt5/QtCore/qmap.h:338
#10 QMap<QAdwaitaDecorations::ColorType,
QColor>::operator=(QMap<QAdwaitaDecorations::ColorType, QColor>&&) (other=...,
this=0x55d4453fb630) at /usr/include/qt5/QtCore/qmap.h:349
#11 QAdwaitaDecorations::updateColors(bool) (this=0x55d4453fb5f0,
useDarkColors=<optimized out>)
    at
/usr/src/debug/qadwaitadecorations-0.1.2-1.fc39.x86_64/src/qadwaitadecorations.cpp:156
#12 0x00007f52978209cb in operator() (watcher=0x55d444eea140,
__closure=0x55d4453e3c40)
--Type <RET> for more, q to quit, c to continue without paging--c
    at
/usr/src/debug/qadwaitadecorations-0.1.2-1.fc39.x86_64/src/qadwaitadecorations.cpp:124
#13 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>,
QtPrivate::List<QDBusPendingCallWatcher*>, void,
QAdwaitaDecorations::initConfiguration()::<lambda(QDBusPendingCallWatcher*)>
>::call
    (arg=<optimized out>, f=...) at
/usr/include/qt5/QtCore/qobjectdefs_impl.h:146
#14
QtPrivate::Functor<QAdwaitaDecorations::initConfiguration()::<lambda(QDBusPendingCallWatcher*)>,
1>::call<QtPrivate::List<QDBusPendingCallWatcher*>, void> (arg=<optimized out>,
f=...)
    at /usr/include/qt5/QtCore/qobjectdefs_impl.h:256
#15
QtPrivate::QFunctorSlotObject<QAdwaitaDecorations::initConfiguration()::<lambda(QDBusPendingCallWatcher*)>,
1, QtPrivate::List<QDBusPendingCallWatcher*>, void>::impl(int,
QtPrivate::QSlotObjectBase *, QObject *, void **, bool *)
    (which=<optimized out>, this_=0x55d4453e3c30, r=<optimized out>,
a=<optimized out>, ret=<optimized out>) at
/usr/include/qt5/QtCore/qobjectdefs_impl.h:443
#16 0x00007f530dae84f1 in QtPrivate::QSlotObjectBase::call(QObject*, void**)
    (a=0x7ffea3cd3c60, r=<optimized out>, this=0x55d4453e3c30)
    at ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398
#17 doActivate<false>(QObject*, int, void**)
    (sender=0x55d444eea140, signal_index=3, argv=0x7ffea3cd3c60) at
kernel/qobject.cpp:3925
#18 0x00007f530dae3417 in QMetaObject::activate(QObject*, QMetaObject const*,
int, void**)
    (sender=<optimized out>, m=m at entry=0x7f530ef315e0
<QDBusPendingCallWatcher::staticMetaObject>,
local_signal_index=local_signal_index at entry=0, argv=argv at entry=0x7ffea3cd3c60)
    at kernel/qobject.cpp:3985
#19 0x00007f530ef16cc1 in
QDBusPendingCallWatcher::finished(QDBusPendingCallWatcher*)
    (this=<optimized out>, _t1=<optimized out>) at
.moc/moc_qdbuspendingcall.cpp:158
#20 0x00007f530daded9b in QObject::event(QEvent*) (this=0x55d444eea140,
e=0x55d444e4b1c0)
    at kernel/qobject.cpp:1347
#21 0x00007f530e7aeb75 in QApplicationPrivate::notify_helper(QObject*, QEvent*)
    (this=<optimized out>, receiver=0x55d444eea140, e=0x55d444e4b1c0) at
kernel/qapplication.cpp:3640
#22 0x00007f530dab4218 in QCoreApplication::notifyInternal2(QObject*, QEvent*)
    (receiver=0x55d444eea140, event=0x55d444e4b1c0) at
kernel/qcoreapplication.cpp:1064
#23 0x00007f530dab4432 in QCoreApplication::sendEvent(QObject*, QEvent*)
    (receiver=<optimized out>, event=<optimized out>) at
kernel/qcoreapplication.cpp:1462
#24 0x00007f530dab76c5 in QCoreApplicationPrivate::sendPostedEvents(QObject*,
int, QThreadData*)
    (receiver=0x0, event_type=0, data=0x55d444817e80) at
kernel/qcoreapplication.cpp:1821
#25 0x00007f530dab797d in QCoreApplication::sendPostedEvents(QObject*, int)
    (receiver=<optimized out>, event_type=<optimized out>) at
kernel/qcoreapplication.cpp:1680
#26 0x00007f530db06c6f in postEventSourceDispatch(GSource*, GSourceFunc,
gpointer) (s=0x55d44497a830)
    at kernel/qeventdispatcher_glib.cpp:277
#27 0x00007f530bf11e1c in g_main_dispatch (context=0x7f52ec000ec0) at
../glib/gmain.c:3476
#28 g_main_context_dispatch_unlocked (context=0x7f52ec000ec0) at
../glib/gmain.c:4284
#29 0x00007f530bf6cd78 in g_main_context_iterate_unlocked.isra.0
    (context=context at entry=0x7f52ec000ec0, block=block at entry=1,
dispatch=dispatch at entry=1, self=<optimized out>) at ../glib/gmain.c:4349
#30 0x00007f530bf0fa93 in g_main_context_iteration (context=0x7f52ec000ec0,
may_block=1)
    at ../glib/gmain.c:4414
#31 0x00007f530db06759 in
QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>)
    (this=0x55d44497a7f0, flags=...) at kernel/qeventdispatcher_glib.cpp:423
#32 0x00007f530dab2bdb in
QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>)
    (this=this at entry=0x7ffea3cd40d0, flags=..., flags at entry=...)
    at ../../include/QtCore/../../src/corelib/global/qflags.h:69
#33 0x00007f530dabae6b in QCoreApplication::exec() ()
    at ../../include/QtCore/../../src/corelib/global/qflags.h:121
#34 0x000055d442f47035 in main ()

I'm attaching the full trace of all threads. marble ran normally in Plasma
5.27.8 on Wayland, so this might be a GNOME-specific problem.

STEPS TO REPRODUCE
1. Boot a Fedora 39 KDE Plasma installation with the GNOME desktop group
installed
2. Log in to GNOME 45.0 on Wayland from sddm
3. Click on the button at the top-left of the screen to show the search bar
4. Enter marble in the search bar
5. Select marble from the search results

OBSERVED RESULT
marble crashed when starting in GNOME

EXPECTED RESULT
marble should've run normally

SOFTWARE/OS VERSIONS
Linux/KDE Plasma: Fedora 39
(available in About System)
KDE Plasma Version: 5.27.8
KDE Frameworks Version: 5.110.0
Qt Version: 5.15.10

ADDITIONAL INFORMATION

drkonqi failed to generate traces from the marble core dumps due to some bad
file descriptor errors. The traces I got were with drkonqi removed so that the
crashes were shown by coredumpctl.

-- 
You are receiving this mail because:
You are the assignee for the bug.


More information about the Marble-bugs mailing list