https://bugs.kde.org/show_bug.cgi?id=497284

            Bug ID: 497284
           Summary: NeoChat crashes in Quotient::RoomMessageEvent::MsgType
                    when entering text into an encrypted private chat
    Classification: Applications
           Product: NeoChat
           Version: git master
          Platform: Other
                OS: Linux
            Status: REPORTED
          Keywords: regression
          Severity: crash
          Priority: NOR
         Component: General
          Assignee: fe...@posteo.de
          Reporter: n...@kde.org
                CC: c...@carlschwan.eu, j...@redstrate.com
  Target Milestone: ---

With today's git master of NeoChat, it crashes 100% of the time when I type
text into the chatbox of an encrypted private chat and then press enter.

Backtrace:

#0  __pthread_kill_implementation
    (threadid=<optimized out>, signo=signo@entry=6, no_tid=no_tid@entry=0) at
pthread_kill.c:44
#1  0x00007fa08787ed03 in __pthread_kill_internal (threadid=<optimized out>,
signo=6)
    at pthread_kill.c:78
#2  0x00007fa087825d1e in __GI_raise (sig=6) at ../sysdeps/posix/raise.c:26
#3  0x00007fa08b669003 in KCrash::defaultCrashHandler (sig=6)
    at /home/nate/kde/src/kcrash/src/kcrash.cpp:596
#4  0x00007fa087825dd0 in <signal handler called> () at /lib64/libc.so.6
#5  __pthread_kill_implementation
    (threadid=<optimized out>, signo=signo@entry=6, no_tid=no_tid@entry=0) at
pthread_kill.c:44
#6  0x00007fa08787ed03 in __pthread_kill_internal (threadid=<optimized out>,
signo=6)
    at pthread_kill.c:78
#7  0x00007fa087825d1e in __GI_raise (sig=sig@entry=6) at
../sysdeps/posix/raise.c:26
#8  0x00007fa08780d942 in __GI_abort () at abort.c:79
#9  0x00007fa087a3ebb0 in std::__glibcxx_assert_fail
    (file=file@entry=0x55e93425ca8d "/usr/include/c++/14/optional",
line=line@entry=482, function=function@entry=0x55e93426aaf8 "constexpr const
_Tp& std::_Optional_base_impl<_Tp, _Dp>::_M_get() const [with _Tp =
Quotient::RoomMessageEvent::MsgType; _Dp =
std::_Optional_base<Quotient::RoomMessageEvent::MsgType, true, true>]",
condition=condition@entry=0x55e93425ca77 "this->_M_is_engaged()")
    at ../../../../../libstdc++-v3/src/c++11/assert_fail.cc:41
#10 0x000055e933f7164f in
std::_Optional_base_impl<Quotient::RoomMessageEvent::MsgType,
std::_Optional_base<Quotient::RoomMessageEvent::MsgType, true, true> >::_M_get
(this=0x7ffec41655c0)
    at /usr/include/c++/14/optional:480
#11 std::_Optional_base_impl<Quotient::RoomMessageEvent::MsgType,
std::_Optional_base<Quotient::RoomMessageEvent::MsgType, true, true> >::_M_get
(this=0x7ffec41655c0)
    at /usr/include/c++/14/optional:480
#12 std::optional<Quotient::RoomMessageEvent::MsgType>::operator*() const &
(this=0x7ffec41655c0)
    at /usr/include/c++/14/optional:968
#13 ChatBarCache::postMessage (this=0x55e969f9b630)
    at /home/nate/kde/src/neochat/src/chatbarcache.cpp:341
#14 0x000055e933f721e0 in ChatBarCache::qt_metacall
    (this=0x55e969f9b630, _c=QMetaObject::InvokeMetaMethod, _id=6,
_a=0x7ffec4165b00)
    at
/home/nate/kde/build/neochat/src/neochat_autogen/include/moc_chatbarcache.cpp:328
#15 0x00007fa08b31fe9a in QQmlObjectOrGadget::metacall
    (this=this@entry=0x7ffec4165da0,
type=type@entry=QMetaObject::InvokeMetaMethod, index=<optimized out>,
index@entry=10, argv=argv@entry=0x7ffec4165b00)
    at
/usr/src/debug/qt6-qtdeclarative-6.8.0-3.fc41.x86_64/src/qml/qml/qqmlobjectorgadget.cpp:14
#16 0x00007fa08b1ad9c3 in QV4::CallMethod
    (object=..., index=10, returnType=..., argCount=0, argTypes=0x0,
engine=<optimized out>, callArgs=<optimized out>,
callType=QMetaObject::InvokeMetaMethod)
    at
/usr/src/debug/qt6-qtdeclarative-6.8.0-3.fc41.x86_64/src/qml/jsruntime/qv4qobjectwrapper.cpp:1687
#17 QV4::QObjectMethod::callPrecise (object=..., data=<optimized out>,
engine=<optimized out>,
    engine@entry=0x55e9672fd300, callArgs=<optimized out>,
    callArgs@entry=0x7fa02e3bc640,
callType=callType@entry=QMetaObject::InvokeMetaMethod)
    at
/usr/src/debug/qt6-qtdeclarative-6.8.0-3.fc41.x86_64/src/qml/jsruntime/qv4qobjectwrapper.cpp:1984
#18 0x00007fa08b1b0ae1 in operator() (__closure=<optimized out>)
    at
/usr/src/debug/qt6-qtdeclarative-6.8.0-3.fc41.x86_64/src/qml/jsruntime/qv4qobjectwrapper.cpp:2974
#19 operator()<QV4::QObjectMethod::callInternal(const QV4::Value*, const
QV4::Value*, int) const::<lambda()> > (__closure=<synthetic pointer>,
call=<optimized out>)
    at
/usr/src/debug/qt6-qtdeclarative-6.8.0-3.fc41.x86_64/src/qml/jsruntime/qv4qobjectwrapper.cpp:2951
#20 QV4::QObjectMethod::callInternal
    (this=<optimized out>, thisObject=0x7fa02e3bc5f8, argv=0x7fa02e3bc5c0,
argc=0)
    at
/usr/src/debug/qt6-qtdeclarative-6.8.0-3.fc41.x86_64/src/qml/jsruntime/qv4qobjectwrapper.cpp:2974
#21 0x00007fa08b2221b8 in QV4::FunctionObject::call
    (this=<optimized out>, thisObject=<optimized out>, argv=<optimized out>,
argc=<optimized out>)
    at
/usr/src/debug/qt6-qtdeclarative-6.8.0-3.fc41.x86_64/src/qml/jsruntime/qv4functionobject_p.h:187
#22 QV4::Moth::VME::interpret (frame=0x18310e,
    frame@entry=0x7ffec4166090, engine=0x55e9672fd300, code=0x7fa02e3bc5f8
"@r~\374\237\177")
    at
/usr/src/debug/qt6-qtdeclarative-6.8.0-3.fc41.x86_64/src/qml/jsruntime/qv4vme_moth.cpp:798
#23 0x00007fa08b22775f in QV4::Moth::VME::exec
    (frame=frame@entry=0x7ffec4166090, engine=engine@entry=0x55e9672fd300)
    at
/usr/src/debug/qt6-qtdeclarative-6.8.0-3.fc41.x86_64/src/qml/jsruntime/qv4vme_moth.cpp:487
#24 0x00007fa08b15215f in qfoDoCall
    (fo=<optimized out>, thisObject=<optimized out>, argv=<optimized out>,
argc=<optimized out>)
    at
/usr/src/debug/qt6-qtdeclarative-6.8.0-3.fc41.x86_64/src/qml/jsruntime/qv4functionobject.cpp:527
#25 0x00007fa08b2221b8 in QV4::FunctionObject::call
    (this=<optimized out>, thisObject=<optimized out>, argv=<optimized out>,
argc=<optimized out>)
    at
/usr/src/debug/qt6-qtdeclarative-6.8.0-3.fc41.x86_64/src/qml/jsruntime/qv4functionobject_p.h:187
#26 QV4::Moth::VME::interpret (frame=0x18310e,
    frame@entry=0x7ffec4166370, engine=0x55e9672fd300, code=0x7fa02e3bc578
"\240\213}\374\237\177") at
/usr/src/debug/qt6-qtdeclarative-6.8.0-3.fc41.x86_64/src/qml/jsruntime/qv4vme_moth.cpp:798
#27 0x00007fa08b22775f in QV4::Moth::VME::exec
    (frame=frame@entry=0x7ffec4166370, engine=engine@entry=0x55e9672fd300)
    at
/usr/src/debug/qt6-qtdeclarative-6.8.0-3.fc41.x86_64/src/qml/jsruntime/qv4vme_moth.cpp:487
#28 0x00007fa08b14cfa4 in QV4::doCall
    (self=<optimized out>, thisObject=<optimized out>, argv=<optimized out>,
argc=<optimized out>, context=<optimized out>)
    at
/usr/src/debug/qt6-qtdeclarative-6.8.0-3.fc41.x86_64/src/qml/jsruntime/qv4function.cpp:52
#29 0x00007fa08b14d7a8 in QV4::Function::call
    (this=this@entry=0x55e96b897190, thisObject=<optimized out>,
argv=argv@entry=0x7fa02e3bc4f8, argc=<optimized out>, context=<optimized out>)
    at
/usr/src/debug/qt6-qtdeclarative-6.8.0-3.fc41.x86_64/src/qml/jsruntime/qv4function.cpp:77
#30 0x00007fa08b14daef in operator()
    (__closure=<synthetic pointer>, thisObject=<optimized out>,
argv=0x7fa02e3bc4f8, argc=<optimized out>)
    at
/usr/src/debug/qt6-qtdeclarative-6.8.0-3.fc41.x86_64/src/qml/jsruntime/qv4function.cpp:28
#31 QV4::convertAndCall<QV4::Function::call(QObject*, void**, const QMetaType*,
int, QV4::ExecutionContext*)::<lambda(const QV4::Value*, const QV4::Value*,
int)> >
    (engine=<optimized out>, thisObject=<optimized out>, a=0x7ffec4168130,
types=0x7ffec4166688, argc=<optimized out>, call=...)
    at
/usr/src/debug/qt6-qtdeclarative-6.8.0-3.fc41.x86_64/src/qml/jsruntime/qv4jscall_p.h:199
#32 QV4::Function::call
    (this=0x55e96b897190, thisObject=<optimized out>, a=a@entry=0x7ffec4168130,
types=0x7ffec4166688, argc=<optimized out>, context=<optimized out>)
    at
/usr/src/debug/qt6-qtdeclarative-6.8.0-3.fc41.x86_64/src/qml/jsruntime/qv4function.cpp:25
#33 0x00007fa08b2d6627 in QQmlJavaScriptExpression::evaluate
    (this=this@entry=0x55e968119d40, a=a@entry=0x7ffec4168130, types=<optimized
out>, argc=<optimized out>)
    at
/usr/src/debug/qt6-qtdeclarative-6.8.0-3.fc41.x86_64/src/qml/qml/qqmljavascriptexpression_p.h:248
#34 0x00007fa08b26e12b in QQmlBoundSignalExpression::evaluate
    (this=0x55e968119d40, a=a@entry=0x7ffec4168130)
    at /usr/include/qt6/QtCore/qvarlengtharray.h:86
#35 0x00007fa08b26ece0 in QQmlBoundSignal_callback (e=0x55e968119db0,
a=0x7ffec4168130)
    at
/usr/src/debug/qt6-qtdeclarative-6.8.0-3.fc41.x86_64/src/qml/qml/ftw/qqmlrefcount_p.h:73
#36 0x00007fa08b307515 in QQmlNotifier::emitNotify (endpoint=<optimized out>,
a=0x7ffec4168130)
    at
/usr/src/debug/qt6-qtdeclarative-6.8.0-3.fc41.x86_64/src/qml/qml/qqmlnotifier.cpp:70
#37 0x00007fa087f5b438 in doActivate<false>
    (sender=0x55e96c911e20, signal_index=27, argv=0x7ffec4168130)
    at
/usr/src/debug/qt6-qtbase-6.8.0-4.fc41.x86_64/src/corelib/kernel/qobject.cpp:4010
#38 0x00007fa087f520c7 in QMetaObject::activate
    (sender=<optimized out>, m=m@entry=0x7fa08bf57500
<QQuickKeysAttached::staticMetaObject>,
local_signal_index=local_signal_index@entry=24, argv=argv@entry=0x7ffec4168130)
    at
/usr/src/debug/qt6-qtbase-6.8.0-4.fc41.x86_64/src/corelib/kernel/qobject.cpp:4180
#39 0x00007fa08b892724 in QQuickKeysAttached::returnPressed
    (this=<optimized out>, _t1=<optimized out>)
    at
/usr/src/debug/qt6-qtdeclarative-6.8.0-3.fc41.x86_64/redhat-linux-build/src/quick/Quick_autogen/include/moc_qquickitem_p.cpp:2401
#40 0x00007fa087f0c253 in QMetaMethodInvoker::invokeImpl
    (self=..., target=target@entry=0x55e96c911e20,
connectionType=connectionType@entry=Qt::DirectConnection,
paramCount=paramCount@entry=2, parameters=parameters@entry=0x7ffec4168360,
typeNames=0x7ffec4168370, metaTypes=0x7ffec4168380)
    at
/usr/src/debug/qt6-qtbase-6.8.0-4.fc41.x86_64/src/corelib/kernel/qmetaobject.cpp:2755
#41 0x00007fa087f0ccb1 in QMetaMethod::invokeImpl
    (self=..., target=target@entry=0x55e96c911e20,
connectionType=connectionType@entry=Qt::DirectConnection,
paramCount=paramCount@entry=2, parameters=parameters@entry=0x7ffec4168360,
typeNames=0x7ffec4168370, metaTypes=0x7ffec4168380)
    at
/usr/src/debug/qt6-qtbase-6.8.0-4.fc41.x86_64/src/corelib/kernel/qmetaobject.cpp:2593
#42 0x00007fa08b89a62d in QMetaMethod::invoke<void, QMetaMethodArgument>
    (this=<optimized out>, obj=0x55e96c911e20, c=Qt::DirectConnection, r=...)
    at /usr/include/qt6/QtCore/qmetaobject.h:149
#43 QMetaMethod::invoke<QMetaMethodArgument>
    (this=<optimized out>, obj=0x55e96c911e20, c=Qt::DirectConnection)
    at /usr/include/qt6/QtCore/qmetaobject.h:161
#44 QQuickKeysAttached::keyPressed (this=0x55e96c911e20, event=0x7ffec4168730,
post=false)
    at
/usr/src/debug/qt6-qtdeclarative-6.8.0-3.fc41.x86_64/src/quick/items/qquickitem.cpp:1309
#45 0x00007fa08b8997eb in QQuickItemPrivate::filterKeyEvent
    (this=this@entry=0x55e96b57b050, e=e@entry=0x7ffec4168730,
post=post@entry=false)
    at
/usr/src/debug/qt6-qtdeclarative-6.8.0-3.fc41.x86_64/src/quick/items/qquickitem.cpp:5606
#46 0x00007fa08b8b3492 in QQuickItemPrivate::deliverKeyEvent
    (this=0x55e96b57b050, e=0x7ffec4168730)
    at
/usr/src/debug/qt6-qtdeclarative-6.8.0-3.fc41.x86_64/src/quick/items/qquickitem.cpp:5653
#47 0x00007fa08b8b3918 in QQuickItem::event (this=0x55e96adcd600,
ev=0x7ffec4168730)
    at
/usr/src/debug/qt6-qtdeclarative-6.8.0-3.fc41.x86_64/src/quick/items/qquickitem.cpp:9074
#48 0x00007fa08963d6b8 in QApplicationPrivate::notify_helper
    (this=<optimized out>, receiver=0x55e96adcd600, e=0x7ffec4168730)
    at
/usr/src/debug/qt6-qtbase-6.8.0-4.fc41.x86_64/src/widgets/kernel/qapplication.cpp:3294
#49 0x00007fa087ef3a38 in QCoreApplication::notifyInternal2
    (receiver=0x55e96adcd600, event=0x7ffec4168730)
    at
/usr/src/debug/qt6-qtbase-6.8.0-4.fc41.x86_64/src/corelib/kernel/qcoreapplication.cpp:1165
#50 0x00007fa087ef3c8d in QCoreApplication::sendEvent
    (receiver=<optimized out>, event=<optimized out>)
    at
/usr/src/debug/qt6-qtbase-6.8.0-4.fc41.x86_64/src/corelib/kernel/qcoreapplication.cpp:1609
#51 0x00007fa08ba8bfdf in QQuickDeliveryAgentPrivate::deliverKeyEvent
    (this=<optimized out>, e=0x7ffec4168730)
    at
/usr/src/debug/qt6-qtdeclarative-6.8.0-3.fc41.x86_64/src/quick/util/qquickdeliveryagent.cpp:961
#52 0x00007fa088b4e3c8 in QWindow::event (this=0x55e9675519c0,
ev=0x7ffec4168730)
    at
/usr/src/debug/qt6-qtbase-6.8.0-4.fc41.x86_64/src/gui/kernel/qwindow.cpp:2689
#53 0x00007fa08963d6b8 in QApplicationPrivate::notify_helper
    (this=<optimized out>, receiver=0x55e9675519c0, e=0x7ffec4168730)
    at
/usr/src/debug/qt6-qtbase-6.8.0-4.fc41.x86_64/src/widgets/kernel/qapplication.cpp:3294
#54 0x00007fa087ef3a38 in QCoreApplication::notifyInternal2
    (receiver=0x55e9675519c0, event=0x7ffec4168730)
    at
/usr/src/debug/qt6-qtbase-6.8.0-4.fc41.x86_64/src/corelib/kernel/qcoreapplication.cpp:1165
#55 0x00007fa087ef3c9d in QCoreApplication::sendSpontaneousEvent
    (receiver=<optimized out>, event=<optimized out>)
    at
/usr/src/debug/qt6-qtbase-6.8.0-4.fc41.x86_64/src/corelib/kernel/qcoreapplication.cpp:1623
#56 0x00007fa088ae625b in QGuiApplicationPrivate::processKeyEvent
(e=0x55e96d95cc40)
    at
/usr/src/debug/qt6-qtbase-6.8.0-4.fc41.x86_64/src/gui/kernel/qguiapplication.cpp:2600
#57 0x00007fa088b5231c in QWindowSystemInterface::sendWindowSystemEvents
(flags=...)
    at
/usr/src/debug/qt6-qtbase-6.8.0-4.fc41.x86_64/src/gui/kernel/qwindowsysteminterface.cpp:1114
#58 0x00007fa0890b8e94 in userEventSourceDispatch (source=<optimized out>)
    at
/usr/src/debug/qt6-qtbase-6.8.0-4.fc41.x86_64/src/gui/platform/unix/qeventdispatcher_glib.cpp:38
#59 0x00007fa0858f128c in g_main_dispatch (context=0x7fa06c000f30) at
../glib/gmain.c:3357
#60 g_main_context_dispatch_unlocked (context=0x7fa06c000f30) at
../glib/gmain.c:4208
#61 0x00007fa0859517b8 in g_main_context_iterate_unlocked.isra.0
    (context=context@entry=0x7fa06c000f30, block=block@entry=1,
dispatch=dispatch@entry=1, self=<optimized out>) at ../glib/gmain.c:4273
#62 0x00007fa0858f2783 in g_main_context_iteration (context=0x7fa06c000f30,
may_block=1)
    at ../glib/gmain.c:4338
#63 0x00007fa0881e9de3 in QEventDispatcherGlib::processEvents
(this=0x55e966b63190, flags=...)
    at
/usr/src/debug/qt6-qtbase-6.8.0-4.fc41.x86_64/src/corelib/kernel/qeventdispatcher_glib.cpp:396
#64 0x00007fa087f0221b in QEventLoop::exec (this=this@entry=0x7ffec4168ad0,
flags=...,
    flags@entry=...)
    at
/usr/src/debug/qt6-qtbase-6.8.0-4.fc41.x86_64/src/corelib/global/qflags.h:34
#65 0x00007fa087efda2e in QCoreApplication::exec ()
    at
/usr/src/debug/qt6-qtbase-6.8.0-4.fc41.x86_64/src/corelib/global/qflags.h:74
#66 0x00007fa088ad723d in QGuiApplication::exec ()
    at
/usr/src/debug/qt6-qtbase-6.8.0-4.fc41.x86_64/src/gui/kernel/qguiapplication.cpp:1975
#67 0x00007fa08963d629 in QApplication::exec ()
    at
/usr/src/debug/qt6-qtbase-6.8.0-4.fc41.x86_64/src/widgets/kernel/qapplication.cpp:2562
#68 0x000055e933db32a2 in main (argc=<optimized out>, argv=<optimized out>)
    at /home/nate/kde/src/neochat/src/main.cpp:306

-- 
You are receiving this mail because:
You are watching all bug changes.

Reply via email to