Hacktoberfest 2026: le issue che i maintainer hanno segnato per ottobre, aperte e adatte ai principianti. Sfoglia le issue Hacktoberfest

Abort (SIGABRT) in nvhttp thread on first run — capture initialises fine, no ports ever bind (Wayland/COSMIC, VAAPI)

Aperta
#5,827 0 commenti 0 reazioni 0 assegnatari Vedi su GitHub

I maintainer di solito rispondono entro 1 giorno

Nessuno ha ancora preso questa issue.

Valutazione

Difficoltà
4/5
Tempo stimato
3-5 giorni
Idoneità per principianti
48/100
Tipo di issue
Bug
Chiarezza
Abbastanza chiara
Stato di attività
Attiva
Stack tecnologico
cpp, linux

Direzione di ricerca

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.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Descrizione

ai

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

  1. Fresh install of sunshine (AUR, package maintained by LizardByte)
  2. Ensure no prior state: rm -rf ~/.config/sunshine/credentials ~/.config/sunshine/portal_token
  3. Run sunshine from a terminal
  4. 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' ... 1920x1080
  • Found monitor for DRM screencasting / Found connector ID / Found cursor plane
  • Found H.264 encoder: h264_vaapi and Found 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 = kms makes 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.
Lingua principale
C++
Stelle
41.4k
Fork
2.1k
Merge medio
19h 31m
PR unite (30g)
137

Preparare l'ambiente

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Altre issue di LizardByte/Sunshine

Tutte le issue di LizardByte/Sunshine

Issue simili

Altre issue su C++

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.