Segfault when pressing 3 times up key
Description
Pressing 3 times the Up-Key when focused in the compose field.
Steps to reproduce
- Open app
- select a chat
- compose and send one message
- press 3 times the up-key
You can crash neochat the next time by just select the chat again and press another times the up-key
What is the current bug behavior?
segfault:
#0 QJsonObject::value (this=0x10, key=...) at serialization/qjsonobject.cpp:362
#1 0x00007ffff7e1e527 in Quotient::Event::contentJson() const () from /usr/lib/x86_64-linux-gnu/libQuotient.so.0.6
#2 0x00007ffff7e24f3c in Quotient::RoomMessageEvent::rawMsgtype() const () from /usr/lib/x86_64-linux-gnu/libQuotient.so.0.6
#3 0x00007ffff7e24fd5 in Quotient::RoomMessageEvent::msgtype() const () from /usr/lib/x86_64-linux-gnu/libQuotient.so.0.6
#4 0x00005555555fdc2a in ?? ()
#5 0x00005555555da71e in ?? ()
#6 0x00005555555ddecb in ?? ()
#7 0x00007ffff7400f1d in ?? () from /usr/lib/x86_64-linux-gnu/libQt5Qml.so.5
#8 0x00007ffff72dec15 in ?? () from /usr/lib/x86_64-linux-gnu/libQt5Qml.so.5
#9 0x00007ffff72e1d2b in QV4::QObjectMethod::callInternal(QV4::Value const*, QV4::Value const*, int) const () from /usr/lib/x86_64-linux-gnu/libQt5Qml.so.5
#10 0x00007ffff72fe993 in ?? () from /usr/lib/x86_64-linux-gnu/libQt5Qml.so.5
#11 0x00007ffff7301667 in ?? () from /usr/lib/x86_64-linux-gnu/libQt5Qml.so.5
#12 0x00007ffff7294bfe in QV4::Function::call(QV4::Value const*, QV4::Value const*, int, QV4::ExecutionContext const*) () from /usr/lib/x86_64-linux-gnu/libQt5Qml.so.5
#13 0x00007ffff741b8a5 in QQmlJavaScriptExpression::evaluate(QV4::CallData*, bool*) () from /usr/lib/x86_64-linux-gnu/libQt5Qml.so.5
#14 0x00007ffff73cd60b in QQmlBoundSignalExpression::evaluate(void**) () from /usr/lib/x86_64-linux-gnu/libQt5Qml.so.5
#15 0x00007ffff73ce7f8 in ?? () from /usr/lib/x86_64-linux-gnu/libQt5Qml.so.5
#16 0x00007ffff74009c5 in QQmlNotifier::emitNotify(QQmlNotifierEndpoint*, void**) () from /usr/lib/x86_64-linux-gnu/libQt5Qml.so.5
#17 0x00007ffff5c53c98 in doActivate<false> (sender=0x5555566460c0, signal_index=33, argv=0x7fffffff9090) at kernel/qobject.cpp:3778
#18 0x00007ffff73a9b6c in QQmlVMEMetaObject::metaCall(QObject*, QMetaObject::Call, int, void**) () from /usr/lib/x86_64-linux-gnu/libQt5Qml.so.5
#19 0x00007ffff7400f1d in ?? () from /usr/lib/x86_64-linux-gnu/libQt5Qml.so.5
#20 0x00007ffff72dea9e in ?? () from /usr/lib/x86_64-linux-gnu/libQt5Qml.so.5
#21 0x00007ffff72e1d2b in QV4::QObjectMethod::callInternal(QV4::Value const*, QV4::Value const*, int) const () from /usr/lib/x86_64-linux-gnu/libQt5Qml.so.5
#22 0x00007ffff72fe993 in ?? () from /usr/lib/x86_64-linux-gnu/libQt5Qml.so.5
#23 0x00007ffff7301667 in ?? () from /usr/lib/x86_64-linux-gnu/libQt5Qml.so.5
#24 0x00007ffff7294bfe in QV4::Function::call(QV4::Value const*, QV4::Value const*, int, QV4::ExecutionContext const*) () from /usr/lib/x86_64-linux-gnu/libQt5Qml.so.5
#25 0x00007ffff741b8a5 in QQmlJavaScriptExpression::evaluate(QV4::CallData*, bool*) () from /usr/lib/x86_64-linux-gnu/libQt5Qml.so.5
#26 0x00007ffff73cd60b in QQmlBoundSignalExpression::evaluate(void**) () from /usr/lib/x86_64-linux-gnu/libQt5Qml.so.5
#27 0x00007ffff73ce7f8 in ?? () from /usr/lib/x86_64-linux-gnu/libQt5Qml.so.5
#28 0x00007ffff74009c5 in QQmlNotifier::emitNotify(QQmlNotifierEndpoint*, void**) () from /usr/lib/x86_64-linux-gnu/libQt5Qml.so.5
#29 0x00007ffff5c53c98 in doActivate<false> (sender=0x555556660ca0, signal_index=77, argv=0x7fffffffb450) at kernel/qobject.cpp:3778
#30 0x00007ffff73a9b6c in QQmlVMEMetaObject::metaCall(QObject*, QMetaObject::Call, int, void**) () from /usr/lib/x86_64-linux-gnu/libQt5Qml.so.5
#31 0x00007ffff7400f1d in ?? () from /usr/lib/x86_64-linux-gnu/libQt5Qml.so.5
#32 0x00007ffff72dea9e in ?? () from /usr/lib/x86_64-linux-gnu/libQt5Qml.so.5
#33 0x00007ffff72e1d2b in QV4::QObjectMethod::callInternal(QV4::Value const*, QV4::Value const*, int) const () from /usr/lib/x86_64-linux-gnu/libQt5Qml.so.5
#34 0x00007ffff7310972 in QV4::Runtime::CallQmlContextPropertyLookup::call(QV4::ExecutionEngine*, unsigned int, QV4::Value*, int) () from /usr/lib/x86_64-linux-gnu/libQt5Qml.so.5
#35 0x00007ffff72fcfc6 in ?? () from /usr/lib/x86_64-linux-gnu/libQt5Qml.so.5
#36 0x00007ffff7301667 in ?? () from /usr/lib/x86_64-linux-gnu/libQt5Qml.so.5
--Type <RET> for more, q to quit, c to continue without paging--
#37 0x00007ffff7294bfe in QV4::Function::call(QV4::Value const*, QV4::Value const*, int, QV4::ExecutionContext const*) () from /usr/lib/x86_64-linux-gnu/libQt5Qml.so.5
#38 0x00007ffff741b8a5 in QQmlJavaScriptExpression::evaluate(QV4::CallData*, bool*) () from /usr/lib/x86_64-linux-gnu/libQt5Qml.so.5
#39 0x00007ffff73cd60b in QQmlBoundSignalExpression::evaluate(void**) () from /usr/lib/x86_64-linux-gnu/libQt5Qml.so.5
#40 0x00007ffff73ce7f8 in ?? () from /usr/lib/x86_64-linux-gnu/libQt5Qml.so.5
#41 0x00007ffff74009c5 in QQmlNotifier::emitNotify(QQmlNotifierEndpoint*, void**) () from /usr/lib/x86_64-linux-gnu/libQt5Qml.so.5
#42 0x00007ffff5c53c98 in doActivate<false> (sender=0x5555566a8bd0, signal_index=5, argv=0x7fffffffd610) at kernel/qobject.cpp:3778
#43 0x00007ffff7803bb1 in ?? () from /usr/lib/x86_64-linux-gnu/libQt5Quick.so.5
#44 0x00007ffff7802943 in QQuickItemPrivate::filterKeyEvent(QKeyEvent*, bool) () from /usr/lib/x86_64-linux-gnu/libQt5Quick.so.5
#45 0x00007ffff7811d85 in QQuickItemPrivate::deliverKeyEvent(QKeyEvent*) () from /usr/lib/x86_64-linux-gnu/libQt5Quick.so.5
#46 0x00007ffff7812058 in QQuickItem::event(QEvent*) () from /usr/lib/x86_64-linux-gnu/libQt5Quick.so.5
#47 0x00007ffff66ef6bf in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#48 0x00007ffff5c1daca in QCoreApplication::notifyInternal2 (receiver=0x5555566846e0, event=0x7fffffffd920) at kernel/qcoreapplication.cpp:1063
#49 0x00007ffff782061f in QQuickWindowPrivate::deliverKeyEvent(QKeyEvent*) () from /usr/lib/x86_64-linux-gnu/libQt5Quick.so.5
#50 0x00007ffff6006035 in QWindow::event(QEvent*) () from /usr/lib/x86_64-linux-gnu/libQt5Gui.so.5
#51 0x00007ffff66ef6bf in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#52 0x00007ffff5c1daca in QCoreApplication::notifyInternal2 (receiver=0x555555820dd0, event=0x7fffffffd920) at kernel/qcoreapplication.cpp:1063
#53 0x00007ffff5ff61e2 in QGuiApplicationPrivate::processKeyEvent(QWindowSystemInterfacePrivate::KeyEvent*) () from /usr/lib/x86_64-linux-gnu/libQt5Gui.so.5
#54 0x00007ffff5fd025c in QWindowSystemInterface::sendWindowSystemEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/x86_64-linux-gnu/libQt5Gui.so.5
#55 0x00007ffff054657a in ?? () from /usr/lib/x86_64-linux-gnu/libQt5XcbQpa.so.5
#56 0x00007ffff51b6f8b in g_main_context_dispatch () from /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#57 0x00007ffff51b7238 in ?? () from /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#58 0x00007ffff51b72ef in g_main_context_iteration () from /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#59 0x00007ffff5c75104 in QEventDispatcherGlib::processEvents (this=0x5555557f1690, flags=...) at kernel/qeventdispatcher_glib.cpp:423
#60 0x00007ffff5c1c4db in QEventLoop::exec (this=this@entry=0x7fffffffdbb0, flags=..., flags@entry=...) at ../../include/QtCore/../../src/corelib/global/qflags.h:69
#61 0x00007ffff5c247b0 in QCoreApplication::exec () at ../../include/QtCore/../../src/corelib/global/qflags.h:121
#62 0x00005555555d1ced in main ()
What is the expected correct behavior?
not to crash ;) My expectation was to use the up-key to be able to get the last messages I send, like it is in a konsole.
System/Matrix Information
- Distribution / Platform: Debian unstable
- Qt Version: 5.15.2
- NeoChat version: 22.04
- Quotient version: 0.6.11
- Matrix server: matrix.org and kde.org
Edited by Sandro Knauß