On Sat, Dec 09, 2023 at 03:45:44PM +0000, Klemens Nanni wrote: > > However, detach USB during explicit playback to it, e.g. > $ AUDIODEVICE=snd/1 ncspot > crashes sndiod(8) rather than playback just stopping instead of switching. > > Using USB alone ('sndiod -f snd/1') and device defaults ('ncspot') does not > crash when unplugging during playback.
[...] > #2 0x000005340e83dbce in panic () at /s/usr.bin/sndiod/utils.c:138 > #3 0x000005340e839308 in sock_close (f=0x5340e842720 <slot_array>) at > /s/usr.bin/sndiod/sock.c:183 sock_close() is called with the wrong argument. Thank you for the trace. ok? Index: dev.c =================================================================== RCS file: /cvs/src/usr.bin/sndiod/dev.c,v diff -u -p -r1.106 dev.c --- dev.c 26 Dec 2022 19:16:03 -0000 1.106 +++ dev.c 9 Dec 2023 21:12:21 -0000 @@ -1389,7 +1389,7 @@ dev_migrate(struct dev *odev) if (s->opt == NULL || s->opt->dev != odev) continue; if (s->ops != NULL) { - s->ops->exit(s); + s->ops->exit(s->arg); s->ops = NULL; } }