multi-threaded end to end test make gcov report negative line numbers
When running the multi-threaded tests with coverage (requires deactivating [this if](https://gitlab.in2p3.fr/CTA-LAPP/rta/HiPeRTA/-/blob/master/program/TEST_STREAM_R0_DL1/CMakeLists.txt?ref_type=heads#L28)) gcov reports negative line numbers and asks to write a bug report. We should craft a simple reproducible example and file the bug report. `gcov` output: ```bash Total Test time (real) = 17.34 sec (WARNING) Unrecognized GCOV output for /src/src/full_analysis/nan_inf_check.cpp branch 2 taken -1254 This is indicative of a gcov output parse error. Please report this to the gcovr developers at <https://github.com/gcovr/gcovr/issues>. (WARNING) Exception during parsing: UnknownLineType: branch 2 taken -1254 (ERROR) Exiting because of parse errors. You can run gcovr with --gcov-ignore-parse-errors to continue anyway. (ERROR) Trouble processing '/src/build/src/CMakeFiles/hiperta.dir/full_analysis/nan_inf_check.cpp.gcda' with workin g directory '/src'. Stdout of gcov was >>File '/src/src/full_analysis/nan_inf_check.cpp' Lines executed:100.00% of 30 Branches executed:100.00% of 8 Taken at least once:100.00% of 8 Calls executed:100.00% of 20 Creating 'nan_inf_check.cpp##02e9c11d91ede598520609764e2afe76.gcov' File '/usr/include/c++/12/iostream' No executable lines No branches No calls Removing 'iostream##277ec57679c3d5412e477fec99216d06.gcov' File '/usr/include/c++/12/cmath' Lines executed:100.00% of 4 No branches No calls Creating 'cmath##7fea12d95a8f7360d07e4b3317b9489c.gcov' Lines executed:100.00% of 34 << End of stdout Stderr of gcov was >><< End of stderr Current processed gcov file was '/src/nan_inf_check.cpp##02e9c11d91ede598520609764e2afe76.gcov'. Use option --verbose to get extended informations. Traceback (most recent call last): File "/usr/lib/python3/dist-packages/gcovr/workers.py", line 78, in worker work(*args, **kwargs) File "/usr/lib/python3/dist-packages/gcovr/gcov.py", line 337, in process_datafile done = run_gcov_and_process_files( ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3/dist-packages/gcovr/gcov.py", line 514, in run_gcov_and_process_files process_gcov_data(fname, covdata, abs_filename, options) File "/usr/lib/python3/dist-packages/gcovr/gcov.py", line 157, in process_gcov_data coverage = parse_coverage( ^^^^^^^^^^^^^^^ File "/usr/lib/python3/dist-packages/gcovr/gcov_parser.py", line 404, in parse_coverage _report_lines_with_errors(lines_with_errors, context) File "/usr/lib/python3/dist-packages/gcovr/gcov_parser.py", line 552, in _report_lines_with_errors raise errors[0] # guaranteed to have at least one exception ^^^^^^^^^^^^^^^ File "/usr/lib/python3/dist-packages/gcovr/gcov_parser.py", line 353, in parse_coverage tokenized_lines.append((_parse_line(raw_line), raw_line)) ^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3/dist-packages/gcovr/gcov_parser.py", line 836, in _parse_line raise UnknownLineType(line) gcovr.gcov_parser.UnknownLineType: branch 2 taken -1254 Traceback (most recent call last): File "/usr/lib/python3/dist-packages/gcovr/workers.py", line 78, in worker work(*args, **kwargs) File "/usr/lib/python3/dist-packages/gcovr/gcov.py", line 337, in process_datafile done = run_gcov_and_process_files( ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3/dist-packages/gcovr/gcov.py", line 514, in run_gcov_and_process_files process_gcov_data(fname, covdata, abs_filename, options) File "/usr/lib/python3/dist-packages/gcovr/gcov.py", line 157, in process_gcov_data coverage = parse_coverage( ^^^^^^^^^^^^^^^ File "/usr/lib/python3/dist-packages/gcovr/gcov_parser.py", line 404, in parse_coverage _report_lines_with_errors(lines_with_errors, context) File "/usr/lib/python3/dist-packages/gcovr/gcov_parser.py", line 552, in _report_lines_with_errors raise errors[0] # guaranteed to have at least one exception ^^^^^^^^^^^^^^^ File "/usr/lib/python3/dist-packages/gcovr/gcov_parser.py", line 353, in parse_coverage tokenized_lines.append((_parse_line(raw_line), raw_line)) ^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3/dist-packages/gcovr/gcov_parser.py", line 836, in _parse_line raise UnknownLineType(line) gcovr.gcov_parser.UnknownLineType: branch 2 taken -1254 (ERROR) Uncaught EXCEPTION Traceback (most recent call last): File "/usr/bin/gcovr", line 33, in <module> sys.exit(load_entry_point('gcovr==5.2', 'console_scripts', 'gcovr')()) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3/dist-packages/gcovr/__main__.py", line 317, in main covdata = collect_coverage_from_gcov(options) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3/dist-packages/gcovr/__main__.py", line 369, in collect_coverage_from_gcov with Workers( File "/usr/lib/python3/dist-packages/gcovr/workers.py", line 171, in __exit__ self.wait() File "/usr/lib/python3/dist-packages/gcovr/workers.py", line 162, in wait raise self.exceptions[0][1] File "/usr/lib/python3/dist-packages/gcovr/__main__.py", line 376, in collect_coverage_from_gcov contexts = pool.wait() ^^^^^^^^^^^ File "/usr/lib/python3/dist-packages/gcovr/workers.py", line 162, in wait raise self.exceptions[0][1] File "/usr/lib/python3/dist-packages/gcovr/workers.py", line 78, in worker work(*args, **kwargs) File "/usr/lib/python3/dist-packages/gcovr/gcov.py", line 337, in process_datafile done = run_gcov_and_process_files( ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3/dist-packages/gcovr/gcov.py", line 514, in run_gcov_and_process_files process_gcov_data(fname, covdata, abs_filename, options) File "/usr/lib/python3/dist-packages/gcovr/gcov.py", line 157, in process_gcov_data coverage = parse_coverage( ^^^^^^^^^^^^^^^ File "/usr/lib/python3/dist-packages/gcovr/gcov_parser.py", line 404, in parse_coverage _report_lines_with_errors(lines_with_errors, context) File "/usr/lib/python3/dist-packages/gcovr/gcov_parser.py", line 552, in _report_lines_with_errors raise errors[0] # guaranteed to have at least one exception ^^^^^^^^^^^^^^^ File "/usr/lib/python3/dist-packages/gcovr/gcov_parser.py", line 353, in parse_coverage tokenized_lines.append((_parse_line(raw_line), raw_line)) ^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3/dist-packages/gcovr/gcov_parser.py", line 836, in _parse_line raise UnknownLineType(line) gcovr.gcov_parser.UnknownLineType: branch 2 taken -1254 ```
issue