Bug 474361 - Neochat crashes when editing a message that is still being sent
Summary: Neochat crashes when editing a message that is still being sent
Status: RESOLVED FIXED
Alias: None
Product: NeoChat
Classification: Applications
Component: General (show other bugs)
Version: 23.08.0
Platform: openSUSE Linux
: NOR crash
Target Milestone: ---
Assignee: Tobias Fella
URL:
Keywords: drkonqi
: 475177 (view as bug list)
Depends on:
Blocks:
 
Reported: 2023-09-10 10:52 UTC by Fushan Wen
Modified: 2023-10-03 14:31 UTC (History)
2 users (show)

See Also:
Latest Commit:
Version Fixed In:
Sentry Crash Report:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Fushan Wen 2023-09-10 10:52:49 UTC
Application: neochat (23.08.0)

Qt Version: 5.15.10
Frameworks Version: 5.109.0
Operating System: Linux 6.4.12-1-default x86_64
Windowing System: X11
Distribution: "openSUSE Tumbleweed"
DrKonqi: 5.27.7 [KCrashBackend]

-- Information about the crash:
When I tried to edit a message that was still being sent by clicking the edit button, Neochat crashed.

The crash can be reproduced every time.

-- Backtrace:
Application: NeoChat (neochat), signal: Segmentation fault
Content of s_kcrashErrorMessage: std::unique_ptr<char []> = {get() = <optimized out>}
[KCrash Handler]
#4  Quotient::is<Quotient::RoomMessageEvent> (e=...) at /usr/include/Quotient/events/event.h:650
#5  Quotient::switchOnType<NeoChatRoom::eventToString(const Quotient::RoomEvent&, Qt::TextFormat, bool) const::<lambda(const Quotient::RoomMessageEvent&)>, NeoChatRoom::eventToString(const Quotient::RoomEvent&, Qt::TextFormat, bool) const::<lambda(const Quotient::StickerEvent&)>, NeoChatRoom::eventToString(const Quotient::RoomEvent&, Qt::TextFormat, bool) const::<lambda(const Quotient::RoomMemberEvent&)>, NeoChatRoom::eventToString(const Quotient::RoomEvent&, Qt::TextFormat, bool) const::<lambda(const Quotient::RoomCanonicalAliasEvent&)>, NeoChatRoom::eventToString(const Quotient::RoomEvent&, Qt::TextFormat, bool) const::<lambda(const Quotient::RoomNameEvent&)>, NeoChatRoom::eventToString(const Quotient::RoomEvent&, Qt::TextFormat, bool) const::<lambda(const Quotient::RoomTopicEvent&)>, NeoChatRoom::eventToString(const Quotient::RoomEvent&, Qt::TextFormat, bool) const::<lambda(const Quotient::RoomAvatarEvent&)>, NeoChatRoom::eventToString(const Quotient::RoomEvent&, Qt::TextFormat, bool) const::<lambda(const Quotient::EncryptionEvent&)>, NeoChatRoom::eventToString(const Quotient::RoomEvent&, Qt::TextFormat, bool) const::<lambda(const Quotient::RoomCreateEvent&)>, NeoChatRoom::eventToString(const Quotient::RoomEvent&, Qt::TextFormat, bool) const::<lambda(const Quotient::RoomPowerLevelsEvent&)>, NeoChatRoom::eventToString(const Quotient::RoomEvent&, Qt::TextFormat, bool) const::<lambda(const Quotient::StateEvent&)>, NeoChatRoom::eventToString(const Quotient::RoomEvent&, Qt::TextFormat, bool) const::<lambda(const Quotient::PollStartEvent&)>, QString, Quotient::RoomEvent> (fn1=..., event=...) at /usr/include/Quotient/events/event.h:653
#6  NeoChatRoom::eventToString (this=0x55f3fa4f4530, evt=..., format=Qt::PlainText, stripNewlines=false) at /usr/src/debug/neochat-23.08.0/src/neochatroom.cpp:672
#7  0x000055f3f3bea2a1 in NeoChatRoom::chatBoxEditMessage (this=0x55f3fa4f4530) at /usr/include/c++/13/bits/unique_ptr.h:199
#8  NeoChatRoom::qt_static_metacall (_o=0x55f3fa4f4530, _c=<optimized out>, _id=<optimized out>, _a=0x7fff349580f0) at /usr/src/debug/neochat-23.08.0/build/src/neochat_autogen/include/moc_neochatroom.cpp:1143
#9  0x00007ffbf0fbaacc in QQmlPropertyData::readProperty (property=0x7fff349580d0, target=<optimized out>, this=0x7ffbd82492d8) at ../../include/QtQml/5.15.10/QtQml/private/../../../../../../src/qml/qml/qqmlpropertydata_p.h:373
#10 loadProperty (v4=0x55f3f5c064a0, object=0x55f3fa4f4530, property=...) at /usr/src/debug/qtdeclarative-everywhere-src-5.15.10+kde26/src/qml/jsruntime/qv4qobjectwrapper.cpp:156
#11 0x00007ffbf0fdb301 in QV4::Moth::VME::interpret (frame=0x55f40254c170, frame@entry=0x7fff349582f0, engine=0x55f3f5c064a0, code=0x7ffbd789379e ":*:+\030\b\006`\bL\032.,\030\t.-:.>/\t\2600") at /usr/src/debug/qtdeclarative-everywhere-src-5.15.10+kde26/src/qml/jsruntime/qv4vme_moth.cpp:641
#12 0x00007ffbf0fdfb3f in QV4::Moth::VME::exec (frame=frame@entry=0x7fff349582f0, engine=engine@entry=0x55f3f5c064a0) at /usr/src/debug/qtdeclarative-everywhere-src-5.15.10+kde26/src/qml/jsruntime/qv4vme_moth.cpp:466
#13 0x00007ffbf0f73148 in QV4::ArrowFunction::virtualCall (fo=<optimized out>, thisObject=<optimized out>, argv=<optimized out>, argc=<optimized out>) at /usr/src/debug/qtdeclarative-everywhere-src-5.15.10+kde26/src/qml/jsruntime/qv4functionobject.cpp:528
#14 0x00007ffbf0fc442e in QV4::FunctionObject::call (argc=0, argv=0x7ffbe07c06a0, thisObject=0x7ffbe07c0698, this=0x7ffbe07c0690) at ../../include/QtQml/5.15.10/QtQml/private/../../../../../../src/qml/jsruntime/qv4functionobject_p.h:202
#15 QV4::FunctionObject::call (data=<synthetic pointer>..., this=0x7ffbe07c0690) at ../../include/QtQml/5.15.10/QtQml/private/../../../../../../src/qml/jsruntime/qv4jscall_p.h:112
#16 QV4::QObjectSlotDispatcher::impl (which=<optimized out>, this_=<optimized out>, r=<optimized out>, metaArgs=0x7fff34958500, ret=<optimized out>) at /usr/src/debug/qtdeclarative-everywhere-src-5.15.10+kde26/src/qml/jsruntime/qv4qobjectwrapper.cpp:937
#17 0x00007ffbef325812 in QtPrivate::QSlotObjectBase::call (a=0x7fff34958500, r=0x55f3fa4f4530, this=0x55f40312ae90) at ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398
#18 doActivate<false> (sender=0x55f3fa4f4530, signal_index=75, argv=0x7fff34958500) at kernel/qobject.cpp:3925
#19 0x000055f3f3bea903 in NeoChatRoom::qt_metacall (this=0x55f3fa4f4530, _c=QMetaObject::WriteProperty, _id=39, _a=0x7fff34958630) at /usr/src/debug/neochat-23.08.0/build/src/neochat_autogen/include/moc_neochatroom.cpp:1234
#20 0x00007ffbf0fc0efa in QV4::QObjectWrapper::setProperty (engine=engine@entry=0x55f3f5c064a0, object=object@entry=0x55f3fa4f4530, property=0x7ffbd8249258, value=...) at ../../include/QtQml/5.15.10/QtQml/private/../../../../../../src/qml/qml/qqmlpropertydata_p.h:284
#21 0x00007ffbf0fc13db in QV4::QObjectWrapper::setQmlProperty (engine=engine@entry=0x55f3f5c064a0, qmlContext=<optimized out>, object=0x55f3fa4f4530, name=<optimized out>, revisionMode=revisionMode@entry=QV4::QObjectWrapper::IgnoreRevision, value=...) at /usr/src/debug/qtdeclarative-everywhere-src-5.15.10+kde26/src/qml/jsruntime/qv4qobjectwrapper.cpp:435
#22 0x00007ffbf0fc153b in QV4::QObjectWrapper::virtualPut (m=0x7ffbe07c0670, id=..., value=..., receiver=0x7ffbe07c0670) at /usr/src/debug/qtdeclarative-everywhere-src-5.15.10+kde26/src/qml/jsruntime/qv4qobjectwrapper.cpp:722
#23 0x00007ffbf0f47ec3 in QV4::Object::put (receiver=0x7ffbe07c0670, v=..., name=0x7ffbe07c0678, this=0x7ffbe07c0670) at ../../include/QtQml/5.15.10/QtQml/private/../../../../../../src/qml/jsruntime/qv4string_p.h:167
#24 QV4::Lookup::setterFallback (l=<optimized out>, engine=0x55f3f5c064a0, object=..., value=...) at /usr/src/debug/qtdeclarative-everywhere-src-5.15.10+kde26/src/qml/jsruntime/qv4lookup.cpp:546
#25 0x00007ffbf0fdbb2d in QV4::Moth::VME::interpret (frame=0x55f40254c170, frame@entry=0x7fff34958940, engine=0x55f3f5c064a0, code=0x7ffbd794c41f "/\270\001") at /usr/src/debug/qtdeclarative-everywhere-src-5.15.10+kde26/src/qml/jsruntime/qv4vme_moth.cpp:351
#26 0x00007ffbf0fdfb3f in QV4::Moth::VME::exec (frame=frame@entry=0x7fff34958940, engine=engine@entry=0x55f3f5c064a0) at /usr/src/debug/qtdeclarative-everywhere-src-5.15.10+kde26/src/qml/jsruntime/qv4vme_moth.cpp:466
#27 0x00007ffbf0f722d2 in QV4::Function::call (this=this@entry=0x55f3fce254c0, thisObject=<optimized out>, argv=argv@entry=0x7ffbe07c0600, argc=<optimized out>, context=<optimized out>) at /usr/src/debug/qtdeclarative-everywhere-src-5.15.10+kde26/src/qml/jsruntime/qv4function.cpp:69
#28 0x00007ffbf10fbeed in QQmlJavaScriptExpression::evaluate (this=this@entry=0x55f3fd2d9ef0, callData=callData@entry=0x7ffbe07c05d0, isUndefined=isUndefined@entry=0x0) at /usr/src/debug/qtdeclarative-everywhere-src-5.15.10+kde26/src/qml/qml/qqmljavascriptexpression.cpp:212
#29 0x00007ffbf10aceaf in QQmlBoundSignalExpression::evaluate (this=<optimized out>, a=a@entry=0x7fff3495a7f0) at ../../include/QtQml/5.15.10/QtQml/private/../../../../../../src/qml/jsruntime/qv4jscall_p.h:95
#30 0x00007ffbf10ae090 in QQmlBoundSignal_callback (e=0x55f3fde7c8c0, a=0x7fff3495a7f0) at ../../include/QtQml/5.15.10/QtQml/private/../../../../../../src/qml/qml/qqmlboundsignalexpressionpointer_p.h:69
#31 0x00007ffbf10e0e05 in QQmlNotifier::emitNotify (endpoint=<optimized out>, a=0x7fff3495a7f0) at /usr/src/debug/qtdeclarative-everywhere-src-5.15.10+kde26/src/qml/qml/qqmlnotifier.cpp:104
#32 0x00007ffbef3250fd in doActivate<false> (sender=0x55f4001e7020, signal_index=66, argv=argv@entry=0x7fff3495a7f0) at kernel/qobject.cpp:3817
#33 0x00007ffbef31e67b in QMetaObject::activate (sender=<optimized out>, signalOffset=<optimized out>, local_signal_index=<optimized out>, argv=argv@entry=0x7fff3495a7f0) at kernel/qobject.cpp:3998
#34 0x00007ffbf1086185 in QQmlVMEMetaObject::activate (this=this@entry=0x55f3fc942da0, object=<optimized out>, index=index@entry=83, args=args@entry=0x7fff3495a7f0) at /usr/src/debug/qtdeclarative-everywhere-src-5.15.10+kde26/src/qml/qml/qqmlvmemetaobject.cpp:1312
#35 0x00007ffbf10886ed in QQmlVMEMetaObject::metaCall (this=0x55f3fc942da0, o=<optimized out>, c=QMetaObject::InvokeMetaMethod, _id=83, a=0x7fff3495a7f0) at /usr/src/debug/qtdeclarative-everywhere-src-5.15.10+kde26/src/qml/qml/qqmlvmemetaobject.cpp:969
#36 0x00007ffbf10e1333 in QQmlObjectOrGadget::metacall (this=0x7fff3495aa30, this@entry=0x7fff3495a890, type=type@entry=QMetaObject::InvokeMetaMethod, index=<optimized out>, index@entry=83, argv=argv@entry=0x7fff3495a7f0) at /usr/src/debug/qtdeclarative-everywhere-src-5.15.10+kde26/src/qml/qml/qqmlobjectorgadget.cpp:51
#37 0x00007ffbf0fbc6ed in CallMethod (callType=QMetaObject::InvokeMetaMethod, callArgs=0x7ffbe07c0598, engine=0x55f3f5c064a0, argTypes=0x0, argCount=0, returnType=43, index=<optimized out>, object=...) at /usr/src/debug/qtdeclarative-everywhere-src-5.15.10+kde26/src/qml/jsruntime/qv4qobjectwrapper.cpp:1303
#38 CallPrecise (object=..., data=..., engine=engine@entry=0x55f3f5c064a0, callArgs=callArgs@entry=0x7ffbe07c0598, callType=callType@entry=QMetaObject::InvokeMetaMethod) at /usr/src/debug/qtdeclarative-everywhere-src-5.15.10+kde26/src/qml/jsruntime/qv4qobjectwrapper.cpp:1557
#39 0x00007ffbf0fbf76b in CallOverloaded (callType=<optimized out>, propertyCache=<optimized out>, callArgs=<optimized out>, engine=<optimized out>, data=..., object=...) at /usr/src/debug/qtdeclarative-everywhere-src-5.15.10+kde26/src/qml/jsruntime/qv4qobjectwrapper.cpp:1629
#40 QV4::QObjectMethod::callInternal (this=<optimized out>, thisObject=<optimized out>, argv=<optimized out>, argc=<optimized out>) at /usr/src/debug/qtdeclarative-everywhere-src-5.15.10+kde26/src/qml/jsruntime/qv4qobjectwrapper.cpp:2117
#41 0x00007ffbf0fdc43f in QV4::FunctionObject::call (argc=<optimized out>, argv=<optimized out>, thisObject=<optimized out>, this=<optimized out>) at ../../include/QtQml/5.15.10/QtQml/private/../../../../../../src/qml/jsruntime/qv4functionobject_p.h:202
#42 QV4::Moth::VME::interpret (frame=0x55f40254c170, frame@entry=0x7fff3495acf0, engine=0x55f3f5c064a0, code=0x55f3fe6d0820 "\020\212\364\360\373\177") at /usr/src/debug/qtdeclarative-everywhere-src-5.15.10+kde26/src/qml/jsruntime/qv4vme_moth.cpp:757
#43 0x00007ffbf0fdfb3f in QV4::Moth::VME::exec (frame=frame@entry=0x7fff3495acf0, engine=engine@entry=0x55f3f5c064a0) at /usr/src/debug/qtdeclarative-everywhere-src-5.15.10+kde26/src/qml/jsruntime/qv4vme_moth.cpp:466
#44 0x00007ffbf0f722d2 in QV4::Function::call (this=this@entry=0x55f3fe6d0fe0, thisObject=<optimized out>, argv=argv@entry=0x7ffbe07c0508, argc=<optimized out>, context=<optimized out>) at /usr/src/debug/qtdeclarative-everywhere-src-5.15.10+kde26/src/qml/jsruntime/qv4function.cpp:69
#45 0x00007ffbf10fbeed in QQmlJavaScriptExpression::evaluate (this=this@entry=0x55f3ffb3d710, callData=callData@entry=0x7ffbe07c04d8, isUndefined=isUndefined@entry=0x0) at /usr/src/debug/qtdeclarative-everywhere-src-5.15.10+kde26/src/qml/qml/qqmljavascriptexpression.cpp:212
#46 0x00007ffbf10aceaf in QQmlBoundSignalExpression::evaluate (this=<optimized out>, a=a@entry=0x7fff3495c930) at ../../include/QtQml/5.15.10/QtQml/private/../../../../../../src/qml/jsruntime/qv4jscall_p.h:95
#47 0x00007ffbf10ae090 in QQmlBoundSignal_callback (e=0x55f3fdf64a00, a=0x7fff3495c930) at ../../include/QtQml/5.15.10/QtQml/private/../../../../../../src/qml/qml/qqmlboundsignalexpressionpointer_p.h:69
#48 0x00007ffbf10e0e05 in QQmlNotifier::emitNotify (endpoint=<optimized out>, a=0x7fff3495c930) at /usr/src/debug/qtdeclarative-everywhere-src-5.15.10+kde26/src/qml/qml/qqmlnotifier.cpp:104
#49 0x00007ffbef3250fd in doActivate<false> (sender=0x55f3f6142ce0, signal_index=11, argv=0x7fff3495c930) at kernel/qobject.cpp:3817
#50 0x00007ffbef31e47f in QMetaObject::activate (sender=sender@entry=0x55f3f6142ce0, m=m@entry=0x7ffbee7f1280 <QQuickAction::staticMetaObject>, local_signal_index=local_signal_index@entry=8, argv=argv@entry=0x7fff3495c930) at kernel/qobject.cpp:3985
#51 0x00007ffbee6f4a52 in QQuickAction::triggered (this=this@entry=0x55f3f6142ce0, _t1=<optimized out>, _t1@entry=0x55f3ffcae770) at .moc/moc_qquickaction_p.cpp:363
#52 0x00007ffbee6f71de in QQuickActionPrivate::trigger (this=0x55f3fe5ee610, source=0x55f3ffcae770, doToggle=false) at /usr/src/debug/qtquickcontrols2-everywhere-src-5.15.10+kde6/src/quicktemplates2/qquickaction.cpp:558
#53 0x00007ffbee6f74d8 in QQuickAbstractButtonPrivate::trigger (this=0x55f3fdad5480) at /usr/src/debug/qtquickcontrols2-everywhere-src-5.15.10+kde6/src/quicktemplates2/qquickabstractbutton.cpp:352
#54 0x00007ffbee6fa371 in QQuickAbstractButtonPrivate::handleRelease (this=0x55f3fdad5480, point=...) at /usr/src/debug/qtquickcontrols2-everywhere-src-5.15.10+kde6/src/quicktemplates2/qquickabstractbutton.cpp:182
#55 0x00007ffbee7144a5 in QQuickControl::mouseReleaseEvent (this=<optimized out>, event=0x7fff3495ce80) at /usr/src/debug/qtquickcontrols2-everywhere-src-5.15.10+kde6/src/quicktemplates2/qquickcontrol.cpp:2182
#56 0x00007ffbf1689d08 in QQuickItem::event (this=0x55f3ffcae770, ev=0x7fff3495ce80) at /usr/src/debug/qtdeclarative-everywhere-src-5.15.10+kde26/src/quick/items/qquickitem.cpp:8324
#57 0x00007ffbeffa519e in QApplicationPrivate::notify_helper (this=<optimized out>, receiver=0x55f3ffcae770, e=0x7fff3495ce80) at kernel/qapplication.cpp:3640
#58 0x00007ffbef2ed568 in QCoreApplication::notifyInternal2 (receiver=0x55f3ffcae770, event=0x7fff3495ce80) at kernel/qcoreapplication.cpp:1064
#59 0x00007ffbef2ed72e in QCoreApplication::sendEvent (receiver=<optimized out>, event=<optimized out>) at kernel/qcoreapplication.cpp:1462
#60 0x00007ffbf16a4aba in QQuickWindowPrivate::deliverMouseEvent (this=this@entry=0x55f3f5b3e170, pointerEvent=0x55f3f600a340) at /usr/src/debug/qtdeclarative-everywhere-src-5.15.10+kde26/src/quick/items/qquickwindow.cpp:2027
#61 0x00007ffbf16a61e9 in QQuickWindowPrivate::deliverPointerEvent (this=this@entry=0x55f3f5b3e170, event=0x55f3f600a340) at /usr/src/debug/qtdeclarative-everywhere-src-5.15.10+kde26/src/quick/items/qquickwindow.cpp:2635
#62 0x00007ffbf16a748d in QQuickWindowPrivate::handleMouseEvent (event=0x7fff3495ce80, this=0x55f3f5b3e170) at /usr/src/debug/qtdeclarative-everywhere-src-5.15.10+kde26/src/quick/items/qquickwindow.cpp:2445
#63 QQuickWindowPrivate::handleMouseEvent (this=0x55f3f5b3e170, event=0x7fff3495ce80) at /usr/src/debug/qtdeclarative-everywhere-src-5.15.10+kde26/src/quick/items/qquickwindow.cpp:2428
#64 0x00007ffbef7890b5 in QWindow::event (this=0x55f3f5b01280, ev=<optimized out>) at kernel/qwindow.cpp:2455
#65 0x00007ffbeffa519e in QApplicationPrivate::notify_helper (this=<optimized out>, receiver=0x55f3f5b01280, e=0x7fff3495ce80) at kernel/qapplication.cpp:3640
#66 0x00007ffbef2ed568 in QCoreApplication::notifyInternal2 (receiver=0x55f3f5b01280, event=0x7fff3495ce80) at kernel/qcoreapplication.cpp:1064
#67 0x00007ffbef2ed73e in QCoreApplication::sendSpontaneousEvent (receiver=<optimized out>, event=<optimized out>) at kernel/qcoreapplication.cpp:1474
#68 0x00007ffbef77d0eb in QGuiApplicationPrivate::processMouseEvent (e=0x7ffb908d8030) at kernel/qguiapplication.cpp:2285
#69 0x00007ffbef75036c in QWindowSystemInterface::sendWindowSystemEvents (flags=flags@entry=...) at kernel/qwindowsysteminterface.cpp:1169
#70 0x00007ffbea51b1aa in xcbSourceDispatch (source=<optimized out>) at qxcbeventdispatcher.cpp:105
#71 0x00007ffbee56c9d8 in g_main_dispatch (context=0x7ffbe4000ee0) at ../glib/gmain.c:3460
#72 g_main_context_dispatch (context=context@entry=0x7ffbe4000ee0) at ../glib/gmain.c:4200
#73 0x00007ffbee56cde8 in g_main_context_iterate (context=context@entry=0x7ffbe4000ee0, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at ../glib/gmain.c:4276
#74 0x00007ffbee56ce7c in g_main_context_iteration (context=0x7ffbe4000ee0, may_block=1) at ../glib/gmain.c:4343
#75 0x00007ffbef3464a6 in QEventDispatcherGlib::processEvents (this=0x55f3f5acab00, flags=...) at kernel/qeventdispatcher_glib.cpp:423
#76 0x00007ffbef2ebffb in QEventLoop::exec (this=this@entry=0x7fff3495d1b0, flags=..., flags@entry=...) at ../../include/QtCore/../../src/corelib/global/qflags.h:69
#77 0x00007ffbef2f4490 in QCoreApplication::exec () at ../../include/QtCore/../../src/corelib/global/qflags.h:121
#78 0x00007ffbef77055c in QGuiApplication::exec () at kernel/qguiapplication.cpp:1870
#79 0x00007ffbeffa5115 in QApplication::exec () at kernel/qapplication.cpp:2832
#80 0x000055f3f3ac4e4b in main (argc=<optimized out>, argv=<optimized out>) at /usr/src/debug/neochat-23.08.0/src/main.cpp:355
[Inferior 1 (process 10709) detached]

The reporter indicates this bug may be a duplicate of or related to bug 469089.

Reported using DrKonqi
Comment 1 Tobias Fella 2023-10-03 14:31:02 UTC
*** Bug 475177 has been marked as a duplicate of this bug. ***
Comment 2 Tobias Fella 2023-10-03 14:31:24 UTC
Fixed in !1303