Abort (SIGABRT) in nvhttp thread on first run — capture initialises fine, no ports ever bind (Wayland/COSMIC, VAAPI)
Los mantenedores suelen responder en 1 día
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 4/5
- Tiempo estimado
- 3-5 días
- Aptitud para principiantes
- 48/100
- Tipo de issue
- Error
- Claridad
- Bastante claro
- Estado de actividad
- Activo
- Stack tecnológico
- cpp, linux
- Área
- backend, networking, operating-systems
Línea de trabajo
Reproduce the fresh-install startup and inspect the supplied coredump, focusing on the nvhttp::47984 thread and the exception frames after sunshine_state.json is reported missing. Trace the startup path that should bind ports 47984, 47989, and 47990. Done means Sunshine no longer aborts on first run and the web UI becomes reachable for initial setup.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
Title
Abort (SIGABRT) in nvhttp thread on first run — capture initialises fine, no ports ever bind (Wayland/COSMIC, VAAPI)
Body
Description
On a fresh install, Sunshine completes capture and encoder initialisation successfully, then
aborts in the nvhttp::47984 thread before binding any of its ports. No exception message is
printed — the process calls abort() directly, so there is no terminate called after throwing…
text to go on.
Because it dies before the web UI binds, https://localhost:47990 is never reachable and initial
setup cannot be completed. Under systemd it crash-loops until StartLimitBurst stops it.
Everything up to that point works — including the xdg-desktop-portal path on COSMIC, DRM
screencasting, and VAAPI encoder selection — so this does not look like a capture or compositor
problem.
Steps to reproduce
- Fresh install of
sunshine(AUR, package maintained by LizardByte) - Ensure no prior state:
rm -rf ~/.config/sunshine/credentials ~/.config/sunshine/portal_token - Run
sunshinefrom a terminal - Accept the COSMIC portal prompt (both displays, "always allow")
Expected
Sunshine finishes starting, binds 47984/47989/47990, web UI reachable for first-run setup.
Actual
Aborts immediately after logging that sunshine_state.json does not exist:
[info]: Found H.264 encoder: h264_vaapi [vaapi]
[info]: Found HEVC encoder: hevc_vaapi [vaapi]
[info]: Open the Web UI to set your new username and password and getting started
[info]: File /home/<user>/.config/sunshine/sunshine_state.json doesn't exist
[1] <pid> abort (core dumped) sunshine
ss -ltn shows nothing listening on 47984, 47989 or 47990 at any point.
Coredump
PID: <pid> (sunshine)
TID: <tid> (nvhttp::47984)
UID: 1000
Signal: 6 (ABRT) si_code: SI_TKILL
Stack trace of faulting thread:
#0 n/a (libc.so.6 + 0x9a11c)
#1 raise (libc.so.6 + 0x3e5d0)
#2 abort (libc.so.6 + 0x25685)
#3 n/a (sunshine + 0xcba04)
#4 n/a (sunshine + 0x12b6359)
#5 n/a (libgcc_s.so.1 + 0x22043)
#6 _Unwind_RaiseException (libgcc_s.so.1 + 0x227ae)
#7 __cxa_throw (libstdc++.so.6 + 0xb5ac7)
#8 n/a (sunshine + 0x210ad)
#9 n/a (sunshine + 0xe8f6d)
So an exception is thrown and propagates out of the nvhttp thread, and the handler aborts
without surfacing what().
Reproducibility
Consistent. Reproduced across roughly a dozen starts, both under systemd --user and directly
from a terminal. Deleting credentials/ (certs regenerate cleanly) and portal_token does not
change the outcome.
What does work
Worth stating, since it rules a lot out:
- xdg-desktop-portal on COSMIC prompts, both displays granted, restore token saved and reloaded
[portalgrab] Found stream for display id/name: 'DP-1' ... 2560x1440[portalgrab] Found stream for display id/name: 'HDMI-A-1' ... 1920x1080Found monitor for DRM screencasting/Found connector ID/Found cursor planeFound H.264 encoder: h264_vaapiandFound HEVC encoder: hevc_vaapi
Environment
| Sunshine | 2026.914.233613, commit 63d35f702ee9e362e43263742981836ec0710384 |
| Install | AUR sunshine package |
| OS | Arch Linux, kernel 7.2.7-arch1-1 |
| Desktop | COSMIC 1.9.0, Wayland (XDG_SESSION_TYPE=wayland) |
| GPU | AMD Radeon RX 550 (polaris11), amdgpu, /dev/dri/card1 |
| Mesa | 26.2.3-arch1.1, radeonsi |
| Displays | DP-1 2560x1440 @ 0x0, HDMI-A-1 1920x1080 @ 2560x360 |
Notes
getcap /usr/bin/sunshine→cap_sys_admin,cap_sys_nice=p, and the log confirms Sunshine
drops both at startup by design.- Setting
capture = kmsmakes the KMS monitor list come back empty (Couldn't find monitor [0]),
which appears to be a consequence of that capability drop rather than a separate fault — the
default auto-detect path finds the monitors fine. - No other process is bound to 47984/47989/47990.
- Lenguaje dominante
- C++
- Estrellas
- 41.7k
- Forks
- 2.2k
- Merge medio
- 19 h 13 min
- PR fusionados (30 d)
- 128
Preparar el entorno
- Sin Dockerfile ni archivo de Docker Compose
- Sin plantilla de pull request
- Leer la guía de contribución
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de LizardByte/Sunshine
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 76/100
LizardByte/Sunshine#5795 ·
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
LizardByte/Sunshine#5467 · 2 comentarios ·
Los mantenedores suelen responder en 1 día
-
Dificultad 4/5 3-5 días Aptitud para principiantes 48/100
LizardByte/Sunshine#5841 ·
Los mantenedores suelen responder en 1 día
-
(Steam Deck) Black picture in 4-7/10 streams when GAMESCOPE_COMPOSITE_FORCE set to 0 since 2026.906Abierto
Dificultad 4/5 3-5 días Aptitud para principiantes 42/100
LizardByte/Sunshine#5839 · 1 comentario ·
Los mantenedores suelen responder en 1 día
-
Dificultad 5/5 Más de una semana Aptitud para principiantes 35/100
LizardByte/Sunshine#5814 ·
Los mantenedores suelen responder en 1 día
Todos los issues de LizardByte/Sunshine
Issues similares
-
Broken links in the docsAbierto
Dificultad 1/5 Menos de una hora Aptitud para principiantes 85/100
microsoft/onnxruntime#33018 ·
Los mantenedores suelen responder en 2 días
-
Dificultad 1/5 Menos de una hora Aptitud para principiantes 78/100
Los mantenedores suelen responder en 1 día
-
DataLakeFileSystemClient::ListPaths() throws JSON exception due to accessing undefined fieldsAbiertocustomer-reported needs-triage question
Dificultad 2/5 1-3 horas Aptitud para principiantes 76/100
Azure/azure-sdk-for-cpp#7435 ·
Los mantenedores suelen responder en 1 día
-
ChromieCraft Generic Confirmed World Event
Dificultad 2/5 1-3 horas Aptitud para principiantes 68/100
azerothcore/azerothcore-wotlk#27882 ·
Los mantenedores suelen responder en 1 día
-
MacOS build failureAbiertobug
Dificultad 2/5 1-3 horas Aptitud para principiantes 82/100
aristocratos/btop#1874 ·
Los mantenedores suelen responder en 1 día