Tuba icon indicating copy to clipboard operation
Tuba copied to clipboard

[Bug] App crashes when clicking on media

Open dirtimos opened this issue 9 months ago • 1 comments

Describe the bug

App crashes whenever I try to open an image or reproduce a video. The logs don't show any error. Neither do the debug logs.

Steps To Reproduce

  1. Open app.
  2. Scroll to post with media.
  3. Click on media.

Logs and/or Screenshots

flatpak run dev.geopjr.Tuba
(dev.geopjr.Tuba:2): Tuba-WARNING **: <IP>: Image.vala:69: Failed to download image at "https://<DOMAIN>/system/cache/custom_emojis/images/000/189/436/original/27e501d38c7de12f.png": Unrecognized image file format

Screenshot

Image

Instance Backend

Mastodon

Operating System

Ubuntu 20.04.6 LTS

Package

Flatpak

Troubleshooting information

G_MESSAGES_DEBUG=Tuba flatpak run dev.geopjr.Tuba
Application.vala:274: os: GNOME 48 (Flatpak runtime)
Application.vala:274: prefix: /app
Application.vala:274: flatpak: true
Application.vala:274: version: 0.9.2 (production)
Application.vala:274: gtk: 4.18.4 (4.18.4)
Application.vala:274: libadwaita: 1.7.2 (1.7.2)
Application.vala:274: libsoup: 3.6.5 (3.6.5)
Application.vala:274: libgtksourceview: 5.16.0 (5.16.0)
Application.vala:274: libspelling: true
Application.vala:274: Clapper: false
Application.vala:274: GStreamer: GStreamer 1.24.12 (1.12.24.0)
SecretAccountStore.vala:9: Using libsecret v0.21.7
Network.vala:65: GET: https://<DOMAIN>/api/v1/accounts/110660158601086887
Tuba-INFO: <IP>: Streams.vala:88: TubaMastodonAccount > https://<DOMAIN>/api/v1/streaming?stream=user:notification
Streams.vala:68: Opening stream: https://<DOMAIN>/api/v1/streaming?stream=user:notification
Network.vala:65: GET: https://<DOMAIN>/api/v1/markers?timeline[]=notifications
SecretAccountStore.vala:99: Loaded 1 accounts
AccountStore.vala:85: Activating @<USER>@<DOMAIN>…
Network.vala:65: GET: https://<DOMAIN>/api/v1/accounts/verify_credentials
Network.vala:65: GET: https://<DOMAIN>/api/v1/instance
Network.vala:65: GET: https://<DOMAIN>/api/v1/custom_emojis
Network.vala:65: GET: https://<DOMAIN>/api/v1/announcements
Application.vala:452: Presenting MainWindow
Streams.vala:88: TubaViewsHome > https://<DOMAIN>/api/v1/streaming?stream=user
(dev.geopjr.Tuba:2): Tuba-DEBUG: <IP>: Streams.vala:68: Opening stream: https://<DOMAIN>/api/v1/streaming?stream=user
Tuba-INFO: <IP>: Streams.vala:94: TubaViewsHome X https://<DOMAIN>/api/v1/streaming?stream=user
(dev.geopjr.Tuba:2): Tuba-DEBUG: <IP>: Streams.vala:99: Closing: https://<DOMAIN>/api/v1/streaming?stream=user
Tuba-INFO: <IP>: Streams.vala:88: TubaViewsHome > https://<DOMAIN>/api/v1/streaming?stream=user
(dev.geopjr.Tuba:2): Tuba-DEBUG: <IP>: Streams.vala:68: Opening stream: https://<DOMAIN>/api/v1/streaming?stream=user
Tuba-INFO: <IP>: Streams.vala:88: TubaViewsNotifications > https://<DOMAIN>/api/v1/streaming?stream=user:notification
Tuba-INFO: <IP>: Streams.vala:94: TubaViewsNotifications X https://<DOMAIN>/api/v1/streaming?stream=user:notification
Tuba-INFO: <IP>: Streams.vala:88: TubaViewsNotifications > https://<DOMAIN>/api/v1/streaming?stream=user:notification
Tuba-INFO: <IP>: Streams.vala:88: TubaViewsConversations > https://<DOMAIN>/api/v1/streaming?stream=direct
(dev.geopjr.Tuba:2): Tuba-DEBUG: <IP>: Streams.vala:68: Opening stream: https://<DOMAIN>/api/v1/streaming?stream=direct
Tuba-INFO: <IP>: Streams.vala:94: TubaViewsConversations X https://<DOMAIN>/api/v1/streaming?stream=direct
(dev.geopjr.Tuba:2): Tuba-DEBUG: <IP>: Streams.vala:99: Closing: https://<DOMAIN>/api/v1/streaming?stream=direct
Tuba-INFO: <IP>: Streams.vala:88: TubaViewsConversations > https://<DOMAIN>/api/v1/streaming?stream=direct
(dev.geopjr.Tuba:2): Tuba-DEBUG: <IP>: Streams.vala:68: Opening stream: https://<DOMAIN>/api/v1/streaming?stream=direct
(dev.geopjr.Tuba:2): Tuba-DEBUG: <IP>: Network.vala:65: GET: https://<DOMAIN>/api/v1/timelines/home?limit=20
(dev.geopjr.Tuba:2): Tuba-DEBUG: <IP>: Network.vala:65: GET: https://<DOMAIN>/api/v1/notifications?limit=20
(dev.geopjr.Tuba:2): Tuba-DEBUG: <IP>: Network.vala:65: GET: https://<DOMAIN>/api/v1/conversations?limit=20
(dev.geopjr.Tuba:2): Tuba-DEBUG: <IP>: InstanceAccount.vala:211: @<USER>@<DOMAIN>: profile updated
(dev.geopjr.Tuba:2): Tuba-DEBUG: <IP>: Network.vala:65: GET: https://<DOMAIN>/api/v1/notifications?min_id=3086170
(dev.geopjr.Tuba:2): Tuba-DEBUG: <IP>: Network.vala:65: GET: https://<DOMAIN>/api/v2/instance
(dev.geopjr.Tuba:2): Tuba-DEBUG: <IP> Network.vala:65: GET: https://<DOMAIN>/api/v1/accounts/relationships?id=111906660247153058
(dev.geopjr.Tuba:2): Tuba-DEBUG: <IP>: Network.vala:65: GET: https://<DOMAIN>/api/v1/accounts/relationships?id=111765506238344435
(dev.geopjr.Tuba:2): Tuba-DEBUG: <IP>: Network.vala:65: GET: https://<DOMAIN>/api/v1/accounts/relationships?id=108214551634536755

(dev.geopjr.Tuba:2): Tuba-WARNING **: <IP>: Image.vala:69: Failed to download image at "https://<DOMAIN>/system/cache/custom_emojis/images/000/189/436/original/27e501d38c7de12f.png": Unrecognized image file format
(dev.geopjr.Tuba:2): Tuba-DEBUG: <IP>: Network.vala:65: GET: https://<DOMAIN>/api/v1/timelines/home?limit=20&max_id=114591578066808255     

Additional Context

No response

dirtimos avatar May 29 '25 16:05 dirtimos

Thanks for the report!

My guess is that it has something to do with the graphics stack being very outdated on the host, but you can grab a stacktrace just to make sure:

  • $ flatpak install runtime/org.gnome.Sdk (if tuba was installed for the current user only, pass --user too)
  • From the list, select runtime/org.gnome.Sdk/<arch>/48 (<-- 48)
  • $ flatpak install dev.geopjr.Tuba.Debug (if tuba was installed for the current user only, pass --user too)
  • $ flatpak run --command=sh --devel dev.geopjr.Tuba
  • [📦 dev.geopjr.Tuba ~]$ gdb /app/bin/dev.geopjr.Tuba
  • (gdb) run
  • Reproduce it (if it doesn't crash, but only freeze, kill it with CtrlC)
  • (gdb) backtrace
  • Send back the log
  • Feel free to remove the packages you installed above

(FWIW, what you are redacting with <IP> is actually the time)

GeopJr avatar May 30 '25 06:05 GeopJr