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