Yellow-Dog-Man / Resonite-Issues

Issue repository for Resonite.
https://resonite.com
133 stars 2 forks source link

SIGINT/CTRL+C doesn't correctly shut down .net8 Headless #2660

Open phil-flip opened 1 month ago

phil-flip commented 1 month ago

Describe the bug?

I recently found out that a Ctrl+ C or an interrupt signal (SIGINT) doesn't shut down a headless and makes it stuck in a limbo state of it already shutdown but the process not ending.

To Reproduce

  1. Start the headless
  2. Wait for boot
  3. Press Ctrl+ C

--> Headless doesn't completely shut down and is stuck.

Expected behavior

Expect the headless to shut down, like the shutdown command would.

Screenshots

No response

Resonite Version Number

2024.7.24.1106 (.net8)

What Platforms does this occur on?

Windows

What headset if any do you use?

No response

Log Files

Shutdown and SIGINT both end in.

7:11:30 PM.826  LNL Listener using port:60320 has closed. Marking port as Free.
7:11:30 PM.828  LNL Listener using port:60321 has closed. Marking port as Free.
7:11:30 PM.828  LNL Listener using port:60322 has closed. Marking port as Free.
7:11:30 PM.930  LNL Listener using port:65486 has closed. Marking port as Free.
7:11:30 PM.931  LNL Listener using port:65487 has closed. Marking port as Free.
7:11:30 PM.931  LNL Listener using port:65488 has closed. Marking port as Free.
7:11:30 PM.945  LNL Listener using port:64986 has closed. Marking port as Free.
7:11:30 PM.946  LNL Listener using port:64987 has closed. Marking port as Free.
7:11:30 PM.946  LNL Listener using port:64988 has closed. Marking port as Free.
7:11:31 PM.051  LNL Listener using port:55555 has closed. Marking port as Free.
7:11:31 PM.052  LNL Listener using port:55556 has closed. Marking port as Free.
7:11:31 PM.053  LNL Listener using port:55557 has closed. Marking port as Free.

After some time the SIGINT method starts posting additional logs periodically.

7:15:10 PM.737  Running refresh on: OwnerId: U-h33tology, Path: G-Resonite.Favorites.Camera
7:15:10 PM.737  Running refresh on: OwnerId: U-h33tology, Path: G-Resonite.Favorites.DocumentDisplay
7:15:10 PM.738  Running refresh on: OwnerId: U-h33tology, Path: G-Resonite.Favorites.ColorDialog
7:15:10 PM.739  Running refresh on: OwnerId: U-h33tology, Path: G-Resonite.Favorites.WorldLoadingIndicator
7:15:10 PM.739  Running refresh on: OwnerId: U-h33tology, Path: G-Resonite.Favorites.ProgressBar
7:15:10 PM.739  Running refresh on: OwnerId: U-h33tology, Path: G-Resonite.Favorites.UrlDisplay
7:15:10 PM.740  Running refresh on: OwnerId: U-h33tology, Path: G-Resonite.Favorites.Keyboard
7:15:10 PM.740  Running refresh on: OwnerId: U-h33tology, Path: G-Resonite.Favorites.Avatar
7:15:10 PM.740  Running refresh on: OwnerId: U-h33tology, Path: G-Resonite.Favorites.AudioPlayer
7:15:10 PM.753  Running refresh on: OwnerId: U-h33tology, Path: G-Resonite.Favorites.NamePlate
7:15:10 PM.768  Running refresh on: OwnerId: U-h33tology, Path: G-Resonite.Favorites.AudioStreamController
7:15:10 PM.784  Running refresh on: OwnerId: U-h33tology, Path: G-Resonite.Favorites.TextDisplay
7:15:10 PM.800  Running refresh on: OwnerId: U-h33tology, Path: G-Resonite.Favorites.Home
7:15:10 PM.816  Running refresh on: OwnerId: U-h33tology, Path: G-Resonite.Favorites.VideoPlayer
7:15:10 PM.833  Running refresh on: OwnerId: U-h33tology, Path: G-Resonite.Favorites.NoticeDisplay
7:15:27 PM.554  Running refresh on: OwnerId: U-h33tology, Path: G-HardLight.HLSP.Label.Stream07
7:15:27 PM.555  Running refresh on: OwnerId: U-h33tology, Path: U-Nordwick.StreamPlayer.MuteLocal
7:15:27 PM.555  Running refresh on: OwnerId: U-h33tology, Path: U-Nordwick.StreamPlayer.SpatiLocal
7:15:27 PM.556  Running refresh on: OwnerId: U-h33tology, Path: G-HardLight.HLSP.VolumeCloudVar
7:15:27 PM.556  Running refresh on: OwnerId: U-h33tology, Path: G-HardLight.HLSP.Label.Stream01
7:15:27 PM.556  Running refresh on: OwnerId: U-h33tology, Path: G-HardLight.HLSP.URL.Stream03
7:15:27 PM.557  Running refresh on: OwnerId: U-h33tology, Path: G-HardLight.HLSP.Label.Stream03
7:15:27 PM.557  Running refresh on: OwnerId: U-h33tology, Path: G-HardLight.HLSP.URL.Stream04
7:15:27 PM.557  Running refresh on: OwnerId: U-h33tology, Path: G-HardLight.HLSP.Label.Stream04
7:15:27 PM.558  Running refresh on: OwnerId: U-h33tology, Path: G-HardLight.HLSP.URL.Stream05
7:15:27 PM.558  Running refresh on: OwnerId: U-h33tology, Path: G-HardLight.HLSP.Label.Stream08
7:15:27 PM.558  Running refresh on: OwnerId: U-h33tology, Path: G-HardLight.HLSP.Ctrl.StreamSelection
7:15:27 PM.559  Running refresh on: OwnerId: U-h33tology, Path: G-HardLight.HLSP.URL.Stream07
7:15:27 PM.559  Running refresh on: OwnerId: U-h33tology, Path: G-HardLight.HLSP.URL.Stream01
7:15:27 PM.559  Running refresh on: OwnerId: U-h33tology, Path: G-HardLight.HLSP.URL.Stream02
7:15:27 PM.570  Running refresh on: OwnerId: U-h33tology, Path: G-HardLight.HLSP.Label.Stream05
7:15:27 PM.585  Running refresh on: OwnerId: U-h33tology, Path: G-HardLight.HLSP.VolumeLocal
7:15:27 PM.601  Running refresh on: OwnerId: U-h33tology, Path: G-HardLight.HLSP.Label.Stream02
7:15:27 PM.617  Running refresh on: OwnerId: U-h33tology, Path: G-HardLight.HLSP.Label.Stream06
7:15:27 PM.634  Running refresh on: OwnerId: U-h33tology, Path: G-HardLight.HLSP.URL.Stream06
7:15:27 PM.650  Running refresh on: OwnerId: U-h33tology, Path: G-HardLight.HLSP.URL.Stream08
7:15:34 PM.409  Running refresh on: OwnerId: U-h33tology, Path: U-Nordwick.StreamPlayer.VolumeLocal

Additional Context

We use a script to trigger a SIGINT, but a manual Ctrl+ C has the same outcome. Sending another Ctrl+ C does help it to end the process, but this is definitely not an expected behavior. Because of the occasional logs, I let it try to shut down for ~15 minutes over the time then it would usually take with the shutdown command: Problem persists.

Reporters

Discord: the.phil.

shiftyscales commented 1 month ago

Assigning @Frooxius.