jeffvli / feishin

A modern self-hosted music player.
https://feishin.vercel.app
GNU General Public License v3.0
2.83k stars 116 forks source link

Core dump with Ubuntu 24.04.01 LTS #728

Closed isole closed 2 months ago

isole commented 2 months ago

Expected Behavior

Feishin starts

Current Behavior

Running 'feishin' as a non-root user fails with the following error:

[127667:0904/224704.120276:FATAL:credentials.cc(127)] Check failed: . : Permission denied (13) Trace/breakpoint trap (core dumped)

Running as root with sudo feishin --no-sandbox, crashes with the following stacktrace:

A JavaScript error occurred in the main process
Uncaught Exception:
Error: unknown address type:disabled
    at createStream (/opt/Feishin-0.8.1-linux-x64/resources/app.asar/node_modules/dbus-next/lib/connection.js:64:17)
    at createConnection (/opt/Feishin-0.8.1-linux-x64/resources/app.asar/node_modules/dbus-next/lib/connection.js:81:33)
    at createClient (/opt/Feishin-0.8.1-linux-x64/resources/app.asar/node_modules/dbus-next/index.js:10:20)
    at Object.sessionBus (/opt/Feishin-0.8.1-linux-x64/resources/app.asar/node_modules/dbus-next/index.js:41:10)
    at Player.init (/opt/Feishin-0.8.1-linux-x64/resources/app.asar/node_modules/mpris-service/src/index.js:183:20)
    at new Player (/opt/Feishin-0.8.1-linux-x64/resources/app.asar/node_modules/mpris-service/src/index.js:175:8)
    at Player (/opt/Feishin-0.8.1-linux-x64/resources/app.asar/node_modules/mpris-service/src/index.js:168:12)
    at Object.89747 (/opt/Feishin-0.8.1-linux-x64/resources/app.asar/dist/main/main.js:14:532445)
    at n (/opt/Feishin-0.8.1-linux-x64/resources/app.asar/dist/main/main.js:14:834132)
    at Object.59374 (/opt/Feishin-0.8.1-linux-x64/resources/app.asar/dist/main/main.js:14:523589)
[127333:0904/224357.239422:ERROR:bus.cc(407)] Failed to connect to the bus: Could not parse server address: Unknown address type (examples of valid types are "tcp" and on UNIX "unix")
[127333:0904/224357.239490:ERROR:bus.cc(407)] Failed to connect to the bus: Could not parse server address: Unknown address type (examples of valid types are "tcp" and on UNIX "unix")
[127333:0904/224357.239507:ERROR:bus.cc(407)] Failed to connect to the bus: Could not parse server address: Unknown address type (examples of valid types are "tcp" and on UNIX "unix")
[127333:0904/224357.239516:ERROR:bus.cc(407)] Failed to connect to the bus: Could not parse server address: Unknown address type (examples of valid types are "tcp" and on UNIX "unix")
Authorization required, but no authorization protocol specified

Authorization required, but no authorization protocol specified

Authorization required, but no authorization protocol specified

Authorization required, but no authorization protocol specified

Authorization required, but no authorization protocol specified

Authorization required, but no authorization protocol specified

[127360:0904/224357.373687:ERROR:angle_platform_impl.cc(44)] Display.cpp:1086 (initialize): ANGLE Display::initialize error 12289: Could not open the default X display.
ERR: Display.cpp:1086 (initialize): ANGLE Display::initialize error 12289: Could not open the default X display.
[127360:0904/224357.373813:ERROR:gl_display.cc(497)] EGL Driver message (Critical) eglInitialize: Could not open the default X display.
[127360:0904/224357.373842:ERROR:gl_display.cc(767)] eglInitialize OpenGL failed with error EGL_NOT_INITIALIZED, trying next display type
Authorization required, but no authorization protocol specified

[127360:0904/224357.373938:ERROR:angle_platform_impl.cc(44)] Display.cpp:1086 (initialize): ANGLE Display::initialize error 12289: Could not open the default X display.
ERR: Display.cpp:1086 (initialize): ANGLE Display::initialize error 12289: Could not open the default X display.
[127360:0904/224357.373970:ERROR:gl_display.cc(497)] EGL Driver message (Critical) eglInitialize: Could not open the default X display.
[127360:0904/224357.374000:ERROR:gl_display.cc(767)] eglInitialize OpenGLES failed with error EGL_NOT_INITIALIZED
[127360:0904/224357.374028:ERROR:gl_display.cc(801)] Initialization of all EGL display types failed.
[127360:0904/224357.374058:ERROR:gl_ozone_egl.cc(26)] GLDisplayEGL::Initialize failed.
Authorization required, but no authorization protocol specified

Authorization required, but no authorization protocol specified

[127360:0904/224357.454662:ERROR:angle_platform_impl.cc(44)] Display.cpp:1086 (initialize): ANGLE Display::initialize error 12289: Could not open the default X display.
ERR: Display.cpp:1086 (initialize): ANGLE Display::initialize error 12289: Could not open the default X display.
[127360:0904/224357.454742:ERROR:gl_display.cc(497)] EGL Driver message (Critical) eglInitialize: Could not open the default X display.
[127360:0904/224357.454758:ERROR:gl_display.cc(767)] eglInitialize OpenGL failed with error EGL_NOT_INITIALIZED, trying next display type
Authorization required, but no authorization protocol specified

[127360:0904/224357.454849:ERROR:angle_platform_impl.cc(44)] Display.cpp:1086 (initialize): ANGLE Display::initialize error 12289: Could not open the default X display.
ERR: Display.cpp:1086 (initialize): ANGLE Display::initialize error 12289: Could not open the default X display.
[127360:0904/224357.454867:ERROR:gl_display.cc(497)] EGL Driver message (Critical) eglInitialize: Could not open the default X display.
[127360:0904/224357.454882:ERROR:gl_display.cc(767)] eglInitialize OpenGLES failed with error EGL_NOT_INITIALIZED
[127360:0904/224357.454896:ERROR:gl_display.cc(801)] Initialization of all EGL display types failed.
[127360:0904/224357.454913:ERROR:gl_ozone_egl.cc(26)] GLDisplayEGL::Initialize failed.
[127360:0904/224357.455530:ERROR:viz_main_impl.cc(166)] Exiting GPU process due to errors during initialization
Authorization required, but no authorization protocol specified

Authorization required, but no authorization protocol specified

Authorization required, but no authorization protocol specified

Authorization required, but no authorization protocol specified

Authorization required, but no authorization protocol specified

Authorization required, but no authorization protocol specified

[127381:0904/224357.559183:ERROR:angle_platform_impl.cc(44)] DisplayVkXcb.cpp:58 (initialize): xcb_connect() failed, error 1
ERR: DisplayVkXcb.cpp:58 (initialize): xcb_connect() failed, error 1
[127381:0904/224357.559292:ERROR:angle_platform_impl.cc(44)] Display.cpp:1086 (initialize): ANGLE Display::initialize error 12289: Not initialized.
ERR: Display.cpp:1086 (initialize): ANGLE Display::initialize error 12289: Not initialized.
[127381:0904/224357.559319:ERROR:gl_display.cc(497)] EGL Driver message (Critical) eglInitialize: Not initialized.
[127381:0904/224357.559339:ERROR:gl_display.cc(767)] eglInitialize SwANGLE failed with error EGL_NOT_INITIALIZED
[127381:0904/224357.559361:ERROR:gl_display.cc(801)] Initialization of all EGL display types failed.
[127381:0904/224357.559384:ERROR:gl_ozone_egl.cc(26)] GLDisplayEGL::Initialize failed.
Authorization required, but no authorization protocol specified

Authorization required, but no authorization protocol specified

[127381:0904/224357.633564:ERROR:angle_platform_impl.cc(44)] DisplayVkXcb.cpp:58 (initialize): xcb_connect() failed, error 1
ERR: DisplayVkXcb.cpp:58 (initialize): xcb_connect() failed, error 1
[127381:0904/224357.633646:ERROR:angle_platform_impl.cc(44)] Display.cpp:1086 (initialize): ANGLE Display::initialize error 12289: Not initialized.
ERR: Display.cpp:1086 (initialize): ANGLE Display::initialize error 12289: Not initialized.
[127381:0904/224357.633667:ERROR:gl_display.cc(497)] EGL Driver message (Critical) eglInitialize: Not initialized.
[127381:0904/224357.633684:ERROR:gl_display.cc(767)] eglInitialize SwANGLE failed with error EGL_NOT_INITIALIZED
[127381:0904/224357.633701:ERROR:gl_display.cc(801)] Initialization of all EGL display types failed.
[127381:0904/224357.633718:ERROR:gl_ozone_egl.cc(26)] GLDisplayEGL::Initialize failed.
[127381:0904/224357.634368:ERROR:viz_main_impl.cc(166)] Exiting GPU process due to errors during initialization
Authorization required, but no authorization protocol specified

Authorization required, but no authorization protocol specified

Removed the ~/.config/feishin folder to exclude that the credentials to the server are wrong (which are not, but just in case and to rule out that), but still crashes with the same error.

If it's a graphics issue, here are the installed drivers:

vendor   : NVIDIA Corporation
model    : AD107GLM [RTX 2000 Ada Generation Laptop GPU]
driver   : nvidia-driver-550-open - distro non-free
driver   : nvidia-driver-545 - third-party non-free
driver   : nvidia-driver-535-server-open - distro non-free
driver   : nvidia-driver-535-open - distro non-free
driver   : nvidia-driver-535-server - distro non-free
driver   : nvidia-driver-550 - distro non-free recommended
driver   : nvidia-driver-535 - distro non-free
driver   : xserver-xorg-video-nouveau - distro free builtin

Steps to Reproduce

Upgrade to Ubuntu 24.04.01 from 22.04.01 (Haven't tested clean install)

Possible Solution

No response

Context

No response

Application version

0.7.3+

Operating System and version

Ubuntu 24.04.01

Server and Version

Navidrome 0.52.5 (c5560888)

Node Version (if developing locally)

No response

kgarner7 commented 2 months ago

...Feishin is a user application (on the level of something like Spotify, Discord, etc). You should not be running as root. This error is showing that Feishin cannot access your X server (which is not unexpected).

kgarner7 commented 2 months ago

Otherwise, most likely https://stackoverflow.com/questions/76165512/fatalcredentials-cc127-check-failed-permission-denied-13-trace-breakpo See https://github.com/jeffvli/feishin?tab=readme-ov-file#i-have-the-issue-the-suid-sandbox-helper-binary-was-found-but-is-not-configured-correctly-on-linux

isole commented 2 months ago

...Feishin is a user application (on the level of something like Spotify, Discord, etc). You should not be running as root. This error is showing that Feishin cannot access your X server (which is not unexpected).

Sure, I just ran it as root to see if it's permissions issue, and see if I can get more information.

sysctl kernel.unprivileged_userns_clone returns 1, so user unprivileged namespaces are enabled.

Forgot to mention that the application starts successfully with --no-sandbox, as a normal user.

kgarner7 commented 2 months ago

https://github.com/electron/electron/issues/41066 thanks ubuntu, I guess. I'll look into updating the docs I guess.