Just compiled the latest jackd2, and when using Netjack both manager and
driver crash after sending parameters. I traced back to this change from
02f74a659, which modifies the network parameter struct:
--- a/common/JackNetTool.h
+++ b/common/JackNetTool.h
@@ -94,9 +94,9 @@ namespace Jack
- char fName[JACK_CLIENT_NAME_SIZE];
- char fMasterNetName[JACK_SERVER_NAME_SIZE];
- char fSlaveNetName[JACK_SERVER_NAME_SIZE];
+ char fName[JACK_CLIENT_NAME_SIZE+1];
+ char fMasterNetName[JACK_SERVER_NAME_SIZE+1];
+ char fSlaveNetName[JACK_SERVER_NAME_SIZE+1];
That extra byte for the NUL terminator breaks the alignment, and somehow
causes some ints to be sent as little-endian:
Sample rate : 12288000 frames per second
Period size : 131072 frames per period
Reverting the three lines seems to resolve the problem. I don't really
see the use for having the NUL terminator go through the network...
What do you think?
Xavi
There's a new release candidate of JACK1 now available. Because of the
magnitude of a couple of the changes, some wider testing would be
appreciated before 0.125.0 can be released.
http://jackaudio.org/downloads/jack-audio-connection-kit-0.125.0rc1.tar.gz
(tagged in git as 0.125.0.rc1)
Changes since 0.124.1, in rough order of significance:
* use topological sort when ordering clients. Previous sorting
implementation would
generate incorrect ordering of clients in some (unusual, but not
uncommon) conditions.
* in the alsa_midi slave driver, fix hotpug device enumeration. JACK1
will now respond
to MIDI devices being connected and disconnected while running.
* increase maximum size of a single JACK MIDI event to 64 bytes
* in the alsa_midi slave driver, fix thread start/stop handling when
freewheeling
* add support for jack_port_rename()
* drop support for CPU cycle counting clock, use kernel clocksource
instead
* fix a double-fork that left zombie processes around
* improve the validity and usability of the return value of
jack_frame_time()
* fix failing metadata look up by clearing UUID parsing buffer before use
* support unescaped double quotes in $HOME/.jackdrc
* fix memory leaks of metata key/value pairs
* fix crash caused by incorrect jack_error() format string
* remove option help from jackd and point user at documentation
* fix problems with garbage keys in metadata
* fix out-of-tree builds
* update configure.ac to work with current-ish autotools with less errors
* use gcc atomics and CLOCK_REALTIME for generic CPU builds
* a handful of other minor bug fixes
Contributors: Hans-Peter Portner, Fons Adriaensen, Erik de Castro Lopo,
Filipe Coehlo, David Robillard, Adrian Knoth, Dominic Sacré, Peter Nelson,
Rui Nuno Capela, Robin Gareus, Peter Nelson, Paul Davis