[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