diamondburned / dissent

Tiny native Discord app
https://flathub.org/apps/details/so.libdb.dissent
GNU General Public License v3.0
1.18k stars 38 forks source link

Crash on aarch64 mobile devices [Droidian + Phosh] #11

Open Sid127 opened 2 years ago

Sid127 commented 2 years ago

I spent a couple days finding an aarch64 discord client that wasn't a web app, and when I did try gtkcord4 out, it worked perfectly for me on a mobile form factor. However, after a reboot, the app now crashes when I try to hide a channel list by tapping on the conversation below with the following error that I was absolutely unable to copy or debug off my terminal :\

image

OS details: Droidian bookworm (Mobian-halium) 4.4.302 kernel libgtk-4 v4.6.2

diamondburned commented 2 years ago

Can you elaborate what you mean by "try to hide a channel list by tapping on the conversation below"? I'm not sure I understand what this means. Did you click a category in the channel tree?

diamondburned commented 2 years ago

I've also never seen this error before. It might be a library bug.

Sid127 commented 2 years ago

it happens when I try and tap the chat below the channel list, aka the rightmost half of this screen, and yeah, I did dig around the internet a bit and it seemed to be an obscure bug in gtk3

Screenshot from 2022-04-23 19-51-59

diamondburned commented 2 years ago

gtkcord4 is in GTK4, so it would be more of a GTK4 bug. This is probably outside of my ability to help.

diamondburned commented 2 years ago

Looking at the screenshot closer, the crashing that occurs when you try to "hide a channel list by tapping on the conversation" is just a side effect. The actual error is apparent on the screenshot, since all the Pixbuf images are missing.

You might have to see if other GTK4 programs exhibit this same behavior and maybe poke around gtkcord4's own source code to debug this, since there's no way I can reproduce this, and there's no way the GTK maintainers are going to like a huge program (that's not in C) having a weird error.

floppydiskette commented 2 years ago

(for context: i have experienced this bug as well) through experimentation, i have figured out that if you close the sidebar on the dms screen after starting the program, this seems to stop the crashes. this method seems semi-consistent, and might also help in the process of debugging whatever is happening

diamondburned commented 2 years ago

Can you try running this with GSK_RENDERER=cairo?

floppydiskette commented 2 years ago

oh yeah this seems to just get rid of the issue altogether! had some sort of issue on the first attempt at running, but wasn't able to recreate it to get a log unfortunately; if i can get a log at some point, i'll post it here

diamondburned commented 2 years ago

It's worth noting that there's an ongoing bug where anything with a GtkSwitch in it will crash with the Cairo renderer: https://gitlab.gnome.org/GNOME/gtk/-/issues/4642.

The GTK maintainers don't seem to care enough about the issue, and I don't really have the time to fiddle with C tools, all of which I'm unfamiliar with.

Kabouik commented 2 months ago

Just chiming in to report that I just installed dissent on Droidian + Phosh as well and do not notice this bug, so maybe the causal factor was fixed in a dependency or something:

ss20240513-233052

I wished I could use 6cord on that phone instead since I long used it when I was running Sailfish, and now miss very much the pros of a TUI (minimal look, scaling flexibility, lightness). Sadly I suspect it requires an ancient Go version, though I don't really understand the issue:

strconv.ParseInt: parsing "1715612575.079": invalid syntax
panic: strconv.ParseInt: parsing "1715612575.079": invalid syntax
goroutine 1 [running]:
main.main()
    /home/droidian/Projects/6cord/main.go:429 +0x1e60

Anyway the second part of my message is off-topic, I don't expect an answer, just wanted with that part of my message to send you love and appreciation for that great program you made which still has no competitor years later.