-
Notifications
You must be signed in to change notification settings - Fork 56
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
qt.core.qobject.connect: QObject::connect(Quotient::Connection, DevicesModel): invalid nullptr parameter
and Segmentation fault
in libQuotient when opening "Device"-settings in NeoChat.
#828
Comments
invalid nullptr parameter
.qt.core.qobject.connect: QObject::connect(Quotient::Connection, DevicesModel): invalid nullptr parameter
and Segmentation fault
in libQuotient when opening "Device"-settings in NeoChat.
The libQuotient frames in the stack trace don't look healthy indeed. Thanks for reporting it here. |
I have looked at this at some point and it looks like the database isn't initialized for some reason. FWIW, all of this code is going away / changing entirely soon, so there's not really a point in debugging this further |
Actually, I'm not really sure it's libQuotient's fault, now that I looked at the code. Looks like NeoChat tries to call an E2EE-related method without checking if E2EE is even enabled on an account, or before it's enabled. |
↗ People at NeoChat tell otherwise:
Can you please step in there and discuss? I do not understand the code. |
I use end to end encryption on my account. (Maybe not (yet) with NeoChat, but in general.) |
I know - Tobias is here, and my comment was mainly for him. What he wrote here is also true, though. |
Just one more idea - @dreirund, can you check what the terminal output has regarding keychain? You can literally search for the keyword if your terminal allows it or if you save the output to a file. |
Actually, I already see it in the Neochat issue. You don't seem to have the |
Actually, I already see it in the Neochat issue. You don't seem to
have Qt Keychain in order.
I have the package `qtkeychain-qt6` installed (and it was also installed when I compiled the library), but I have not configured since I do not want to use any desktop password/ key manager.
(I want to type by hand and/ or use `pass` for the browser.)
Honestly, I even do not know what I should have to do -- any hint?
Anyway, if I have not configured manually any other piece of software, neither NeoChat nor libQuotient should crash. If they really need a third party software manually configured by the user, they should tell. So it still seems a bug to me.
Regards!
|
Problem is, you cannot type an encryption key by hand, it's impractical. You can store it in |
Problem is, you cannot type an encryption key by hand,
Ah OK, it is not about password but about keys.
OK, how do I set up `qt6-keychain`?
Would it really boil down to habe some dbus service running in the end
(what actually also makes nheko out of scope for me currently)?
|
Qt Keychain tries several options - I don't remember the exact logic but it can connect to gnome-keyring, KDE's kwallet, and libsecret, the latter being effectively a frontend to access whatever provides Without a desktop environment, I'd say gnome-keyring is the easiest (and probably the most lightweight) to setup. Quotient's own CI pipeline has the bare minimal initialisation of gnome-keyring-daemon that is sufficient to test the library. I wouldn't probably advise using an empty password, and maybe you would prefer to ask for a password interactively (gnome-keyring can do it for you). And you can manage the entries in gnome-keyring using a separate application, Seahorse. |
Qt Keychain tries several options - I don't remember the exact logic but it can connect to gnome-keyring, KDE's kwallet, and libsecret, the latter being effectively a frontend to access whatever provides `org.freedesktop.secrets` DBus API.
Thanks; I installed `gnome-keyring` now and that at least hides the bug.
I encountered another crash now. I am going to report it separately if I can reproduce it.
|
I still get crashes. Now I added a new account, clicked a bit in the settings, and a segmentation fault again. GDB backtrace:
Full terminal output of running |
Glad that the original issue was resolved. This new stacktrace is concerned with something else; and it clearly points at the NeoChat codebase, so please direct this to the NeoChat issue tracker. |
|
Ahoj,
this was reported initially for NeoChat (↗ here), but ↗ over there I was told that it is a libQuotient issue.
So I recompiled libQuotient with debugging information and report it here.
Since I am not a coder and not a code-understander, I still refer to the symptoms as I see them in NeoChat, so I still refer to NeoChat. I include a GDB backtrace where NeoChat and libQuotient are compiled with debugging information.
Describe the bug
When in NeoChat I enter Settings -> "Device", it crashes with
qt.core.qobject.connect: QObject::connect(Quotient::Connection, DevicesModel): invalid nullptr parameter
andSegmentation fault
.To Reproduce
Steps to reproduce the behaviour, and the description of the actual result:
19e8cd5e4
.neochat
.qt.core.qobject.connect: QObject::connect(Quotient::Connection, DevicesModel): invalid nullptr parameter
andSegmentation fault
.I attach terminal output and GDB log below under "Additional context".
Expected behavior
Beeing able to access and edit "Device" settings.
Is it environment-specific?
I do not know.
But here are environment information:
Additional context
neochat-libquotient-debug-gdb-log.log
.The text was updated successfully, but these errors were encountered: