Look at qdbusintegrator.cpp:719, in function QDBusConnectionPrivate::prepareReply().
The loop that checks if the arguments match does not handle messages with less arguments than in the "metaTypes" list. It simply accesses "msg.arguments().at.userType()" without making sure the argument list actually has an entry i.
This causes crash https://bugs.kde.org/show_bug.cgi?id=226721 (and duplicates).
Let me add that I am unsure why the number of arguments passed is too few in the first place. If that is an application error, Qt could emit a qWarning instead of a crash (maybe also for the case when argument types do not match).