[konsole] [Bug 369050] Konsole crashs randomly.
Bernhard Übelacker
bugzilla_noreply at kde.org
Fri Jan 20 14:59:46 UTC 2017
https://bugs.kde.org/show_bug.cgi?id=369050
--- Comment #19 from Bernhard Übelacker <bernhardu at mailbox.org> ---
Created attachment 103561
--> https://bugs.kde.org/attachment.cgi?id=103561&action=edit
gdb session with some pretty-printers showing the event details.
Hello,
It took some time to get the pretty-printers in place.
Please see attached file for more informations on the
QDBusCallDeliveryEvent object.
Who is sending the message I could not find out.
Right now no "org.a11y.atspi.Registry" is visible
in qdbusviewer, just a "org.a11y.Bus" ?
At least in [1] Qt5 seems to listen to this
"EventListenerDeregistered" message.
The message member seems to contain a member arguments [2],
a QList<QVariant>, containing 2 QVariant of type = 10.
type = 10 == QVariant::String == QMetaType::QString ?
The error message:
Internal error: got invalid meta type 11 (QStringList)
when trying to convert to meta type 10 (QString)
So it looks like the arguments got converted in [3] somehow to
a QStringList instead a QString, and do therefore not
match the "eventListenerDeregistered" signature anymore.
Kind regards,
Bernhard
[1]
qtbase-opensource-src-5.7.1+dfsg/src/platformsupport/linuxaccessibility/atspiadaptor.cpp:140
success = success &&
m_dbus->connection().connect(QLatin1String("org.a11y.atspi.Registry"),
QLatin1String("/org/a11y/atspi/registry"),
QLatin1String("org.a11y.atspi.Registry"),
QLatin1String("EventListenerDeregistered"), this,
SLOT(eventListenerDeregistered(QString,QString)));
[2]
(gdb) print *(e->message.d_ptr)
$8 = {
arguments = QList<QVariant> = {
[0] = {
d = {
data = {
..
ptr = 0x7fb1100117f0,
shared = 0x7fb1100117f0
},
type = 10,
is_shared = 0,
is_null = 0
}
},
[1] = {
d = {
data = {
..
ptr = 0x7fb1100172c0,
shared = 0x7fb1100172c0
},
type = 10,
is_shared = 0,
is_null = 0
}
}
},
...
interface = "org.a11y.atspi.Registry",
name = "EventListenerDeregistered",
...
[3] qtbase-opensource-src-5.7.1+dfsg/src/dbus/qdbusintegrator.cpp:935
const QVariant &arg = msg.arguments().at(i - 1);
if (arg.userType() == id)
...
else if (arg.userType() == qMetaTypeId<QDBusArgument>()) {
...
} else {
qFatal("Internal error: got invalid meta type %d (%s) "
"when trying to convert to meta type %d (%s)",
arg.userType(), QMetaType::typeName(arg.userType()),
id, QMetaType::typeName(id));
}
--
You are receiving this mail because:
You are the assignee for the bug.
More information about the konsole-devel
mailing list