Skip to content
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

[Flatpak/Linux] java.io.FileNotFoundException: ~/.cache/spmp/thumbnails/<filename>.png (No such file or directory) #405

Open
4 tasks done
PopCat19 opened this issue Nov 26, 2024 · 1 comment
Labels

Comments

@PopCat19
Copy link

Checklist

  • I am able to reproduce the bug with the latest debug version (Android, Linux, Windows)
  • I've checked that there is no open or closed issue about this bug.
  • This issue contains only one bug.
  • The title of this issue accurately describes the bug.

Steps to reproduce

  1. Install spmp through flatpak following: https://spmp.toastbits.dev/docs/0.4.x/client/installation/#flatpak
  2. Launch spmp through Rofi or run flatpak run spmp in Kitty terminal.

Expected behavior

Program should run without crashes.

Actual behavior

Program crashed due to

java.io.FileNotFoundException: /home/popcat19/.cache/spmp/thumbnails/VLRDCLAK5uy_l39bpxtMK-nGlOep-fF0yW_rFTdG0P5Ig.0.png (No such file or directory)

Screenshots / recordings

241125_18h49m38s_screenshot

Logs

~
❯ flatpak run dev.toastbits.spmp 
Database is already up to date (version 6)
Loading resource file at values/strings.xml
Loading resource file at values-en-US/strings.xml
SLF4J(W): No SLF4J providers were found.
SLF4J(W): Defaulting to no-operation (NOP) logger implementation
SLF4J(W): See https://www.slf4j.org/codes.html#noProviders for further details.
Event (true, null): PROPERTY_CHANGED({key="is_playing", value=false})
Connecting to server at tcp://127.0.0.1:3973...
Sending handshake message to server at tcp://127.0.0.1:3973...
Waiting for reply from server at tcp://127.0.0.1:3973...
Received reply handshake from server with the following content:
[{"name":"spmp-server","device_name":"popcat19-pc0 on Linux","spms_api_version":2,"server_state":{"queue":[],"state":"IDLE","is_playing":false,"current_item_index":-1,"current_position_ms":0,"duration_ms":0,"repeat_mode":"NONE"},"machine_id":"TYwYXCcw"}]
Sent connection reply to Client(id=30385170, name=SpMp [Linux, popcat19-pc0], type=SPMP_STANDALONE, language=EN, event_head=0, last_heartbeat=ValueTimeMark(reading=2454)): SpMsServerHandshake(name=spmp-server, device_name=popcat19-pc0 on Linux, spms_api_version=2, server_state=SpMsServerState(queue=[], state=IDLE, is_playing=false, current_item_index=-1, current_position_ms=0, duration_ms=0, repeat_mode=NONE), machine_id=TYwYXCcw, action_replies=null)
Client connected: Client(id=30385170, name=SpMp [Linux, popcat19-pc0], type=SPMP_STANDALONE, language=EN, event_head=0, last_heartbeat=ValueTimeMark(reading=2454))
sendRequest !clients [] false
GOT MSG FROM CLIENT [!clients, []]
Performing server action clients with [] from Client(id=30385170, name=SpMp [Linux, popcat19-pc0], type=SPMP_STANDALONE, language=EN, event_head=0, last_heartbeat=ValueTimeMark(reading=157281509))
Sending reply to client: [SpMsActionReply(success=true, error=null, error_cause=null, result=[{"name":"spmp-server","type":"SERVER","language":"EN","machine_id":"TYwYXCcw","player_port":3973},{"name":"SpMp [Linux, popcat19-pc0]","type":"SPMP_STANDALONE","language":"EN","machine_id":"TYwYXCcw","is_caller":true}])]
sendRequest setAuthInfo [null] false
GOT MSG FROM CLIENT [setAuthInfo, [null]]
Performing player action setAuthInfo with [null] from Client(id=30385170, name=SpMp [Linux, popcat19-pc0], type=SPMP_STANDALONE, language=EN, event_head=0, last_heartbeat=ValueTimeMark(reading=409086586))
Sending reply to client: []
sendRequest !clients [] false
GOT MSG FROM CLIENT [!clients, []]
Performing server action clients with [] from Client(id=30385170, name=SpMp [Linux, popcat19-pc0], type=SPMP_STANDALONE, language=EN, event_head=0, last_heartbeat=ValueTimeMark(reading=1129838756))
Sending reply to client: [SpMsActionReply(success=true, error=null, error_cause=null, result=[{"name":"spmp-server","type":"SERVER","language":"EN","machine_id":"TYwYXCcw","player_port":3973},{"name":"SpMp [Linux, popcat19-pc0]","type":"SPMP_STANDALONE","language":"EN","machine_id":"TYwYXCcw","is_caller":true}])]
sendRequest setLocalFiles [{}] false
GOT MSG FROM CLIENT [setLocalFiles, [{}]]
Performing player action setLocalFiles with [{}] from Client(id=30385170, name=SpMp [Linux, popcat19-pc0], type=SPMP_STANDALONE, language=EN, event_head=0, last_heartbeat=ValueTimeMark(reading=1242562235))
Sending reply to client: []
java.io.FileNotFoundException: /home/popcat19/.cache/spmp/thumbnails/l6_w3887Rwo.0.png (No such file or directory)
	at java.base/java.io.FileOutputStream.open0(Native Method)
	at java.base/java.io.FileOutputStream.open(Unknown Source)
	at java.base/java.io.FileOutputStream.<init>(Unknown Source)
	at java.base/java.io.FileOutputStream.<init>(Unknown Source)
	at kotlin.io.FilesKt__FileReadWriteKt.writeBytes(FileReadWrite.kt:114)
	at com.toasterofbread.spmp.model.mediaitem.loader.MediaItemThumbnailLoader$performLoad$2.invokeSuspend(MediaItemThumbnailLoader.kt:128)
	at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33)
	at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:104)
	at kotlinx.coroutines.internal.LimitedDispatcher$Worker.run(LimitedDispatcher.kt:111)
	at kotlinx.coroutines.scheduling.TaskImpl.run(Tasks.kt:99)
	at kotlinx.coroutines.scheduling.CoroutineScheduler.runSafely(CoroutineScheduler.kt:585)
	at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.executeTask(CoroutineScheduler.kt:802)
	at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.runWorker(CoroutineScheduler.kt:706)
	at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.run(CoroutineScheduler.kt:693)
	Suppressed: kotlinx.coroutines.internal.DiagnosticCoroutineContextException: [androidx.compose.ui.scene.ComposeContainer$DesktopCoroutineExceptionHandler@4eba452e, androidx.compose.runtime.BroadcastFrameClock@13f7bec2, StandaloneCoroutine{Cancelling}@71ddaf1e, FlushCoroutineDispatcher@3da3bae4]
java.io.FileNotFoundException: /home/popcat19/.cache/spmp/thumbnails/VLRDCLAK5uy_l39bpxtMK-nGlOep-fF0yW_rFTdG0P5Ig.0.png (No such file or directory)
	at java.base/java.io.FileOutputStream.open0(Native Method)
	at java.base/java.io.FileOutputStream.open(Unknown Source)
	at java.base/java.io.FileOutputStream.<init>(Unknown Source)
	at java.base/java.io.FileOutputStream.<init>(Unknown Source)
	at kotlin.io.FilesKt__FileReadWriteKt.writeBytes(FileReadWrite.kt:114)
	at com.toasterofbread.spmp.model.mediaitem.loader.MediaItemThumbnailLoader$performLoad$2.invokeSuspend(MediaItemThumbnailLoader.kt:128)
	at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33)
	at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:104)
	at kotlinx.coroutines.internal.LimitedDispatcher$Worker.run(LimitedDispatcher.kt:111)
	at kotlinx.coroutines.scheduling.TaskImpl.run(Tasks.kt:99)
	at kotlinx.coroutines.scheduling.CoroutineScheduler.runSafely(CoroutineScheduler.kt:585)
	at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.executeTask(CoroutineScheduler.kt:802)
	at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.runWorker(CoroutineScheduler.kt:706)
	at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.run(CoroutineScheduler.kt:693)
	Suppressed: kotlinx.coroutines.internal.DiagnosticCoroutineContextException: [androidx.compose.ui.scene.ComposeContainer$DesktopCoroutineExceptionHandler@4eba452e, androidx.compose.runtime.BroadcastFrameClock@13f7bec2, StandaloneCoroutine{Cancelling}@6b4774db, FlushCoroutineDispatcher@3da3bae4]
GOT MSG FROM CLIENT []
Sending reply to client: []
GOT MSG FROM CLIENT []
Sending reply to client: []
GOT MSG FROM CLIENT []
Sending reply to client: []
GOT MSG FROM CLIENT []
Sending reply to client: []
GOT MSG FROM CLIENT []
Sending reply to client: []
GOT MSG FROM CLIENT []
Sending reply to client: []
GOT MSG FROM CLIENT []
Sending reply to client: []

SpMp version

0.4.1

SpMp platform

Linux

OS version

CachyOS/Arch 6.12.1-2-cachyos

Additional information

Couldn't run debug release artifact

After executing spmp from ~/Downloads/spmp/bin with crash: java.lang.UnsupportedClassVersionError.
|
If I'm doing this wrong, please direct me with steps to properly run spmp latest debug version on Arch Linux.
(jdk-openjdk 23.0.1 is installed)

Log
java.lang.UnsupportedClassVersionError: dev/toastbits/ytmkt/impl/youtubei/YoutubeiApi has been compiled by a more recent version of the Java Runtime (class file version 66.0), this version of the Java Runtime only recognizes class file versions up to 65.0

Stack trace:
java.lang.UnsupportedClassVersionError: dev/toastbits/ytmkt/impl/youtubei/YoutubeiApi has been compiled by a more recent version of the Java Runtime (class file version 66.0), this version of the Java Runtime only recognizes class file versions up to 65.0
	at java.base/java.lang.ClassLoader.defineClass1(Native Method)
	at java.base/java.lang.ClassLoader.defineClass(Unknown Source)
	at java.base/java.security.SecureClassLoader.defineClass(Unknown Source)
	at java.base/jdk.internal.loader.BuiltinClassLoader.defineClass(Unknown Source)
	at java.base/jdk.internal.loader.BuiltinClassLoader.findClassOnClassPathOrNull(Unknown Source)
	at java.base/jdk.internal.loader.BuiltinClassLoader.loadClassOrNull(Unknown Source)
	at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(Unknown Source)
	at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(Unknown Source)
	at java.base/java.lang.ClassLoader.loadClass(Unknown Source)
	at java.base/java.lang.ClassLoader.defineClass1(Native Method)
	at java.base/java.lang.ClassLoader.defineClass(Unknown Source)
	at java.base/java.security.SecureClassLoader.defineClass(Unknown Source)
	at java.base/jdk.internal.loader.BuiltinClassLoader.defineClass(Unknown Source)
	at java.base/jdk.internal.loader.BuiltinClassLoader.findClassOnClassPathOrNull(Unknown Source)
	at java.base/jdk.internal.loader.BuiltinClassLoader.loadClassOrNull(Unknown Source)
	at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(Unknown Source)
	at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(Unknown Source)
	at java.base/java.lang.ClassLoader.loadClass(Unknown Source)
	at com.toasterofbread.spmp.youtubeapi.YtmApiType.instantiate(YtmApiType.kt:24)
	at com.toasterofbread.spmp.platform.AppContext.<init>(AppContext.desktop.kt:56)
	at com.toasterofbread.spmp.platform.AppContext.<init>(AppContext.desktop.kt)
	at com.toasterofbread.spmp.platform.AppContext$Companion.create(AppContext.desktop.kt:35)
	at com.toasterofbread.spmp.platform.AppContext$Companion$create$1.invokeSuspend(AppContext.desktop.kt)
	at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33)
	at kotlinx.coroutines.internal.ScopeCoroutine.afterResume(Scopes.kt:28)
	at kotlinx.coroutines.AbstractCoroutine.resumeWith(AbstractCoroutine.kt:100)
	at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:46)
	at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:101)
	at kotlinx.coroutines.EventLoopImplBase.processNextEvent(EventLoop.common.kt:263)
	at kotlinx.coroutines.BlockingCoroutine.joinBlocking(Builders.kt:95)
	at kotlinx.coroutines.BuildersKt__BuildersKt.runBlocking(Builders.kt:69)
	at kotlinx.coroutines.BuildersKt.runBlocking(Unknown Source)
	at kotlinx.coroutines.BuildersKt__BuildersKt.runBlocking$default(Builders.kt:47)
	at kotlinx.coroutines.BuildersKt.runBlocking$default(Unknown Source)
	at MainKt.main(main.kt:41)


Distro: CachyOS (Arch-based)
WM: Hyprland (Wayland)

~
❯ flatpak info dev.toastbits.spmp 

SpMp - A customisable YouTube Music client

          ID: dev.toastbits.spmp
         Ref: app/dev.toastbits.spmp/x86_64/master
        Arch: x86_64
      Branch: master
     Version: v0.4.1
     License: GPL-3.0-only
      Origin: toastbits
  Collection: 
Installation: system
   Installed: 507.7 MB
     Runtime: org.freedesktop.Platform/x86_64/23.08
         Sdk: org.freedesktop.Sdk/x86_64/23.08

      Commit: aae20f3b742fccea3a090e67846ee29808428633c9298532124dea203ef5fc3e
     Subject: Export dev.toastbits.spmp
        Date: 2024-10-28 17:50:21 +0000
@PopCat19 PopCat19 added the Bug label Nov 26, 2024
@PopCat19
Copy link
Author

On an afterthought, this problem could be occuring because of my <800kb/s download speed. Nonetheless, it should still compensate load for the limited speed; youtube/ytm loads and runs without issues in Brave browser.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

1 participant