quotient-im / Quaternion

A Qt-based IM client for Matrix
https://matrix.org/ecosystem/clients/quaternion/
GNU General Public License v3.0
637 stars 108 forks source link

Crash at startup with git dev #861

Closed Tamaranch closed 1 year ago

Tamaranch commented 1 year ago

Description

Maybe this is a bit of a premature report as the latest changes are very recent, but I'd rather do it just in case:

Console output:

Using application font: "Sans,10,-1,5,50,0,0,0,0,0"
No translations for "qt" at "/usr/share/qt/translations"
No translations for "qtbase" at "/usr/share/qt/translations"
No translations for "qtnetwork" at "/usr/share/qt/translations"
No translations for "qtdeclarative" at "/usr/share/qt/translations"
No translations for "qtmultimedia" at "/usr/share/qt/translations"
No translations for "qtquickcontrols" at "/usr/share/qt/translations"
No translations for "qtquickcontrols2" at "/usr/share/qt/translations"
No translations for "qtkeychain" at "/usr/share/qt/translations"
No translations for "qtkeychain" at "/usr/share/qt5keychain/translations"
No translations for "qt" at "/usr/local/share/Quotient/quaternion/translations"
No translations for "qtkeychain" at "/usr/local/share/Quotient/quaternion/translations"
No translations for "quotient" at "/usr/local/share/Quotient/quaternion/translations"
No translations for "quaternion" at "/usr/local/share/Quotient/quaternion/translations"
qml: QML view loaded
qml: Using timeline font: QFont(Sans,10,-1,5,50,0,0,0,0,0)
--- Show time!
Reading the access token from the keychain for XXX
Could not read the access token for XXX from the keychain: Entry not found
Reading the access token from the keychain for XXX
Found an access token for XXX, trying to connect
munmap_chunk(): invalid pointer
Abandon (core dumped)

Backtrace:

Program terminated with signal SIGABRT, Aborted.
#0  0x00007f78e9ea08ec in ?? () from /usr/lib/libc.so.6
[Current thread is 1 (Thread 0x7f78e9003880 (LWP 81426))]
(gdb) bt
#0  0x00007f78e9ea08ec in  () at /usr/lib/libc.so.6
#1  0x00007f78e9e51ea8 in raise () at /usr/lib/libc.so.6
#2  0x00007f78e9e3b53d in abort () at /usr/lib/libc.so.6
#3  0x00007f78e9e3c29e in  () at /usr/lib/libc.so.6
#4  0x00007f78e9eaa657 in  () at /usr/lib/libc.so.6
#5  0x00007f78e9eac4bc in  () at /usr/lib/libc.so.6
#6  0x00007f78e9eaee63 in free () at /usr/lib/libc.so.6
#7  0x000055763c6cd1b1 in QTypedArrayData<unsigned short>::deallocate(QArrayData*) (data=0x55763d770000) at /usr/include/qt/QtCore/qarraydata.h:240
#8  0x000055763c6cc26b in QString::~QString() (this=0x7ffc68fab760, __in_chrg=<optimized out>) at /usr/include/qt/QtCore/qstring.h:1311
#9  0x000055763c85345b in Quotient::AccountRegistry::get(QString const&) const (this=0x55763c9aab80 <Quotient::Accounts>, userId=...) at /home/user/Système/Git/Quaternion/lib/lib/accountregistry.cpp:81
#10 0x000055763c8533c1 in Quotient::AccountRegistry::get(QString const&) (this=0x55763c9aab80 <Quotient::Accounts>, userId=...) at /home/user/Système/Git/Quaternion/lib/lib/accountregistry.cpp:75
#11 0x000055763c852cc5 in Quotient::AccountRegistry::add(Quotient::Connection*) (this=0x55763c9aab80 <Quotient::Accounts>, a=0x55763de229d0) at /home/user/Système/Git/Quaternion/lib/lib/accountregistry.cpp:17
#12 0x000055763c70b5c7 in MainWindow::setupConnection(Quotient::AccountSettings const&, QString const&) (this=0x7ffc68fac080, account=..., accessToken=...)
    at /home/user/Système/Git/Quaternion/client/mainwindow.cpp:886
#13 0x000055763c70bbf2 in MainWindow::invokeLogin() (this=0x7ffc68fac080) at /home/user/Système/Git/Quaternion/client/mainwindow.cpp:919
#14 0x000055763c725357 in QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (MainWindow::*)()>::call(void (MainWindow::*)(), MainWindow*, void**)
    (f=(void (MainWindow::*)(MainWindow * const)) 0x55763c70b90e <MainWindow::invokeLogin()>, o=0x7ffc68fac080, arg=0x55763d91f968) at /usr/include/qt/QtCore/qobjectdefs_impl.h:152
#15 0x000055763c723599 in QtPrivate::FunctionPointer<void (MainWindow::*)()>::call<QtPrivate::List<>, void>(void (MainWindow::*)(), MainWindow*, void**)
    (f=(void (MainWindow::*)(MainWindow * const)) 0x55763c70b90e <MainWindow::invokeLogin()>, o=0x7ffc68fac080, arg=0x55763d91f968) at /usr/include/qt/QtCore/qobjectdefs_impl.h:185
#16 0x000055763c721569 in QtPrivate::QSlotObject<void (MainWindow::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*)
    (which=1, this_=0x55763d9564b0, r=0x7ffc68fac080, a=0x55763d91f968, ret=0x0) at /usr/include/qt/QtCore/qobjectdefs_impl.h:418
#17 0x00007f78ea6b1bb0 in QObject::event(QEvent*) () at /usr/lib/libQt5Core.so.5
#18 0x00007f78ebf78b5c in QApplicationPrivate::notify_helper(QObject*, QEvent*) () at /usr/lib/libQt5Widgets.so.5
#19 0x00007f78ea68df48 in QCoreApplication::notifyInternal2(QObject*, QEvent*) () at /usr/lib/libQt5Core.so.5
#20 0x00007f78ea68ea53 in QCoreApplicationPrivate::sendPostedEvents(QObject*, int, QThreadData*) () at /usr/lib/libQt5Core.so.5
#21 0x00007f78ea6d4e88 in  () at /usr/lib/libQt5Core.so.5
#22 0x00007f78e9d2853b in g_main_context_dispatch () at /usr/lib/libglib-2.0.so.0
#23 0x00007f78e9d85219 in  () at /usr/lib/libglib-2.0.so.0
#24 0x00007f78e9d271a2 in g_main_context_iteration () at /usr/lib/libglib-2.0.so.0
#25 0x00007f78ea6d8c6c in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib/libQt5Core.so.5
#26 0x00007f78ea6866ec in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib/libQt5Core.so.5
#27 0x00007f78ea691219 in QCoreApplication::exec() () at /usr/lib/libQt5Core.so.5
#28 0x000055763c7a4681 in main(int, char**) (argc=1, argv=0x7ffc68fac338) at /home/user/Système/Git/Quaternion/client/main.cpp:195

Version information

KitsuneRal commented 1 year ago

It's not premature, thanks!

KitsuneRal commented 1 year ago

Get you get logs from the crash, with QT_LOGGING_RULES having at least quotient.main.debug=true?

Tamaranch commented 1 year ago

It didn't give anything more with only main so I put everything:

$ QT_LOGGING_RULES='quotient.*.debug=true' quaternion 
quotient.events: "m.tag" -> TagEvent; 1 derived type(s) registered for Event
quotient.events: "m.fully_read" -> ReadMarkerEventImpl; 2 derived type(s) registered for Event
quotient.events: "m.ignored_user_list" -> IgnoredUsersEventImpl; 3 derived type(s) registered for Event
quotient.events: "" -> RoomEvent; 4 derived type(s) registered for Event
quotient.events: "json.contains('state_key')" -> StateEvent; 1 derived type(s) registered for RoomEvent
quotient.events: "m.call.*" -> CallEvent; 2 derived type(s) registered for RoomEvent
quotient.events: "m.call.invite" -> CallInviteEvent; 1 derived type(s) registered for CallEvent
quotient.events: "m.call.candidates" -> CallCandidatesEvent; 2 derived type(s) registered for CallEvent
quotient.events: "m.call.answer" -> CallAnswerEvent; 3 derived type(s) registered for CallEvent
quotient.events: "m.call.hangup" -> CallHangupEvent; 4 derived type(s) registered for CallEvent
quotient.events: "m.room.encrypted" -> EncryptedEvent; 3 derived type(s) registered for RoomEvent
quotient.events: "m.dummy" -> DummyEvent; 5 derived type(s) registered for Event
quotient.events: "m.room_key" -> RoomKeyEvent; 6 derived type(s) registered for Event
quotient.events: "m.room.message" -> RoomMessageEvent; 4 derived type(s) registered for RoomEvent
quotient.events: "m.room.create" -> RoomCreateEvent; 1 derived type(s) registered for StateEvent
quotient.events: "m.room.tombstone" -> RoomTombstoneEvent; 2 derived type(s) registered for StateEvent
quotient.events: "m.room.power_levels" -> RoomPowerLevelsEvent; 3 derived type(s) registered for StateEvent
quotient.events: "m.reaction" -> ReactionEvent; 5 derived type(s) registered for RoomEvent
quotient.events: "m.room.encryption" -> EncryptionEvent; 4 derived type(s) registered for StateEvent
quotient.events: "m.room.member" -> RoomMemberEvent; 5 derived type(s) registered for StateEvent
quotient.events: "m.room.name" -> RoomNameEvent; 6 derived type(s) registered for StateEvent
quotient.events: "m.room.topic" -> RoomTopicEvent; 7 derived type(s) registered for StateEvent
quotient.events: "m.room.pinned_messages" -> RoomPinnedEvent; 8 derived type(s) registered for StateEvent
quotient.events: "m.room.aliases" -> RoomAliasesEvent; 9 derived type(s) registered for StateEvent
quotient.events: "m.room.redaction" -> RedactionEvent; 6 derived type(s) registered for RoomEvent
quotient.events: "m.room.avatar" -> RoomAvatarEvent; 10 derived type(s) registered for StateEvent
quotient.events: "m.room.canonical_alias" -> RoomCanonicalAliasEvent; 11 derived type(s) registered for StateEvent
quotient.events: "m.direct" -> DirectChatEvent; 7 derived type(s) registered for Event
quotient.events: "m.receipt" -> ReceiptEvent; 8 derived type(s) registered for Event
quotient.events: "m.typing" -> TypingEvent; 9 derived type(s) registered for Event
Using application font: "Sans,10,-1,5,50,0,0,0,0,0"
No translations for "qt" at "/usr/share/qt/translations"
No translations for "qtbase" at "/usr/share/qt/translations"
No translations for "qtnetwork" at "/usr/share/qt/translations"
No translations for "qtdeclarative" at "/usr/share/qt/translations"
No translations for "qtmultimedia" at "/usr/share/qt/translations"
No translations for "qtquickcontrols" at "/usr/share/qt/translations"
No translations for "qtquickcontrols2" at "/usr/share/qt/translations"
No translations for "qtkeychain" at "/usr/share/qt/translations"
No translations for "qtkeychain" at "/usr/share/qt5keychain/translations"
No translations for "qt" at "/usr/local/share/Quotient/quaternion/translations"
No translations for "qtkeychain" at "/usr/local/share/Quotient/quaternion/translations"
No translations for "quotient" at "/usr/local/share/Quotient/quaternion/translations"
No translations for "quaternion" at "/usr/local/share/Quotient/quaternion/translations"
qml: QML view loaded
qml: Using timeline font: QFont(Sans,10,-1,5,50,0,0,0,0,0)
--- Show time!
Reading the access token from the keychain for XXX
Could not read the access token for XXX from the keychain: Entry not found
Reading the access token from the keychain for XXX
Found an access token for XXX, trying to connect
free(): invalid size
Abandon (core dumped)
KitsuneRal commented 1 year ago

Ah, you might be on a slightly older revision of libQuotient because I don't see the log lines I recently added in the AccountRegistry code. Can you cd lib && git checkout dev and then try it again?

Tamaranch commented 1 year ago

Indeed I was on 2bcdd0d2 where we land after running git clone --recursive, but apparently switching to dev does not change anything. I'm reposting the full diagnostic just in case:

[lib]$ git log --oneline
bb08585b (HEAD -> dev, origin/dev, origin/HEAD) Room::P::addRelation: ignore repeated relations
386c43c7 Room: drop events from ignored users
3036da38 Connection::isIgnored(QString)
2bcdd0d2 Fix a few Sonar/clang-tidy warnings
$ QT_LOGGING_RULES='quotient.*.debug=true' quaternion
quotient.events: "m.tag" -> TagEvent; 1 derived type(s) registered for Event
quotient.events: "m.fully_read" -> ReadMarkerEventImpl; 2 derived type(s) registered for Event
quotient.events: "m.ignored_user_list" -> IgnoredUsersEventImpl; 3 derived type(s) registered for Event
quotient.events: "" -> RoomEvent; 4 derived type(s) registered for Event
quotient.events: "json.contains('state_key')" -> StateEvent; 1 derived type(s) registered for RoomEvent
quotient.events: "m.call.*" -> CallEvent; 2 derived type(s) registered for RoomEvent
quotient.events: "m.call.invite" -> CallInviteEvent; 1 derived type(s) registered for CallEvent
quotient.events: "m.call.candidates" -> CallCandidatesEvent; 2 derived type(s) registered for CallEvent
quotient.events: "m.call.answer" -> CallAnswerEvent; 3 derived type(s) registered for CallEvent
quotient.events: "m.call.hangup" -> CallHangupEvent; 4 derived type(s) registered for CallEvent
quotient.events: "m.room.encrypted" -> EncryptedEvent; 3 derived type(s) registered for RoomEvent
quotient.events: "m.dummy" -> DummyEvent; 5 derived type(s) registered for Event
quotient.events: "m.room_key" -> RoomKeyEvent; 6 derived type(s) registered for Event
quotient.events: "m.room.message" -> RoomMessageEvent; 4 derived type(s) registered for RoomEvent
quotient.events: "m.room.create" -> RoomCreateEvent; 1 derived type(s) registered for StateEvent
quotient.events: "m.room.tombstone" -> RoomTombstoneEvent; 2 derived type(s) registered for StateEvent
quotient.events: "m.room.power_levels" -> RoomPowerLevelsEvent; 3 derived type(s) registered for StateEvent
quotient.events: "m.reaction" -> ReactionEvent; 5 derived type(s) registered for RoomEvent
quotient.events: "m.room.encryption" -> EncryptionEvent; 4 derived type(s) registered for StateEvent
quotient.events: "m.room.member" -> RoomMemberEvent; 5 derived type(s) registered for StateEvent
quotient.events: "m.room.name" -> RoomNameEvent; 6 derived type(s) registered for StateEvent
quotient.events: "m.room.topic" -> RoomTopicEvent; 7 derived type(s) registered for StateEvent
quotient.events: "m.room.pinned_messages" -> RoomPinnedEvent; 8 derived type(s) registered for StateEvent
quotient.events: "m.room.aliases" -> RoomAliasesEvent; 9 derived type(s) registered for StateEvent
quotient.events: "m.room.redaction" -> RedactionEvent; 6 derived type(s) registered for RoomEvent
quotient.events: "m.room.avatar" -> RoomAvatarEvent; 10 derived type(s) registered for StateEvent
quotient.events: "m.room.canonical_alias" -> RoomCanonicalAliasEvent; 11 derived type(s) registered for StateEvent
quotient.events: "m.direct" -> DirectChatEvent; 7 derived type(s) registered for Event
quotient.events: "m.receipt" -> ReceiptEvent; 8 derived type(s) registered for Event
quotient.events: "m.typing" -> TypingEvent; 9 derived type(s) registered for Event
Using application font: "Sans,10,-1,5,50,0,0,0,0,0"
No translations for "qt" at "/usr/share/qt/translations"
No translations for "qtbase" at "/usr/share/qt/translations"
No translations for "qtnetwork" at "/usr/share/qt/translations"
No translations for "qtdeclarative" at "/usr/share/qt/translations"
No translations for "qtmultimedia" at "/usr/share/qt/translations"
No translations for "qtquickcontrols" at "/usr/share/qt/translations"
No translations for "qtquickcontrols2" at "/usr/share/qt/translations"
No translations for "qtkeychain" at "/usr/share/qt/translations"
No translations for "qtkeychain" at "/usr/share/qt5keychain/translations"
No translations for "qt" at "/usr/local/share/Quotient/quaternion/translations"
No translations for "qtkeychain" at "/usr/local/share/Quotient/quaternion/translations"
No translations for "quotient" at "/usr/local/share/Quotient/quaternion/translations"
No translations for "quaternion" at "/usr/local/share/Quotient/quaternion/translations"
qml: QML view loaded
qml: Using timeline font: QFont(Sans,11,-1,5,50,0,0,0,0,0)
--- Show time!
Reading the access token from the keychain for XXX
Could not read the access token for XXX from the keychain: Entry not found
Reading the access token from the keychain for XXX
Found an access token for XXX, trying to connect
double free or corruption (out)
Abandon (core dumped)
Program terminated with signal SIGABRT, Aborted.
#0  0x00007f23ae8a08ec in ?? () from /usr/lib/libc.so.6
[Current thread is 1 (Thread 0x7f23ad3d1880 (LWP 7858))]
(gdb) bt
#0  0x00007f23ae8a08ec in  () at /usr/lib/libc.so.6
#1  0x00007f23ae851ea8 in raise () at /usr/lib/libc.so.6
#2  0x00007f23ae83b53d in abort () at /usr/lib/libc.so.6
#3  0x00007f23ae83c29e in  () at /usr/lib/libc.so.6
#4  0x00007f23ae8aa657 in  () at /usr/lib/libc.so.6
#5  0x00007f23ae8ac7b0 in  () at /usr/lib/libc.so.6
#6  0x00007f23ae8aee63 in free () at /usr/lib/libc.so.6
#7  0x00005616a6b921b1 in QTypedArrayData<unsigned short>::deallocate(QArrayData*) (data=0x5616a7360000) at /usr/include/qt/QtCore/qarraydata.h:240
#8  0x00005616a6b9126b in QString::~QString() (this=0x7ffd7cefe080, __in_chrg=<optimized out>) at /usr/include/qt/QtCore/qstring.h:1311
#9  0x00005616a6d18f77 in Quotient::AccountRegistry::get(QString const&) const (this=0x5616a6e71b80 <Quotient::Accounts>, userId=...) at /home/user/Système/Git/Quaternion/lib/lib/accountregistry.cpp:81
#10 0x00005616a6d18edd in Quotient::AccountRegistry::get(QString const&) (this=0x5616a6e71b80 <Quotient::Accounts>, userId=...) at /home/user/Système/Git/Quaternion/lib/lib/accountregistry.cpp:75
#11 0x00005616a6d187e1 in Quotient::AccountRegistry::add(Quotient::Connection*) (this=0x5616a6e71b80 <Quotient::Accounts>, a=0x5616a7c12d80) at /home/user/Système/Git/Quaternion/lib/lib/accountregistry.cpp:17
#12 0x00005616a6bd05c7 in MainWindow::setupConnection(Quotient::AccountSettings const&, QString const&) (this=0x7ffd7cefe9a0, account=..., accessToken=...)
    at /home/user/Système/Git/Quaternion/client/mainwindow.cpp:886
#13 0x00005616a6bd0bf2 in MainWindow::invokeLogin() (this=0x7ffd7cefe9a0) at /home/user/Système/Git/Quaternion/client/mainwindow.cpp:919
#14 0x00005616a6bea357 in QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (MainWindow::*)()>::call(void (MainWindow::*)(), MainWindow*, void**)
    (f=(void (MainWindow::*)(MainWindow * const)) 0x5616a6bd090e <MainWindow::invokeLogin()>, o=0x7ffd7cefe9a0, arg=0x5616a781f998) at /usr/include/qt/QtCore/qobjectdefs_impl.h:152
#15 0x00005616a6be8599 in QtPrivate::FunctionPointer<void (MainWindow::*)()>::call<QtPrivate::List<>, void>(void (MainWindow::*)(), MainWindow*, void**)
    (f=(void (MainWindow::*)(MainWindow * const)) 0x5616a6bd090e <MainWindow::invokeLogin()>, o=0x7ffd7cefe9a0, arg=0x5616a781f998) at /usr/include/qt/QtCore/qobjectdefs_impl.h:185
#16 0x00005616a6be6569 in QtPrivate::QSlotObject<void (MainWindow::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*)
    (which=1, this_=0x5616a781f4a0, r=0x7ffd7cefe9a0, a=0x5616a781f998, ret=0x0) at /usr/include/qt/QtCore/qobjectdefs_impl.h:418
#17 0x00007f23af0b1bb0 in QObject::event(QEvent*) () at /usr/lib/libQt5Core.so.5
#18 0x00007f23b0978b5c in QApplicationPrivate::notify_helper(QObject*, QEvent*) () at /usr/lib/libQt5Widgets.so.5
#19 0x00007f23af08df48 in QCoreApplication::notifyInternal2(QObject*, QEvent*) () at /usr/lib/libQt5Core.so.5
#20 0x00007f23af08ea53 in QCoreApplicationPrivate::sendPostedEvents(QObject*, int, QThreadData*) () at /usr/lib/libQt5Core.so.5
#21 0x00007f23af0d4e88 in  () at /usr/lib/libQt5Core.so.5
#22 0x00007f23ae72853b in g_main_context_dispatch () at /usr/lib/libglib-2.0.so.0
#23 0x00007f23ae785219 in  () at /usr/lib/libglib-2.0.so.0
#24 0x00007f23ae7271a2 in g_main_context_iteration () at /usr/lib/libglib-2.0.so.0
#25 0x00007f23af0d8c6c in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib/libQt5Core.so.5
#26 0x00007f23af0866ec in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib/libQt5Core.so.5
#27 0x00007f23af091219 in QCoreApplication::exec() () at /usr/lib/libQt5Core.so.5
#28 0x00005616a6c69681 in main(int, char**) (argc=1, argv=0x7ffd7cefec58) at /home/user/Système/Git/Quaternion/client/main.cpp:195
KitsuneRal commented 1 year ago

Actually, those log lines were added even before 2bcdd0d2 - sorry for you having to go an extra round for nothing. The fact that they don't show up in the logs is quite alarming then. It might be that the Quotient::Accounts singleton is accessed before being initialised but I don't see why it is happening so far.

Tamaranch commented 1 year ago

Actually it's been a while since git dev stopped working for me, but I didn't report it, thinking that it would be fixed in a future change. It wasn't crashing though (otherwise I would have reported it like here), it just couldn't initialize and was stuck at "--- Show time!"

The last commit that worked for me was 0707954fc80c436fc26120cb570b73edce720ca4. The last set of changes apparently fixed this issue, but now it crashes.

KitsuneRal commented 1 year ago

I suppose it was a side-effect of #838, which is exactly what #859 tried to fix - so your thinking was spot on :)

I have just pushed another commit to libQuotient - can you git pull in lib/ and try once again?

Tamaranch commented 1 year ago

Same except that there are main logs at the beginning now (same backtrace too):

$ QT_LOGGING_RULES='quotient.*.debug=true' quaternion
quotient.main: Account registry created
quotient.events: "m.tag" -> TagEvent; 1 derived type(s) registered for Event
quotient.events: "m.fully_read" -> ReadMarkerEventImpl; 2 derived type(s) registered for Event
quotient.events: "m.ignored_user_list" -> IgnoredUsersEventImpl; 3 derived type(s) registered for Event
quotient.events: "" -> RoomEvent; 4 derived type(s) registered for Event
quotient.events: "json.contains('state_key')" -> StateEvent; 1 derived type(s) registered for RoomEvent
quotient.events: "m.call.*" -> CallEvent; 2 derived type(s) registered for RoomEvent
quotient.events: "m.call.invite" -> CallInviteEvent; 1 derived type(s) registered for CallEvent
quotient.events: "m.call.candidates" -> CallCandidatesEvent; 2 derived type(s) registered for CallEvent
quotient.events: "m.call.answer" -> CallAnswerEvent; 3 derived type(s) registered for CallEvent
quotient.events: "m.call.hangup" -> CallHangupEvent; 4 derived type(s) registered for CallEvent
quotient.events: "m.room.encrypted" -> EncryptedEvent; 3 derived type(s) registered for RoomEvent
quotient.events: "m.dummy" -> DummyEvent; 5 derived type(s) registered for Event
quotient.events: "m.room_key" -> RoomKeyEvent; 6 derived type(s) registered for Event
quotient.events: "m.room.message" -> RoomMessageEvent; 4 derived type(s) registered for RoomEvent
quotient.events: "m.room.create" -> RoomCreateEvent; 1 derived type(s) registered for StateEvent
quotient.events: "m.room.tombstone" -> RoomTombstoneEvent; 2 derived type(s) registered for StateEvent
quotient.events: "m.room.power_levels" -> RoomPowerLevelsEvent; 3 derived type(s) registered for StateEvent
quotient.events: "m.reaction" -> ReactionEvent; 5 derived type(s) registered for RoomEvent
quotient.events: "m.room.encryption" -> EncryptionEvent; 4 derived type(s) registered for StateEvent
quotient.events: "m.room.member" -> RoomMemberEvent; 5 derived type(s) registered for StateEvent
quotient.events: "m.room.name" -> RoomNameEvent; 6 derived type(s) registered for StateEvent
quotient.events: "m.room.topic" -> RoomTopicEvent; 7 derived type(s) registered for StateEvent
quotient.events: "m.room.pinned_messages" -> RoomPinnedEvent; 8 derived type(s) registered for StateEvent
quotient.events: "m.room.aliases" -> RoomAliasesEvent; 9 derived type(s) registered for StateEvent
quotient.events: "m.room.redaction" -> RedactionEvent; 6 derived type(s) registered for RoomEvent
quotient.events: "m.room.avatar" -> RoomAvatarEvent; 10 derived type(s) registered for StateEvent
quotient.events: "m.room.canonical_alias" -> RoomCanonicalAliasEvent; 11 derived type(s) registered for StateEvent
quotient.events: "m.direct" -> DirectChatEvent; 7 derived type(s) registered for Event
quotient.events: "m.receipt" -> ReceiptEvent; 8 derived type(s) registered for Event
quotient.events: "m.typing" -> TypingEvent; 9 derived type(s) registered for Event
Using application font: "Sans,10,-1,5,50,0,0,0,0,0"
No translations for "qt" at "/usr/share/qt/translations"
No translations for "qtbase" at "/usr/share/qt/translations"
No translations for "qtnetwork" at "/usr/share/qt/translations"
No translations for "qtdeclarative" at "/usr/share/qt/translations"
No translations for "qtmultimedia" at "/usr/share/qt/translations"
No translations for "qtquickcontrols" at "/usr/share/qt/translations"
No translations for "qtquickcontrols2" at "/usr/share/qt/translations"
No translations for "qtkeychain" at "/usr/share/qt/translations"
No translations for "qtkeychain" at "/usr/share/qt5keychain/translations"
No translations for "qt" at "/usr/local/share/Quotient/quaternion/translations"
No translations for "qtkeychain" at "/usr/local/share/Quotient/quaternion/translations"
No translations for "quotient" at "/usr/local/share/Quotient/quaternion/translations"
No translations for "quaternion" at "/usr/local/share/Quotient/quaternion/translations"
qml: QML view loaded
qml: Using timeline font: QFont(Sans,11,-1,5,50,0,0,0,0,0)
--- Show time!
Reading the access token from the keychain for XXX
Could not read the access token for XXX from the keychain: Entry not found
Reading the access token from the keychain for XXX
Found an access token for XXX, trying to connect
Erreur de segmentation (core dumped)
KitsuneRal commented 1 year ago

Yes, that's the line that should have occurred, and it's where it should be, for better or worse.

I've just got another stack trace in https://github.com/quotient-im/libQuotient/issues/637 and I think I know what's happening.

KitsuneRal commented 1 year ago

Can you please checkout 2fd65876 in your lib and see if the problem is still there?

Tamaranch commented 1 year ago

Yes git checkout 2fd65876 in lib fixes the issue :)

KitsuneRal commented 1 year ago

Closing this in favour of https://github.com/quotient-im/libQuotient/issues/637 since the bug is apparently in libQuotient and since the current dev (assuming the lib commit the submodule points to) is fine again.