Reported by valgrind using the command below:
$ valgrind jackd -p128 -t2000 -dalsa -dhw:0 -r44100 -p2048 -n2 -S
==17496== Memcheck, a memory error detector
==17496== Copyright (C) 2002-2013, and GNU GPL'd, by Julian Seward et al.
==17496== Using Valgrind-3.10.1 and LibVEX; rerun with -h for copyright info
==17496== Command: jackd -p128 -t2000 -dalsa -dhw:0 -r44100 -p2048 -n2 -S
==17496==
jackdmp 1.9.11
Copyright 2001-2005 Paul Davis and others.
Copyright 2004-2016 Grame.
jackdmp comes with ABSOLUTELY NO WARRANTY
This is free software, and you are welcome to redistribute it
under certain conditions; see the file COPYING for details
JACK server starting in realtime mode with priority 10
self-connect-mode is "Don't restrict self connect requests"
creating alsa driver ... hw:0|hw:0|2048|2|44100|0|0|nomon|swmeter|-|16bit
configuring for 44100Hz, period = 2048 frames (46.4 ms), buffer = 2 periods
ALSA: final selected sample format for capture: 16bit little-endian
ALSA: use 2 periods for capture
ALSA: final selected sample format for playback: 16bit little-endian
ALSA: use 2 periods for playback
==17496== Thread 3:
==17496== Conditional jump or move depends on uninitialised value(s)
==17496== at 0x4E91CC9: Jack::JackEngineControl::CalcCPULoad(Jack::JackClientInterface**, Jack::JackGraphManager*, unsigned long, unsigned long) (JackEngineControl.cpp:58)
==17496== by 0x4EB3256: Jack::JackEngineControl::CycleBegin(Jack::JackClientInterface**, Jack::JackGraphManager*, unsigned long, unsigned long) (JackEngineControl.h:153)
==17496== by 0x4EAF54A: Jack::JackEngine::Process(unsigned long, unsigned long) (JackEngine.cpp:166)
==17496== by 0x4EA922E: Jack::JackLockedEngine::Process(unsigned long, unsigned long) (JackLockedEngine.h:261)
==17496== by 0x4EA8819: Jack::JackAudioDriver::ProcessGraphAsyncMaster() (JackAudioDriver.cpp:250)
==17496== by 0x4EA87D0: Jack::JackAudioDriver::ProcessGraphAsync() (JackAudioDriver.cpp:236)
==17496== by 0x4EA8795: Jack::JackAudioDriver::ProcessAsync() (JackAudioDriver.cpp:225)
==17496== by 0x4EA870E: Jack::JackAudioDriver::Process() (JackAudioDriver.cpp:202)
==17496== by 0x4EBA5DA: Jack::JackThreadedDriver::Process() (JackThreadedDriver.cpp:71)
==17496== by 0x4EBAC52: Jack::JackThreadedDriver::Execute() (JackThreadedDriver.cpp:244)
==17496== by 0x4EA4B63: Jack::JackPosixThread::ThreadHandler(void*) (JackPosixThread.cpp:61)
==17496== by 0x59F5181: start_thread (pthread_create.c:312)
==17496==
^CJack main caught signal 2
==17496==
==17496== HEAP SUMMARY:
==17496== in use at exit: 95,475 bytes in 1,441 blocks
==17496== total heap usage: 2,793 allocs, 1,352 frees, 7,217,645 bytes allocated
==17496==
==17496== LEAK SUMMARY:
==17496== definitely lost: 1,458 bytes in 10 blocks
==17496== indirectly lost: 7,680 bytes in 4 blocks
==17496== possibly lost: 42,998 bytes in 1,314 blocks
==17496== still reachable: 43,339 bytes in 113 blocks
==17496== suppressed: 0 bytes in 0 blocks
==17496== Rerun with --leak-check=full to see details of leaked memory
==17496==
==17496== For counts of detected and suppressed errors, rerun with: -v
==17496== Use --track-origins=yes to see where uninitialised values come from
==17496== ERROR SUMMARY: 1 errors from 1 contexts (suppressed: 0 from 0)
When compiling jack on nios2, compilation fails because NGREGS is not
defined. Since this is only for debug output on segmentation faults, stub
the debug print out like it's been done for other platforms before.
Inspired by
d11bb09529
Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de>