Currently callbacks from jack can reach functions which can block and are thus not realtime safe.
This can cause disruptions to the audio output of any program using the jack server.
Error #1:
gController::updatePlay(int) _ZN11gController10updatePlayEi
##The Deduction Chain:
- glue_stopSeq(bool) _Z12glue_stopSeqb : Deduced Realtime
- kernelAudio::jackSyncCb(jack_transport_state_t, jack_position_t*, void*) _ZN11kernelAudio10jackSyncCbE22jack_transport_state_tP15jack_position_tPv : Realtime (Annotation)
##The Contradiction Reasons:
- Fl_Button::value(int) _ZN9Fl_Button5valueEi : Assumed Unsafe
- Fl_Widget::redraw() _ZN9Fl_Widget6redrawEv : Assumed Unsafe
Error #2:
gController::updateRecInput(int) _ZN11gController14updateRecInputEi
##The Deduction Chain:
- glue_stopSeq(bool) _Z12glue_stopSeqb : Deduced Realtime
- kernelAudio::jackSyncCb(jack_transport_state_t, jack_position_t*, void*) _ZN11kernelAudio10jackSyncCbE22jack_transport_state_tP15jack_position_tPv : Realtime (Annotation)
##The Contradiction Reasons:
- Fl_Button::value(int) _ZN9Fl_Button5valueEi : Assumed Unsafe
- Fl_Widget::redraw() _ZN9Fl_Widget6redrawEv : Assumed Unsafe
Error #3:
gController::updateRecAction(int) _ZN11gController15updateRecActionEi
##The Deduction Chain:
- glue_stopSeq(bool) _Z12glue_stopSeqb : Deduced Realtime
- kernelAudio::jackSyncCb(jack_transport_state_t, jack_position_t*, void*) _ZN11kernelAudio10jackSyncCbE22jack_transport_state_tP15jack_position_tPv : Realtime (Annotation)
##The Contradiction Reasons:
- Fl_Button::value(int) _ZN9Fl_Button5valueEi : Assumed Unsafe
- Fl_Widget::redraw() _ZN9Fl_Widget6redrawEv : Assumed Unsafe
Error #4:
recorder::rec(int, int, int, unsigned int, float) _ZN8recorder3recEiiijf
##The Deduction Chain:
- SampleChannel::quantize(int, int, int) _ZN13SampleChannel8quantizeEiii : Deduced Realtime
- SampleChannel$vtable12 : Deduced Realtime
- Channel$vtable12 : Deduced Realtime
- Mixer::__masterPlay(void*, void*, unsigned int) _ZN5Mixer12__masterPlayEPvS0_j : Deduced Realtime
- Mixer::masterPlay(void*, void*, unsigned int, double, unsigned int, void*) _ZN5Mixer10masterPlayEPvS0_jdjS0_ : Realtime (Whitelist)
##The Contradiction Reasons:
- malloc : NonRealtime (Blacklist)
Error #5:
gVector<int>::add(int const&) _ZN7gVectorIiE3addERKi
##The Deduction Chain:
- recorder::rec(int, int, int, unsigned int, float) _ZN8recorder3recEiiijf : Deduced Realtime
- SampleChannel::quantize(int, int, int) _ZN13SampleChannel8quantizeEiii : Deduced Realtime
- SampleChannel$vtable12 : Deduced Realtime
- Channel$vtable12 : Deduced Realtime
- Mixer::__masterPlay(void*, void*, unsigned int) _ZN5Mixer12__masterPlayEPvS0_j : Deduced Realtime
- Mixer::masterPlay(void*, void*, unsigned int, double, unsigned int, void*) _ZN5Mixer10masterPlayEPvS0_jdjS0_ : Realtime (Whitelist)
##The Contradiction Reasons:
- operator new[](unsigned int) _Znaj : NonRealtime (Blacklist)
- operator delete[](void*) _ZdaPv : NonRealtime (Blacklist)
Error #6:
glue_stopSeq(bool) _Z12glue_stopSeqb
##The Deduction Chain:
- kernelAudio::jackSyncCb(jack_transport_state_t, jack_position_t*, void*) _ZN11kernelAudio10jackSyncCbE22jack_transport_state_tP15jack_position_tPv : Realtime (Annotation)
##The Contradiction Reasons:
- Fl::lock() _ZN2Fl4lockEv : Assumed Unsafe
- Fl::unlock() _ZN2Fl6unlockEv : Assumed Unsafe
Error #7:
glue_startSeq(bool) _Z13glue_startSeqb
##The Deduction Chain:
- kernelAudio::jackSyncCb(jack_transport_state_t, jack_position_t*, void*) _ZN11kernelAudio10jackSyncCbE22jack_transport_state_tP15jack_position_tPv : Realtime (Annotation)
##The Contradiction Reasons:
- Fl::lock() _ZN2Fl4lockEv : Assumed Unsafe
- Fl::unlock() _ZN2Fl6unlockEv : Assumed Unsafe
Error #8:
Mixer::__masterPlay(void*, void*, unsigned int) _ZN5Mixer12__masterPlayEPvS0_j
##The Deduction Chain:
- Mixer::masterPlay(void*, void*, unsigned int, double, unsigned int, void*) _ZN5Mixer10masterPlayEPvS0_jdjS0_ : Realtime (Whitelist)
##The Contradiction Reasons:
- pthread_mutex_lock : NonRealtime (Blacklist)
Error #9:
__gnu_cxx::new_allocator<unsigned char>::allocate(unsigned int, void const*) _ZN9__gnu_cxx13new_allocatorIhE8allocateEjPKv
##The Deduction Chain:
- std::_Vector_base<unsigned char, std::allocator<unsigned char> >::_M_allocate(unsigned int) _ZNSt12_Vector_baseIhSaIhEE11_M_allocateEj : Deduced Realtime
- void std::vector<unsigned char, std::allocator<unsigned char> >::_M_initialize_dispatch<int>(int, int, std::__true_type) _ZNSt6vectorIhSaIhEE22_M_initialize_dispatchIiEEvT_S3_St11__true_type : Deduced Realtime
- std::vector<unsigned char, std::allocator<unsigned char> >::vector<int>(int, int, std::allocator<unsigned char> const&) _ZNSt6vectorIhSaIhEEC2IiEET_S3_RKS0_ : Deduced Realtime
- kernelMidi::send(int, int, int) _ZN10kernelMidi4sendEiii : Deduced Realtime
- Mixer::sendMIDIsync() _ZN5Mixer12sendMIDIsyncEv : Deduced Realtime
- Mixer::__masterPlay(void*, void*, unsigned int) _ZN5Mixer12__masterPlayEPvS0_j : Deduced Realtime
- Mixer::masterPlay(void*, void*, unsigned int, double, unsigned int, void*) _ZN5Mixer10masterPlayEPvS0_jdjS0_ : Realtime (Whitelist)
##The Contradiction Reasons:
- operator new(unsigned int) _Znwj : Assumed Unsafe
Error #10:
__gnu_cxx::new_allocator<unsigned char>::deallocate(unsigned char*, unsigned int) _ZN9__gnu_cxx13new_allocatorIhE10deallocateEPhj
##The Deduction Chain:
- std::_Vector_base<unsigned char, std::allocator<unsigned char> >::_M_deallocate(unsigned char*, unsigned int) _ZNSt12_Vector_baseIhSaIhEE13_M_deallocateEPhj : Deduced Realtime
- std::_Vector_base<unsigned char, std::allocator<unsigned char> >::~_Vector_base() _ZNSt12_Vector_baseIhSaIhEED2Ev : Deduced Realtime
- std::vector<unsigned char, std::allocator<unsigned char> >::vector<int>(int, int, std::allocator<unsigned char> const&) _ZNSt6vectorIhSaIhEEC2IiEET_S3_RKS0_ : Deduced Realtime
- kernelMidi::send(int, int, int) _ZN10kernelMidi4sendEiii : Deduced Realtime
- Mixer::sendMIDIsync() _ZN5Mixer12sendMIDIsyncEv : Deduced Realtime
- Mixer::__masterPlay(void*, void*, unsigned int) _ZN5Mixer12__masterPlayEPvS0_j : Deduced Realtime
- Mixer::masterPlay(void*, void*, unsigned int, double, unsigned int, void*) _ZN5Mixer10masterPlayEPvS0_jdjS0_ : Realtime (Whitelist)
##The Contradiction Reasons:
- operator delete(void*) _ZdlPv : NonRealtime (Blacklist)
Error #11:
gVector<gVector<recorder::action*> >::add(gVector<recorder::action*> const&) _ZN7gVectorIS_IPN8recorder6actionEEE3addERKS3_
##The Deduction Chain:
- recorder::rec(int, int, int, unsigned int, float) _ZN8recorder3recEiiijf : Deduced Realtime
- SampleChannel::quantize(int, int, int) _ZN13SampleChannel8quantizeEiii : Deduced Realtime
- SampleChannel$vtable12 : Deduced Realtime
- Channel$vtable12 : Deduced Realtime
- Mixer::__masterPlay(void*, void*, unsigned int) _ZN5Mixer12__masterPlayEPvS0_j : Deduced Realtime
- Mixer::masterPlay(void*, void*, unsigned int, double, unsigned int, void*) _ZN5Mixer10masterPlayEPvS0_jdjS0_ : Realtime (Whitelist)
##The Contradiction Reasons:
- operator new[](unsigned int) _Znaj : NonRealtime (Blacklist)
- operator delete[](void*) _ZdaPv : NonRealtime (Blacklist)
Error #12:
gVector<recorder::action*>::add(recorder::action* const&) _ZN7gVectorIPN8recorder6actionEE3addERKS2_
##The Deduction Chain:
- recorder::rec(int, int, int, unsigned int, float) _ZN8recorder3recEiiijf : Deduced Realtime
- SampleChannel::quantize(int, int, int) _ZN13SampleChannel8quantizeEiii : Deduced Realtime
- SampleChannel$vtable12 : Deduced Realtime
- Channel$vtable12 : Deduced Realtime
- Mixer::__masterPlay(void*, void*, unsigned int) _ZN5Mixer12__masterPlayEPvS0_j : Deduced Realtime
- Mixer::masterPlay(void*, void*, unsigned int, double, unsigned int, void*) _ZN5Mixer10masterPlayEPvS0_jdjS0_ : Realtime (Whitelist)
##The Contradiction Reasons:
- operator new[](unsigned int) _Znaj : NonRealtime (Blacklist)
- operator delete[](void*) _ZdaPv : NonRealtime (Blacklist)
Error #13:
gVector<recorder::action*>::gVector(gVector<recorder::action*> const&) _ZN7gVectorIPN8recorder6actionEEC2ERKS3_
##The Deduction Chain:
- gVector<gVector<recorder::action*> >::swap(unsigned int, unsigned int) _ZN7gVectorIS_IPN8recorder6actionEEE4swapEjj : Deduced Realtime
- recorder::sortActions() _ZN8recorder11sortActionsEv : Deduced Realtime
- recorder::getNextAction(int, char, int, recorder::action**, unsigned int) _ZN8recorder13getNextActionEiciPPNS_6actionEj : Deduced Realtime
- recorder::startOverdub(int, char, int) _ZN8recorder12startOverdubEici : Deduced Realtime
- SampleChannel::quantize(int, int, int) _ZN13SampleChannel8quantizeEiii : Deduced Realtime
- SampleChannel$vtable12 : Deduced Realtime
- Channel$vtable12 : Deduced Realtime
- Mixer::__masterPlay(void*, void*, unsigned int) _ZN5Mixer12__masterPlayEPvS0_j : Deduced Realtime
- Mixer::masterPlay(void*, void*, unsigned int, double, unsigned int, void*) _ZN5Mixer10masterPlayEPvS0_jdjS0_ : Realtime (Whitelist)
##The Contradiction Reasons:
- operator new[](unsigned int) _Znaj : NonRealtime (Blacklist)
kernelAudio::jackSyncCb
Mixer::masterPlay
src_process
jack_transport_start
jack_transport_stop
MidiOutApi$vtable9
gLog ==> vfprintf
gLog ==> vprintf