-
Notifications
You must be signed in to change notification settings - Fork 388
Open
Labels
Description
Describe the bug
If a client closes during freewheel mode, upon deactivation of the freewheel mode, the Graph is being restored with non-existing client from JackServer::SetFreewheel, which calls fGraphManager->Restore(&fConnectionState).
Since the old client is non-existing, JackGraphManager now contains an invalid refnum, as far as I understand.
Environment
- JACK Version: Which version of jack2 are you using? (e.g. the output of
jackd --versionor a git commit checksum)
Latest develop branch (1.9.22)
- Operating System: What operating system or distribution in which version are you using? (e.g. Linux, macOS, Windows)
Linux (Fedora 41)
- Installation: How did you install jack2? (e.g. package manager, from source)
Both from source and from the OS package manager
Steps To Reproduce
# 1. Start jack server
jackd -P 70 -dalsa -dhw:USB -r48000 -p256 -n3
# 2. Start another jack client (can be anything)
jack_iodelay
# 3. Enable freewheel mode (jack_set_freewheel)
# 4. Kill the client started at step 2
# 5. Disable freewheel modeExpected vs. actual behavior
Actual behavior upon freewheel deactivation: these logs are getting spammed all the time from jackd server:
JackFreewheelDriver::ProcessReadAsync: ResumeRefNum error
JackAudioDriver::ProcessGraphAsyncMaster: ProcessReadSlaves error
JackAudioDriver::ProcessGraphAsyncMaster: Process error
JackLinuxFutex::Signal name = jack_sem.1000_default_jack_delay already deallocated!!
Expected behavior: No errors upon deactivation of freewheel mode.