Thread 1 "united-airlion" received signal SIGSEGV, Segmentation fault. 0x00007ffff255776f in _dbus_type_reader_recurse () from /usr/lib/libdbus-1.so.3 (gdb) bt #0 0x00007ffff255776f in _dbus_type_reader_recurse () at /usr/lib/libdbus-1.so.3 #1 0x00007ffff6a821d0 in () at /usr/lib/libQt5DBus.so.5 #2 0x00007ffff6a825b8 in QDBusArgument::beginArray() const () at /usr/lib/libQt5DBus.so.5 #3 0x00007ffff6443ec9 in operator>>(QDBusArgument const&, QList<QMap<QString, QVariant> >&) () at /usr/lib/libKF5ModemManagerQt.so.6 #4 0x00007ffff6443f2d in operator>>(QDBusArgument const&, QList<QMap<QString, QVariant> >&) () at /usr/lib/libKF5ModemManagerQt.so.6 #5 0x00007ffff6443f2d in operator>>(QDBusArgument const&, QList<QMap<QString, QVariant> >&) () at /usr/lib/libKF5ModemManagerQt.so.6 #6 0x00007ffff6443f2d in operator>>(QDBusArgument const&, QList<QMap<QString, QVariant> >&) () at /usr/lib/libKF5ModemManagerQt.so.6 #7 0x00007ffff6a87d30 in QDBusMetaType::demarshall(QDBusArgument const&, int, void*) () at /usr/lib/libQt5DBus.so.5
Details
Details
- Reviewers
jgrulich broulik - Group Reviewers
Frameworks - Commits
- R281:66362ec67b8f: Fix QVariantMapList operator >> implementation
Diff Detail
Diff Detail
- Repository
- R281 ModemManagerQt
- Lint
Automatic diff as part of commit; lint not applicable. - Unit
Automatic diff as part of commit; unit tests not applicable.
Comment Actions
Is that custom marshaller even neccessary? I thought Qt could resolve QList and QVariantMap (even nested) automatically? Can you try just removing that entire thing?
Comment Actions
Unless I'm missing something, it seems that it really is needed, this is what I got when removing the custom marshallers for QVariantMapList:
CMakeFiles/KF5ModemManagerQt.dir/bearer.cpp.o: In function `QList<QMap<QString, QVariant> > qdbus_cast<QList<QMap<QString, QVariant> > >(QDBusArgument const&, QList<QMap<QString, QVariant> >*)': bearer.cpp:(.text._Z10qdbus_castI5QListI4QMapI7QString8QVariantEEET_RK13QDBusArgumentPS6_[_Z10qdbus_castI5QListI4QMapI7QString8QVariantEEET_RK13QDBusArgumentPS6_]+0x3e): undefined reference to `operator>>(QDBusArgument const&, QList<QMap<QString, QVariant> >&)' CMakeFiles/KF5ModemManagerQt.dir/generictypes.cpp.o: In function `void qDBusMarshallHelper<QList<QMap<QString, QVariant> > >(QDBusArgument&, QList<QMap<QString, QVariant> > const*)': generictypes.cpp:(.text._Z19qDBusMarshallHelperI5QListI4QMapI7QString8QVariantEEEvR13QDBusArgumentPKT_[_Z19qDBusMarshallHelperI5QListI4QMapI7QString8QVariantEEEvR13QDBusArgumentPKT_]+0x1f): undefined reference to `operator<<(QDBusArgument&, QList<QMap<QString, QVariant> > const&)' CMakeFiles/KF5ModemManagerQt.dir/generictypes.cpp.o: In function `void qDBusDemarshallHelper<QList<QMap<QString, QVariant> > >(QDBusArgument const&, QList<QMap<QString, QVariant> >*)': generictypes.cpp:(.text._Z21qDBusDemarshallHelperI5QListI4QMapI7QString8QVariantEEEvRK13QDBusArgumentPT_[_Z21qDBusDemarshallHelperI5QListI4QMapI7QString8QVariantEEEvRK13QDBusArgumentPT_]+0x1f): undefined reference to `operator>>(QDBusArgument const&, QList<QMap<QString, QVariant> >&)' collect2: error: ld returned 1 exit status