The srcipts in the subdirectory static-fct-min-verbose verify the error, which is documented in the sequence chart: call-sequence-with-error.txt The bugfix is as far as I can see simple, so I show a copy instead of including a patch. CAUSE-OF_ERROR: The error is caused by the suppression of empty entries in the function: 'array_rshift'. This leads to inconsistencies of the arrays BASH_SOURCE, BASH_LINENO, and FUNCNAME when the filename/'source_file' is not available. Thus a missing filename breaks the grouping of the 'simulated record' data. This is occurs in case of shell functions 'pinned' as static functions into the environment and called from scripts. When a bug in the handling of the file-entry(source_file) prohibits the filename storage, and also the later readout in general. This case is contained in the attached example scripts. I file a seperate error case for the latter. The fix is simple and seems not to critical to implement, in particular because 'array_rshift' is called from 'array_push'-macro only(for production code). The current code: 4.8.3/Fedora in file "array.c" function "array_rshift". if (s) { new = array_create_element(0, s); ADD_BEFORE(ae, new); a->num_elements++; if (array_num_elements(a) == 1) { /* array was empty */ a->max_index = 0; return 1; } } To be chagged as: //patch: delete this: if (s) { new = array_create_element(0, s); ADD_BEFORE(ae, new); a->num_elements++; if (array_num_elements(a) == 1) { /* array was empty */ a->max_index = 0; return 1; } //patch: delete this: }