Skip to content

Gammaray & host applications crash when connecting #1093

Description

@vadi2

When using both out of process and in-process attachment, the host application crashes with:

gammaray_probe_attach()
QFatal in Mudlet (/home/vadi/Programs/Mudlet/build/src/mudlet)
START BACKTRACE:
1       /usr/lib/x86_64-linux-gnu/libQt6Core.so.6.8.3 ()
2       QMessageLogger::fatal(char const*, ...) const ()
3       qt_assert(char const*, char const*, int) ()
4       GammaRay::ObjectListModel::objectAdded(QObject*) (/home/vadi/Programs/GammaRay/core/objectlistmodel.cpp:76:5)
5       QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<QObject*>, void, void (GammaRay::ObjectListModel::*)(QObject*)>::call(void (GammaRay::ObjectListModel::*)(QObject*), GammaRay::ObjectListModel*, void**)::{lambda()#1}::operator()() const (/usr/include/x86_64-linux-gnu/qt6/QtCore/qobjectdefs_impl.h:152:31)
6       void QtPrivate::FunctorCallBase::call_internal<void, QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<QObject*>, void, void (GammaRay::ObjectListModel::*)(QObject*)>::call(void (GammaRay::ObjectListModel::*)(QObject*), GammaRay::ObjectListModel*, void**)::{lambda()#1}>(void**, QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<QObject*>, void, void (GammaRay::ObjectListModel::*)(QObject*)>::call(void (GammaRay::ObjectListModel::*)(QObject*), GammaRay::ObjectListModel*, void**)::{lambda()#1}&&) (/usr/include/x86_64-linux-gnu/qt6/QtCore/qobjectdefs_impl.h:65:41)
7       QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<QObject*>, void, void (GammaRay::ObjectListModel::*)(QObject*)>::call(void (GammaRay::ObjectListModel::*)(QObject*), GammaRay::ObjectListModel*, void**) (/usr/include/x86_64-linux-gnu/qt6/QtCore/qobjectdefs_impl.h:151:29)
8       void QtPrivate::FunctionPointer<void (GammaRay::ObjectListModel::*)(QObject*)>::call<QtPrivate::List<QObject*>, void>(void (GammaRay::ObjectListModel::*)(QObject*), GammaRay::ObjectListModel*, void**) (/usr/include/x86_64-linux-gnu/qt6/QtCore/qobjectdefs_impl.h:199:95)
9       QtPrivate::QCallableObject<void (GammaRay::ObjectListModel::*)(QObject*), QtPrivate::List<QObject*>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) (/usr/include/x86_64-linux-gnu/qt6/QtCore/qobjectdefs_impl.h:570:53)
10      /usr/lib/x86_64-linux-gnu/libQt6Core.so.6.8.3 ()
11      GammaRay::Probe::objectCreated(QObject*) (/home/vadi/Programs/GammaRay/build/core/gammaray_core_autogen/EWIEGA46WW/moc_probe.cpp:288:26)
12      GammaRay::Probe::objectFullyConstructed(QObject*) (/home/vadi/Programs/GammaRay/core/probe.cpp:642:23)
13      GammaRay::Probe::objectAdded(QObject*, bool) (/home/vadi/Programs/GammaRay/core/probe.cpp:570:43)
14      GammaRay::Probe::discoverObject(QObject*) (/home/vadi/Programs/GammaRay/core/probe.cpp:867:16)
15      GammaRay::WidgetInspectorServer::objectCreated(QObject*) (/home/vadi/Programs/GammaRay/plugins/widgetinspector/widgetinspectorserver.cpp:658:32)
16      QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<QObject*>, void, void (GammaRay::WidgetInspectorServer::*)(QObject*)>::call(void (GammaRay::WidgetInspectorServer::*)(QObject*), GammaRay::WidgetInspectorServer*, void**)::{lambda()#1}::operator()() const (/usr/include/x86_64-linux-gnu/qt6/QtCore/qobjectdefs_impl.h:152:31)
17      void QtPrivate::FunctorCallBase::call_internal<void, QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<QObject*>, void, void (GammaRay::WidgetInspectorServer::*)(QObject*)>::call(void (GammaRay::WidgetInspectorServer::*)(QObject*), GammaRay::WidgetInspectorServer*, void**)::{lambda()#1}>(void**, QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<QObject*>, void, void (GammaRay::WidgetInspectorServer::*)(QObject*)>::call(void (GammaRay::WidgetInspectorServer::*)(QObject*), GammaRay::WidgetInspectorServer*, void**)::{lambda()#1}&&) (/usr/include/x86_64-linux-gnu/qt6/QtCore/qobjectdefs_impl.h:65:41)
18      QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<QObject*>, void, void (GammaRay::WidgetInspectorServer::*)(QObject*)>::call(void (GammaRay::WidgetInspectorServer::*)(QObject*), GammaRay::WidgetInspectorServer*, void**) (/usr/include/x86_64-linux-gnu/qt6/QtCore/qobjectdefs_impl.h:151:29)
19      void QtPrivate::FunctionPointer<void (GammaRay::WidgetInspectorServer::*)(QObject*)>::call<QtPrivate::List<QObject*>, void>(void (GammaRay::WidgetInspectorServer::*)(QObject*), GammaRay::WidgetInspectorServer*, void**) (/usr/include/x86_64-linux-gnu/qt6/QtCore/qobjectdefs_impl.h:199:95)
20      QtPrivate::QCallableObject<void (GammaRay::WidgetInspectorServer::*)(QObject*), QtPrivate::List<QObject*>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) (/usr/include/x86_64-linux-gnu/qt6/QtCore/qobjectdefs_impl.h:570:53)
21      /usr/lib/x86_64-linux-gnu/libQt6Core.so.6.8.3 ()
22      GammaRay::Probe::objectCreated(QObject*) (/home/vadi/Programs/GammaRay/build/core/gammaray_core_autogen/EWIEGA46WW/moc_probe.cpp:288:26)
23      GammaRay::Probe::objectFullyConstructed(QObject*) (/home/vadi/Programs/GammaRay/core/probe.cpp:642:23)
24      GammaRay::Probe::objectAdded(QObject*, bool) (/home/vadi/Programs/GammaRay/core/probe.cpp:570:43)
25      GammaRay::Probe::discoverObject(QObject*) (/home/vadi/Programs/GammaRay/core/probe.cpp:867:16)
26      GammaRay::Probe::discoverObject(QObject*) (/home/vadi/Programs/GammaRay/core/probe.cpp:869:23)
27      GammaRay::WidgetInspectorServer::discoverObjects() (/home/vadi/Programs/GammaRay/plugins/widgetinspector/widgetinspectorserver.cpp:646:36)
28      GammaRay::WidgetInspectorServer::WidgetInspectorServer(GammaRay::Probe*, QObject*) (/home/vadi/Programs/GammaRay/plugins/widgetinspector/widgetinspectorserver.cpp:128:24)
29      GammaRay::StandardToolFactory<QWidget, GammaRay::WidgetInspectorServer>::init(GammaRay::Probe*) (/home/vadi/Programs/GammaRay/core/toolfactory.h:124:9)
30      GammaRay::ProxyToolFactory::init(GammaRay::Probe*) (/home/vadi/Programs/GammaRay/core/proxytoolfactory.cpp:43:14)
31      GammaRay::ToolManager::objectAdded(QMetaObject const*) (/home/vadi/Programs/GammaRay/core/toolmanager.cpp:195:26)
32      GammaRay::ToolManager::objectAdded(QObject*) (/home/vadi/Programs/GammaRay/core/toolmanager.cpp:175:20)
33      GammaRay::Probe::objectFullyConstructed(QObject*) (/home/vadi/Programs/GammaRay/core/probe.cpp:641:31)
34      GammaRay::Probe::objectAdded(QObject*, bool) (/home/vadi/Programs/GammaRay/core/probe.cpp:570:43)
35      GammaRay::Probe::discoverObject(QObject*) (/home/vadi/Programs/GammaRay/core/probe.cpp:867:16)
36      GammaRay::Probe::findExistingObjects() (/home/vadi/Programs/GammaRay/core/probe.cpp:849:19)
37      GammaRay::Probe::createProbe(bool) (/home/vadi/Programs/GammaRay/core/probe.cpp:320:39)
38      GammaRay::ProbeCreator::createProbe() (/home/vadi/Programs/GammaRay/probe/probecreator.cpp:75:23)
39      GammaRay::ProbeCreator::qt_static_metacall(QObject*, QMetaObject::Call, int, void**) (/home/vadi/Programs/GammaRay/build/probe/gammaray_probe_obj_autogen/EWIEGA46WW/moc_probecreator.cpp:90:32)
40      QObject::event(QEvent*) ()
41      QApplicationPrivate::notify_helper(QObject*, QEvent*) ()
42      QCoreApplication::notifyInternal2(QObject*, QEvent*) ()
43      QCoreApplicationPrivate::sendPostedEvents(QObject*, int, QThreadData*) ()
44      /usr/lib/x86_64-linux-gnu/libQt6Core.so.6.8.3 ()
45      /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0.8400.1 ()
46      /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0.8400.1 ()
END BACKTRACE
ASSERT: "it == m_objects.end() || *it != obj" in file /home/vadi/Programs/GammaRay/core/objectlistmodel.cpp, line 76
Aborted

This is using Qt 6.8.3 on Bazzite Linux.

Anything special I need to do to make this work?

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions