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

Local Server Failed (127) on Linux #281

Closed
4 tasks done
FrenchToucan opened this issue Apr 2, 2024 · 12 comments
Closed
4 tasks done

Local Server Failed (127) on Linux #281

FrenchToucan opened this issue Apr 2, 2024 · 12 comments
Labels

Comments

@FrenchToucan
Copy link

FrenchToucan commented Apr 2, 2024

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

Download the AppImage (0.3.1)
Install dependencies.
Launch app.
Click "Start local server".

Expected behavior

Spmp would display music.

Actual behavior

Perpetual "Connecting to server at 127.0.0.1:whateverport" with a RuntimeException listed below it.

Screenshots / recordings

No response

Logs

Error prevents copying log.

SpMp version

0.3.1

SpMp platform

Linux

OS version

Manjaro w/ kernel 6.6.19-1-MANJARO, KDE Plasma 5.27.11

Additional information

No response

@toasterofbread
Copy link
Owner

Please provide the error message and stack trace. There's nothing I can do without it.

@FrenchToucan
Copy link
Author

RunTimeException:
java.lang.RuntimeException: Local server command not set
at com.toasterofbread.spmp.platform.splash.ExtraLoadingContent_desktopKt.SplashExtraLoadingContent$startServer(ExtraLoadingContent.desktop.kt:104)
at com.toasterofbread.spmp.platform.splash.ExtraLoadingContent_desktopKt.access$SplashExtraLoadingContent$startServer(ExtraLoadingContent.desktop.kt:1)
at com.toasterofbread.spmp.platform.splash.ExtraLoadingContent_desktopKt$SplashExtraLoadingContent$3$1$1.invoke(ExtraLoadingContent.desktop.kt:129)
at com.toasterofbread.spmp.platform.splash.ExtraLoadingContent_desktopKt$SplashExtraLoadingContent$3$1$1.invoke(ExtraLoadingContent.desktop.kt:128)
at androidx.compose.foundation.ClickablePointerInputNode$pointerInput$3.invoke-k-4lQ0M(Clickable.kt:991)
at androidx.compose.foundation.ClickablePointerInputNode$pointerInput$3.invoke(Clickable.kt:984)
at androidx.compose.foundation.gestures.TapGestureDetectorKt$detectTapAndPress$2$1.invokeSuspend(TapGestureDetector.kt:258)
at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33)
at kotlinx.coroutines.DispatchedTaskKt.resume(DispatchedTask.kt:175)
at kotlinx.coroutines.DispatchedTaskKt.dispatch(DispatchedTask.kt:164)
at kotlinx.coroutines.CancellableContinuationImpl.dispatchResume(CancellableContinuationImpl.kt:470)
at kotlinx.coroutines.CancellableContinuationImpl.resumeImpl(CancellableContinuationImpl.kt:504)
at kotlinx.coroutines.CancellableContinuationImpl.resumeImpl$default(CancellableContinuationImpl.kt:493)
at kotlinx.coroutines.CancellableContinuationImpl.resumeWith(CancellableContinuationImpl.kt:364)
at androidx.compose.ui.input.pointer.SuspendingPointerInputModifierNodeImpl$PointerEventHandlerCoroutine.offerPointerEvent(SuspendingPointerInputFilter.kt:672)
at androidx.compose.ui.input.pointer.SuspendingPointerInputModifierNodeImpl.dispatchPointerEvent(SuspendingPointerInputFilter.kt:549)
at androidx.compose.ui.input.pointer.SuspendingPointerInputModifierNodeImpl.onPointerEvent-H0pRuoY(SuspendingPointerInputFilter.kt:571)
at androidx.compose.foundation.AbstractClickablePointerInputNode.onPointerEvent-H0pRuoY(Clickable.kt:950)
at androidx.compose.foundation.AbstractClickableNode.onPointerEvent-H0pRuoY(Clickable.kt:798)
at androidx.compose.ui.input.pointer.Node.dispatchMainEventPass(HitPathTracker.kt:326)
at androidx.compose.ui.input.pointer.Node.dispatchMainEventPass(HitPathTracker.kt:312)
at androidx.compose.ui.input.pointer.Node.dispatchMainEventPass(HitPathTracker.kt:312)
at androidx.compose.ui.input.pointer.Node.dispatchMainEventPass(HitPathTracker.kt:312)
at androidx.compose.ui.input.pointer.Node.dispatchMainEventPass(HitPathTracker.kt:312)
at androidx.compose.ui.input.pointer.NodeParent.dispatchMainEventPass(HitPathTracker.kt:187)
at androidx.compose.ui.input.pointer.HitPathTracker.dispatchChanges(HitPathTracker.kt:106)
at androidx.compose.ui.input.pointer.PointerInputEventProcessor.process-BIzXfog(PointerInputEventProcessor.kt:114)
at androidx.compose.ui.node.RootNodeOwner.onPointerInput(RootNodeOwner.skiko.kt:208)
at androidx.compose.ui.scene.MultiLayerComposeSceneImpl.processRelease(MultiLayerComposeScene.skiko.kt:315)
at androidx.compose.ui.scene.MultiLayerComposeSceneImpl.processPointerInputEvent(MultiLayerComposeScene.skiko.kt:230)
at androidx.compose.ui.scene.BaseComposeScene$inputHandler$2.invoke(BaseComposeScene.skiko.kt:61)
at androidx.compose.ui.scene.BaseComposeScene$inputHandler$2.invoke(BaseComposeScene.skiko.kt:61)
at androidx.compose.ui.input.pointer.SyntheticEventSender.sendInternal(SyntheticEventSender.skiko.kt:175)
at androidx.compose.ui.input.pointer.SyntheticEventSender.send(SyntheticEventSender.skiko.kt:79)
at androidx.compose.ui.scene.ComposeSceneInputHandler.onPointerEvent-WlEVilQ(ComposeSceneInputHandler.skiko.kt:118)
at androidx.compose.ui.scene.ComposeSceneInputHandler.onPointerEvent-BGSDPeU(ComposeSceneInputHandler.skiko.kt:84)
at androidx.compose.ui.scene.BaseComposeScene.sendPointerEvent-BGSDPeU(BaseComposeScene.skiko.kt:182)
at androidx.compose.ui.scene.ComposeScene.sendPointerEvent-BGSDPeU$default(ComposeScene.skiko.kt:180)
at androidx.compose.ui.scene.ComposeSceneMediator_desktopKt.onMouseEvent-d-4ec7I(ComposeSceneMediator.desktop.kt:663)
at androidx.compose.ui.scene.ComposeSceneMediator_desktopKt.access$onMouseEvent-d-4ec7I(ComposeSceneMediator.desktop.kt:1)
at androidx.compose.ui.scene.ComposeSceneMediator.onMouseEvent(ComposeSceneMediator.desktop.kt:363)
at androidx.compose.ui.scene.ComposeSceneMediator.access$onMouseEvent(ComposeSceneMediator.desktop.kt:64)
at androidx.compose.ui.scene.ComposeSceneMediator$mouseListener$1.mouseReleased(ComposeSceneMediator.desktop.kt:168)
at java.desktop/java.awt.Component.processMouseEvent(Unknown Source)
at java.desktop/java.awt.Component.processEvent(Unknown Source)
at java.desktop/java.awt.Component.dispatchEventImpl(Unknown Source)
at java.desktop/java.awt.Component.dispatchEvent(Unknown Source)
at java.desktop/java.awt.EventQueue.dispatchEventImpl(Unknown Source)
at java.desktop/java.awt.EventQueue$4.run(Unknown Source)
at java.desktop/java.awt.EventQueue$4.run(Unknown Source)
at java.base/java.security.AccessController.doPrivileged(Unknown Source)
at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source)
at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source)
at java.desktop/java.awt.EventQueue$5.run(Unknown Source)
at java.desktop/java.awt.EventQueue$5.run(Unknown Source)
at java.base/java.security.AccessController.doPrivileged(Unknown Source)
at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source)
at java.desktop/java.awt.EventQueue.dispatchEvent(Unknown Source)
at java.desktop/java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
at java.desktop/java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
at java.desktop/java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
at java.desktop/java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.desktop/java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.desktop/java.awt.EventDispatchThread.run(Unknown Source)

@toasterofbread
Copy link
Owner

Are you certain this occurs with the stable v0.3.1 release (this), and not a nightly/debug build (this)?

@FrenchToucan
Copy link
Author

You're right, I clicked the wrong executable. That error is from the nightly/debug. Here is the error from stable:
ava.lang.RuntimeException: Local server failed (127)
at com.toasterofbread.spmp.platform.splash.ExtraLoadingContent_desktopKt$SplashExtraLoadingContent$startServer$2.invoke(ExtraLoadingContent.desktop.kt:99)
at com.toasterofbread.spmp.platform.splash.ExtraLoadingContent_desktopKt$SplashExtraLoadingContent$startServer$2.invoke(ExtraLoadingContent.desktop.kt:93)
at com.toasterofbread.spmp.platform.splash.ExtraLoadingContent_desktopKt$startLocalServer$2$1.invokeSuspend(ExtraLoadingContent.desktop.kt:297)
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)

@toasterofbread
Copy link
Owner

Which dependency packages did you install?

@FrenchToucan
Copy link
Author

Java JDK 17
mpv
libappindicator-gtk3
curl (was already installed)

@toasterofbread
Copy link
Owner

Try running the server on its own to get the full error output

@FrenchToucan
Copy link
Author

Tried running just the server. Got this error "libcrypt.so.1: cannot open shared object file: No such file or directory".
Fixed that by installing libxcrypt-compat.
Now when I run the server, I get:
kotlin.IllegalStateException: Binding to tcp:https://*:3973 failed (-1)
at 0 spms-server.kexe 0x63f5ef 0x0 + 6551023
at 1 spms-server.kexe 0x662c24 0x0 + 6695972
at 2 spms-server.kexe 0x5af619 0x0 + 5961241
at 3 spms-server.kexe 0x590816 0x0 + 5834774
at 4 spms-server.kexe 0x6425f9 0x0 + 6563321
at 5 spms-server.kexe 0x69e44f Init_and_run_start + 431
at 6 spms-server.kexe 0x69e54a Konan_main + 10
at 7 libc.so.6 0x7f9869e6eccf 0x0 + 140292588498127
at 8 libc.so.6 0x7f9869e6ed89 __libc_start_main + 137
at 9 spms-server.kexe 0x46637d 0x0 + 4612989

@toasterofbread
Copy link
Owner

Fixed that by installing libxcrypt-compat.

Thanks, I'll add that to the dependency list.

Now when I run the server, I get:
kotlin.IllegalStateException: Binding to tcp:https://*:3973 failed (-1)

That would occur when that port is already in use on your system. Are you sure the server isn't running in the background somewhere?

(By the way, you probably don't need to run the server manually anymore, just launch stable SpMp and it will run automatically).

@FrenchToucan
Copy link
Author

You are right, I must have still had a window open with a server running. In any event, the stable app is working for me now. Thank you so much for the direction and quick responses.

Oh no! I tried to play a song and got this (I do not have Discord installed):
dev.cbyrne.kdiscordipc.core.error.ConnectionError$NoIPCFile: Failed to find an IPC file. Is Discord open? Is this application allowed to access temporary files?

Stack trace:
dev.cbyrne.kdiscordipc.core.error.ConnectionError$NoIPCFile: Failed to find an IPC file. Is Discord open? Is this application allowed to access temporary files?
at dev.cbyrne.kdiscordipc.core.error.ConnectionError$NoIPCFile.(ConnectionError.kt)
at dev.cbyrne.kdiscordipc.core.socket.handler.SocketHandler.findIPCFile(SocketHandler.kt:132)
at dev.cbyrne.kdiscordipc.core.socket.handler.SocketHandler.findIPCFile(SocketHandler.kt:136)
at dev.cbyrne.kdiscordipc.core.socket.handler.SocketHandler.findIPCFile(SocketHandler.kt:136)
at dev.cbyrne.kdiscordipc.core.socket.handler.SocketHandler.findIPCFile(SocketHandler.kt:136)
at dev.cbyrne.kdiscordipc.core.socket.handler.SocketHandler.findIPCFile(SocketHandler.kt:136)
at dev.cbyrne.kdiscordipc.core.socket.handler.SocketHandler.findIPCFile(SocketHandler.kt:136)
at dev.cbyrne.kdiscordipc.core.socket.handler.SocketHandler.findIPCFile(SocketHandler.kt:136)
at dev.cbyrne.kdiscordipc.core.socket.handler.SocketHandler.findIPCFile(SocketHandler.kt:136)
at dev.cbyrne.kdiscordipc.core.socket.handler.SocketHandler.findIPCFile(SocketHandler.kt:136)
at dev.cbyrne.kdiscordipc.core.socket.handler.SocketHandler.findIPCFile(SocketHandler.kt:136)
at dev.cbyrne.kdiscordipc.core.socket.handler.SocketHandler.findIPCFile(SocketHandler.kt:136)
at dev.cbyrne.kdiscordipc.core.socket.handler.SocketHandler.connect(SocketHandler.kt:90)
at dev.cbyrne.kdiscordipc.KDiscordIPC.connect(KDiscordIPC.kt:87)
at dev.cbyrne.kdiscordipc.KDiscordIPC.connect$default(KDiscordIPC.kt:80)
at com.toasterofbread.spmp.platform.DiscordStatus$setActivity$1.invokeSuspend(DiscordStatus.desktop.kt:82)
at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33)
at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:104)
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: [StandaloneCoroutine{Cancelling}@41f3cd38, Dispatchers.Default]

@FrenchToucan
Copy link
Author

Closing the error window and pressing play again worked; the music started playing and another error did not appear.

@toasterofbread
Copy link
Owner

Great 👍

Not sure why that error occurred, Discord RPC should be disabled by default. I'll look into it.

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

2 participants