Skip to content

Fix crash after login

Nikita Karpei requested to merge nkarpei/neochat:fix-crash-after-login into master

NeoChat can crash after login

AddressSanitizer:DEADLYSIGNAL
=================================================================
==49425==ERROR: AddressSanitizer: SEGV on unknown address 0x000000000008 (pc 0x7f7a2343b41c bp 0x7ffdb9906090 sp 0x7ffdb9906030 T0)
==49425==The signal is caused by a READ memory access.
==49425==Hint: address points to the zero page.
    #0 0x7f7a2343b41c in QTextDocument::toPlainText() const (/usr/lib/libQt5Gui.so.5+0x23b41c)
    #1 0x5555a9a54f26 in RoomManager::enterRoom(NeoChatRoom*) /home/archie/kde/src/neochat/src/roommanager.cpp:130
    #2 0x5555a9a54e89 in RoomManager::openRoomForActiveConnection() /home/archie/kde/src/neochat/src/roommanager.cpp:119
    #3 0x5555a9a54cc9 in RoomManager::loadInitialRoom() /home/archie/kde/src/neochat/src/roommanager.cpp:95
    #4 0x5555a987e768 in RoomManager::qt_static_metacall(QObject*, QMetaObject::Call, int, void**) /home/archie/kde/build/neochat/src/neochat_autogen/EWIEGA46WW/moc_roommanager.cpp:177
    #5 0x5555a987f026 in RoomManager::qt_metacall(QMetaObject::Call, int, void**) /home/archie/kde/build/neochat/src/neochat_autogen/EWIEGA46WW/moc_roommanager.cpp:336
    #6 0x7f7a25a76543  (/usr/lib/libQt5Qml.so.5+0x276543)
    #7 0x7f7a25976a56  (/usr/lib/libQt5Qml.so.5+0x176a56)
    #8 0x7f7a2597cde1 in QV4::QObjectMethod::callInternal(QV4::Value const*, QV4::Value const*, int) const (/usr/lib/libQt5Qml.so.5+0x17cde1)
    #9 0x7f7a2598eda2  (/usr/lib/libQt5Qml.so.5+0x18eda2)
    #10 0x7f7a25994803  (/usr/lib/libQt5Qml.so.5+0x194803)
    #11 0x7f7a25936c35 in QV4::Function::call(QV4::Value const*, QV4::Value const*, int, QV4::ExecutionContext const*) (/usr/lib/libQt5Qml.so.5+0x136c35)
    #12 0x7f7a25a971ac in QQmlJavaScriptExpression::evaluate(QV4::CallData*, bool*) (/usr/lib/libQt5Qml.so.5+0x2971ac)
    #13 0x7f7a25a537f0 in QQmlBoundSignalExpression::evaluate(void**) (/usr/lib/libQt5Qml.so.5+0x2537f0)
    #14 0x7f7a25a5476b  (/usr/lib/libQt5Qml.so.5+0x25476b)
    #15 0x7f7a25a7647e in QQmlNotifier::emitNotify(QQmlNotifierEndpoint*, void**) (/usr/lib/libQt5Qml.so.5+0x27647e)
    #16 0x7f7a22ebe5ff  (/usr/lib/libQt5Core.so.5+0x2be5ff)
    #17 0x5555a987138a in Controller::initiated() /home/archie/kde/build/neochat/src/neochat_autogen/EWIEGA46WW/moc_controller.cpp:673
    #18 0x5555a9aa6b2a in operator() /home/archie/kde/src/neochat/src/login.cpp:101
    #19 0x5555a9aa7d03 in operator()<> /usr/include/Quotient/qt_connection_util.h:35
    #20 0x5555a9aa8b0f in call /usr/include/qt/QtCore/qobjectdefs_impl.h:146
    #21 0x5555a9aa87d2 in call<QtPrivate::List<>, void> /usr/include/qt/QtCore/qobjectdefs_impl.h:256
    #22 0x5555a9aa860b in impl /usr/include/qt/QtCore/qobjectdefs_impl.h:443
    #23 0x7f7a22ebe930  (/usr/lib/libQt5Core.so.5+0x2be930)
    #24 0x7f7a22ebe930  (/usr/lib/libQt5Core.so.5+0x2be930)
    #25 0x7f7a256774e6 in Quotient::BaseJob::success(Quotient::BaseJob*) (/usr/lib/libQuotient.so.0.7+0x694e6)
    #26 0x7f7a256f46c4 in Quotient::BaseJob::finishJob() (/usr/lib/libQuotient.so.0.7+0xe66c4)
    #27 0x7f7a22ebe930  (/usr/lib/libQt5Core.so.5+0x2be930)
    #28 0x7f7a24b306b7  (/usr/lib/libQt5Network.so.5+0xa16b7)
    #29 0x7f7a22eb1a6f in QObject::event(QEvent*) (/usr/lib/libQt5Core.so.5+0x2b1a6f)
    #30 0x7f7a23b78b5b in QApplicationPrivate::notify_helper(QObject*, QEvent*) (/usr/lib/libQt5Widgets.so.5+0x178b5b)
    #31 0x7f7a22e8de07 in QCoreApplication::notifyInternal2(QObject*, QEvent*) (/usr/lib/libQt5Core.so.5+0x28de07)
    #32 0x7f7a22e8e912 in QCoreApplicationPrivate::sendPostedEvents(QObject*, int, QThreadData*) (/usr/lib/libQt5Core.so.5+0x28e912)
    #33 0x7f7a22ed4d47  (/usr/lib/libQt5Core.so.5+0x2d4d47)
    #34 0x7f7a2391682a in g_main_context_dispatch (/usr/lib/libglib-2.0.so.0+0x5582a)
    #35 0x7f7a2396dcc8  (/usr/lib/libglib-2.0.so.0+0xaccc8)
    #36 0x7f7a239150e1 in g_main_context_iteration (/usr/lib/libglib-2.0.so.0+0x540e1)
    #37 0x7f7a22ed8b2b in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) (/usr/lib/libQt5Core.so.5+0x2d8b2b)
    #38 0x7f7a22e865ab in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) (/usr/lib/libQt5Core.so.5+0x2865ab)
    #39 0x7f7a22e910d8 in QCoreApplication::exec() (/usr/lib/libQt5Core.so.5+0x2910d8)
    #40 0x5555a98243e9 in main /home/archie/kde/src/neochat/src/main.cpp:336
    #41 0x7f7a2263c28f  (/usr/lib/libc.so.6+0x2328f)
    #42 0x7f7a2263c349 in __libc_start_main (/usr/lib/libc.so.6+0x23349)
    #43 0x5555a981efb4 in _start (/home/archie/kde/build/neochat/bin/neochat+0x50fb4)

AddressSanitizer can not provide additional info.
SUMMARY: AddressSanitizer: SEGV (/usr/lib/libQt5Gui.so.5+0x23b41c) in QTextDocument::toPlainText() const
==49425==ABORTING

Merge request reports