Bug 2166960 - gcovr 5.2 crashes with UnknownLineType
Summary: gcovr 5.2 crashes with UnknownLineType
Keywords:
Status: NEW
Alias: None
Product: Fedora
Classification: Fedora
Component: gcovr
Version: 39
Hardware: Unspecified
OS: Unspecified
unspecified
high
Target Milestone: ---
Assignee: Neal Gompa
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2023-02-03 17:04 UTC by Martin Pitt
Modified: 2023-11-23 06:17 UTC (History)
2 users (show)

Fixed In Version:
Doc Type: If docs needed, set a value
Doc Text:
Clone Of:
Environment:
Last Closed:
Type: Bug
Embargoed:


Attachments (Terms of Use)


Links
System ID Private Priority Status Summary Last Updated
Github gcovr gcovr issues 736 0 None open gcovr 5.2 crashes with UnknownLineType and "Cannot open source file" 2023-02-27 09:47:22 UTC

Description Martin Pitt 2023-02-03 17:04:03 UTC
Description of problem: The recent gcovr 5.2 update [1] breaks with current meson. I noticed that in my umockdev project, which started to fail its tests [2]. E.g. in this run [3] there are now hundreds of errors.

Version-Release number of selected component (if applicable):

gcovr-5.2-1.fc37.noarch
meson-0.63.3-1.fc37.noarch

How reproducible: Always


Steps to Reproduce:
sudo dnf builddep umockdev
sudo dnf install gcovr
git clone https://github.com/martinpitt/umockdev
cd umockdev
meson setup b --buildtype debug -Db_coverage=true
cd b
meson test
ninja coverage-text

Actual results: Crashes with a long list of errors, lots of "Cannot open source file" and lots of "UnknownLineType" exceptions. Full output in [4]

Running the "gcovr -r /tmp/umockdev /tmp/umockdev/b -e /tmp/s/subprojects" command directly does the same.

Expected results: Please keep stable releases working :-)


Additional info:
[1] https://bodhi.fedoraproject.org/updates/FEDORA-2023-61ede93863
[2] https://github.com/martinpitt/umockdev/actions
[3] https://github.com/martinpitt/umockdev/actions/runs/4081008982/jobs/7037937910

[4] 
(WARNING) GCOV produced the following errors processing /tmp/s/b/libumockdev.so.0.3.0.p/meson-generated_src_umockdev.c.gcda:
	Cannot open source file umockdev.c
Cannot open source file ../src/umockdev.vala
Cannot open source file glib-2.0.vapi
Cannot open source file libumockdev.so.0.3.0.p/src/umockdev.c

	Cannot open source file umockdev.c
Cannot open source file ../src/umockdev.vala
Cannot open source file glib-2.0.vapi
Cannot open source file libumockdev.so.0.3.0.p/src/umockdev.c

	Cannot open source file umockdev.c
Cannot open source file glib-2.0.vapi

	Cannot open source file umockdev.c
Cannot open source file ../src/umockdev.vala
Cannot open source file glib-2.0.vapi
Cannot open source file libumockdev.so.0.3.0.p/src/umockdev.c

	Could not open output file 'umockdev.c##9de5c7a3593032918afa97d89c6f809e.gcov'
Cannot open source file ../src/umockdev.vala
Could not open output file 'glib-2.0.vapi##139653c6d5d4f7de033b4a275865bfc3.gcov'
Could not open output file 'umockdev.c##42819db2a9351b53dfb0707453b10dd4.gcov'
Could not open output file 'gstring.h##f3437d20cb2d0538db37fefacb0161f4.gcov'

	Cannot open source file umockdev.c
Cannot open source file ../src/umockdev.vala
Cannot open source file glib-2.0.vapi
Cannot open source file libumockdev.so.0.3.0.p/src/umockdev.c

	(gcovr could not infer a working directory that resolved it.)
(WARNING) GCOV produced the following errors processing /tmp/s/b/umockdev-run.p/meson-generated_src_umockdev-run.c.gcda:
	Cannot open source file umockdev-run.c
Cannot open source file ../src/umockdev-run.vala
Cannot open source file umockdev-run.p/src/umockdev-run.c

	Cannot open source file umockdev-run.c
Cannot open source file ../src/umockdev-run.vala
Cannot open source file umockdev-run.p/src/umockdev-run.c

	Cannot open source file umockdev-run.c

	Cannot open source file umockdev-run.c
Cannot open source file ../src/umockdev-run.vala
Cannot open source file umockdev-run.p/src/umockdev-run.c

	Could not open output file 'umockdev-run.c##3fa2181c4ff1ac3bda12de566e90ecb6.gcov'
Cannot open source file ../src/umockdev-run.vala
Could not open output file 'umockdev-run.c##41d42cca07040dbeca7981df944868ae.gcov'

	Cannot open source file umockdev-run.c
Cannot open source file ../src/umockdev-run.vala
Cannot open source file umockdev-run.p/src/umockdev-run.c

	(gcovr could not infer a working directory that resolved it.)
(WARNING) GCOV produced the following errors processing /tmp/s/b/test-umockdev-run.p/meson-generated_tests_test-umockdev-run.c.gcda:
	Cannot open source file test-umockdev-run.c
Cannot open source file ../tests/test-umockdev-run.vala
Cannot open source file glib-2.0.vapi
Cannot open source file test-umockdev-run.p/tests/test-umockdev-run.c

	Cannot open source file test-umockdev-run.c
Cannot open source file ../tests/test-umockdev-run.vala
Cannot open source file glib-2.0.vapi
Cannot open source file test-umockdev-run.p/tests/test-umockdev-run.c

	Cannot open source file test-umockdev-run.c
Cannot open source file glib-2.0.vapi

	Cannot open source file test-umockdev-run.c
Cannot open source file ../tests/test-umockdev-run.vala
Cannot open source file glib-2.0.vapi
Cannot open source file test-umockdev-run.p/tests/test-umockdev-run.c

	Could not open output file 'test-umockdev-run.c##5d4035745f539e3083440a2c0cbce8ef.gcov'
Cannot open source file ../tests/test-umockdev-run.vala
Could not open output file 'glib-2.0.vapi##139653c6d5d4f7de033b4a275865bfc3.gcov'
Could not open output file 'test-umockdev-run.c##1070bf89d988d7efc3a65c911e524345.gcov'

	Cannot open source file test-umockdev-run.c
Cannot open source file ../tests/test-umockdev-run.vala
Cannot open source file glib-2.0.vapi
Cannot open source file test-umockdev-run.p/tests/test-umockdev-run.c

	(gcovr could not infer a working directory that resolved it.)
(WARNING) GCOV produced the following errors processing /tmp/s/b/test-umockdev-vala.p/meson-generated_tests_test-umockdev-vala.c.gcda:
	Cannot open source file test-umockdev-vala.c
Cannot open source file ../tests/test-umockdev-vala.vala
Cannot open source file glib-2.0.vapi
Cannot open source file test-umockdev-vala.p/tests/test-umockdev-vala.c

	Cannot open source file test-umockdev-vala.c
Cannot open source file ../tests/test-umockdev-vala.vala
Cannot open source file glib-2.0.vapi
Cannot open source file test-umockdev-vala.p/tests/test-umockdev-vala.c

	Cannot open source file test-umockdev-vala.c
Cannot open source file glib-2.0.vapi

	Cannot open source file test-umockdev-vala.c
Cannot open source file ../tests/test-umockdev-vala.vala
Cannot open source file glib-2.0.vapi
Cannot open source file test-umockdev-vala.p/tests/test-umockdev-vala.c

	Cannot open source file test-umockdev-vala.c
Cannot open source file ../tests/test-umockdev-vala.vala
Could not open output file 'glib-2.0.vapi##139653c6d5d4f7de033b4a275865bfc3.gcov'
Cannot open source file test-umockdev-vala.p/tests/test-umockdev-vala.c

	Cannot open source file test-umockdev-vala.c
Cannot open source file ../tests/test-umockdev-vala.vala
Cannot open source file glib-2.0.vapi
Cannot open source file test-umockdev-vala.p/tests/test-umockdev-vala.c

	(gcovr could not infer a working directory that resolved it.)
(WARNING) GCOV produced the following errors processing /tmp/s/b/umockdev-record.p/meson-generated_src_umockdev-pcap.c.gcda:
	Cannot open source file umockdev-pcap.c
Cannot open source file ../src/umockdev-pcap.vala
Cannot open source file glib-2.0.vapi
Cannot open source file umockdev-record.p/src/umockdev-pcap.c

	Cannot open source file umockdev-pcap.c
Cannot open source file ../src/umockdev-pcap.vala
Cannot open source file glib-2.0.vapi
Cannot open source file umockdev-record.p/src/umockdev-pcap.c

	Cannot open source file umockdev-pcap.c
Cannot open source file glib-2.0.vapi

	Cannot open source file umockdev-pcap.c
Cannot open source file ../src/umockdev-pcap.vala
Cannot open source file glib-2.0.vapi
Cannot open source file umockdev-record.p/src/umockdev-pcap.c

	Could not open output file 'umockdev-pcap.c##900e0aca3078010ad6c662973e28fc20.gcov'
Cannot open source file ../src/umockdev-pcap.vala
Could not open output file 'glib-2.0.vapi##139653c6d5d4f7de033b4a275865bfc3.gcov'
Could not open output file 'umockdev-pcap.c##d3cd7e7641656de0a8e68d7e8f5f42e6.gcov'

	Cannot open source file umockdev-pcap.c
Cannot open source file ../src/umockdev-pcap.vala
Cannot open source file glib-2.0.vapi
Cannot open source file umockdev-record.p/src/umockdev-pcap.c

	(gcovr could not infer a working directory that resolved it.)
(WARNING) GCOV produced the following errors processing /tmp/s/b/umockdev-record.p/meson-generated_src_umockdev-spi.c.gcda:
	Cannot open source file umockdev-spi.c
Cannot open source file ../src/umockdev-spi.vala
Cannot open source file glib-2.0.vapi
Cannot open source file umockdev-record.p/src/umockdev-spi.c

	Cannot open source file umockdev-spi.c
Cannot open source file ../src/umockdev-spi.vala
Cannot open source file glib-2.0.vapi
Cannot open source file umockdev-record.p/src/umockdev-spi.c

	Cannot open source file umockdev-spi.c
Cannot open source file glib-2.0.vapi

	Cannot open source file umockdev-spi.c
Cannot open source file ../src/umockdev-spi.vala
Cannot open source file glib-2.0.vapi
Cannot open source file umockdev-record.p/src/umockdev-spi.c

	Could not open output file 'umockdev-spi.c##b4c91f8c3c90018cfb2bde179292deb8.gcov'
Cannot open source file ../src/umockdev-spi.vala
Could not open output file 'glib-2.0.vapi##139653c6d5d4f7de033b4a275865bfc3.gcov'
Could not open output file 'umockdev-spi.c##e83fa44e22a02852a1923b8fc6cc9546.gcov'

	Cannot open source file umockdev-spi.c
Cannot open source file ../src/umockdev-spi.vala
Cannot open source file glib-2.0.vapi
Cannot open source file umockdev-record.p/src/umockdev-spi.c

	(gcovr could not infer a working directory that resolved it.)
(WARNING) GCOV produced the following errors processing /tmp/s/b/umockdev-record.p/meson-generated_src_umockdev-record.c.gcda:
	Cannot open source file umockdev-record.c
Cannot open source file ../src/umockdev-record.vala
Cannot open source file glib-2.0.vapi
Cannot open source file umockdev-record.p/src/umockdev-record.c

	Cannot open source file umockdev-record.c
Cannot open source file ../src/umockdev-record.vala
Cannot open source file glib-2.0.vapi
Cannot open source file umockdev-record.p/src/umockdev-record.c

	Cannot open source file umockdev-record.c
Cannot open source file glib-2.0.vapi

	Cannot open source file umockdev-record.c
Cannot open source file ../src/umockdev-record.vala
Cannot open source file glib-2.0.vapi
Cannot open source file umockdev-record.p/src/umockdev-record.c

	Could not open output file 'umockdev-record.c##57b2c1ad21e952079304355bb4db2813.gcov'
Cannot open source file ../src/umockdev-record.vala
Could not open output file 'glib-2.0.vapi##139653c6d5d4f7de033b4a275865bfc3.gcov'
Could not open output file 'umockdev-record.c##0cd9558c9d9705614ff6340536f34623.gcov'

	Cannot open source file umockdev-record.c
Cannot open source file ../src/umockdev-record.vala
Cannot open source file glib-2.0.vapi
Cannot open source file umockdev-record.p/src/umockdev-record.c

	(gcovr could not infer a working directory that resolved it.)
(WARNING) GCOV produced the following errors processing /tmp/s/b/libumockdev.so.0.3.0.p/meson-generated_src_umockdev-ioctl.c.gcda:
	Cannot open source file umockdev-ioctl.c
Cannot open source file ../src/umockdev-ioctl.vala
Cannot open source file libumockdev.so.0.3.0.p/src/umockdev-ioctl.c

	Cannot open source file umockdev-ioctl.c
Cannot open source file ../src/umockdev-ioctl.vala
Cannot open source file libumockdev.so.0.3.0.p/src/umockdev-ioctl.c

	Cannot open source file umockdev-ioctl.c

	Cannot open source file umockdev-ioctl.c
Cannot open source file ../src/umockdev-ioctl.vala
Cannot open source file libumockdev.so.0.3.0.p/src/umockdev-ioctl.c

	Could not open output file 'umockdev-ioctl.c##53be61d62e174689df00c164ce221cbf.gcov'
Cannot open source file ../src/umockdev-ioctl.vala
Could not open output file 'umockdev-ioctl.c##7be895c2222614b0dc9a8e4bbccc5c8c.gcov'

	Cannot open source file umockdev-ioctl.c
Cannot open source file ../src/umockdev-ioctl.vala
Cannot open source file libumockdev.so.0.3.0.p/src/umockdev-ioctl.c

	(gcovr could not infer a working directory that resolved it.)
(WARNING) GCOV produced the following errors processing /tmp/s/b/test-umockdev-record.p/meson-generated_tests_test-umockdev-record.c.gcda:
	Cannot open source file test-umockdev-record.c
Cannot open source file ../tests/test-umockdev-record.vala
Cannot open source file glib-2.0.vapi
Cannot open source file test-umockdev-record.p/tests/test-umockdev-record.c

	Cannot open source file test-umockdev-record.c
Cannot open source file ../tests/test-umockdev-record.vala
Cannot open source file glib-2.0.vapi
Cannot open source file test-umockdev-record.p/tests/test-umockdev-record.c

	Cannot open source file test-umockdev-record.c
Cannot open source file glib-2.0.vapi

	Cannot open source file test-umockdev-record.c
Cannot open source file ../tests/test-umockdev-record.vala
Cannot open source file glib-2.0.vapi
Cannot open source file test-umockdev-record.p/tests/test-umockdev-record.c

	Could not open output file 'test-umockdev-record.c##581b61c47ad506f5220a28c634254e64.gcov'
Cannot open source file ../tests/test-umockdev-record.vala
Could not open output file 'glib-2.0.vapi##139653c6d5d4f7de033b4a275865bfc3.gcov'
Could not open output file 'test-umockdev-record.c##d3fe61bfd3e1567abdc12dddd48376dc.gcov'

	Cannot open source file test-umockdev-record.c
Cannot open source file ../tests/test-umockdev-record.vala
Cannot open source file glib-2.0.vapi
Cannot open source file test-umockdev-record.p/tests/test-umockdev-record.c

	(gcovr could not infer a working directory that resolved it.)
(WARNING) GCOV produced the following errors processing /tmp/s/b/libumockdev-utils.a.p/meson-generated_src_umockdev-utils.c.gcda:
	Cannot open source file umockdev-utils.c
Cannot open source file ../src/umockdev-utils.vala
Cannot open source file libumockdev-utils.a.p/src/umockdev-utils.c

	Cannot open source file umockdev-utils.c
Cannot open source file ../src/umockdev-utils.vala
Cannot open source file libumockdev-utils.a.p/src/umockdev-utils.c

	Cannot open source file umockdev-utils.c

	Cannot open source file umockdev-utils.c
Cannot open source file ../src/umockdev-utils.vala
Cannot open source file libumockdev-utils.a.p/src/umockdev-utils.c

	Could not open output file 'umockdev-utils.c##5ae9995d47b7eb3b587736e67896f2b7.gcov'
Cannot open source file ../src/umockdev-utils.vala
Could not open output file 'umockdev-utils.c##dc438a420089aa09906fca72ab382768.gcov'

	Cannot open source file umockdev-utils.c
Cannot open source file ../src/umockdev-utils.vala
Cannot open source file libumockdev-utils.a.p/src/umockdev-utils.c

	(gcovr could not infer a working directory that resolved it.)
(WARNING) Unrecognized GCOV output for /tmp/s/src/libumockdev-preload.c
	  branch  2 taken -421
	  branch  1 taken -423
	  branch  1 taken -423
	  branch  0 taken -884 (fallthrough)
	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 -421
(WARNING) Exception during parsing:
	UnknownLineType: branch  1 taken -423
(WARNING) Exception during parsing:
	UnknownLineType: branch  1 taken -423
(WARNING) Exception during parsing:
	UnknownLineType: branch  0 taken -884 (fallthrough)
(ERROR) Exiting because of parse errors.
	You can run gcovr with --gcov-ignore-parse-errors
	to continue anyway.
(ERROR) Trouble processing '/tmp/s/b/libumockdev-preload.so.0.0.0.p/src_libumockdev-preload.c.gcda' with working directory '/tmp/s/b'.
Stdout of gcov was >>File '/usr/include/unistd.h'
Lines executed:100.00% of 9
Branches executed:100.00% of 18
Taken at least once:100.00% of 18
No calls
Creating 'unistd.h##a22e9d2ab9e4b77715d83ce7f813ed48.gcov'

File '../src/libumockdev-preload.c'
Lines executed:80.22% of 723
Branches executed:78.44% of 1067
Taken at least once:55.67% of 1067
Calls executed:49.19% of 868
Creating 'libumockdev-preload.c##43283a376f43599068a1578f557d7529.gcov'

File '/usr/include/sys/ioctl.h'
Lines executed:100.00% of 1
Branches executed:100.00% of 2
Taken at least once:100.00% of 2
No calls
Creating 'ioctl.h##dcaaf2275b38f818358bd9384bc2c8a9.gcov'

File '/usr/include/stdio.h'
Lines executed:100.00% of 6
Branches executed:100.00% of 12
Taken at least once:100.00% of 12
No calls
Creating 'stdio.h##79ef0634ae8f8ca929453be1ddd8933f.gcov'

File '/usr/include/sys/socket.h'
Lines executed:100.00% of 6
Branches executed:100.00% of 12
Taken at least once:100.00% of 12
No calls
Creating 'socket.h##7734a1305a0af7b289bce8306dd574e2.gcov'

File '/usr/include/stdlib.h'
Lines executed:100.00% of 2
Branches executed:100.00% of 4
Taken at least once:100.00% of 4
No calls
Creating 'stdlib.h##028095b41857dcdeb715926b63fafaef.gcov'

File '/usr/include/sys/inotify.h'
Lines executed:0.00% of 1
Branches executed:0.00% of 2
Taken at least once:0.00% of 2
No calls
Creating 'inotify.h##974d225476f128bd5adcdfe2446c74fc.gcov'

File '/usr/include/fcntl.h'
Lines executed:100.00% of 4
Branches executed:100.00% of 8
Taken at least once:87.50% of 8
No calls
Creating 'fcntl.h##1a2302e27447f2ff7cafdac41b8bba20.gcov'

File '/usr/include/sys/statfs.h'
Lines executed:100.00% of 4
Branches executed:100.00% of 8
Taken at least once:87.50% of 8
No calls
Creating 'statfs.h##a950ef32633a61ee2832bf92a8db7ac6.gcov'

File '/usr/include/bits/statx-generic.h'
Lines executed:100.00% of 1
Branches executed:100.00% of 2
Taken at least once:100.00% of 2
No calls
Creating 'statx-generic.h##4f3aa90108df644496b29f869c1cc32d.gcov'

File '/usr/include/sys/xattr.h'
Lines executed:0.00% of 2
Branches executed:0.00% of 4
Taken at least once:0.00% of 4
No calls
Creating 'xattr.h##cd7be130bcd201433950c5c79bcb0691.gcov'

File '/usr/include/sys/stat.h'
Lines executed:75.00% of 8
Branches executed:75.00% of 16
Taken at least once:75.00% of 16
No calls
Creating 'stat.h##6e752c1756cbd9c4dccab9261559b232.gcov'

File '/usr/include/dirent.h'
Lines executed:100.00% of 1
Branches executed:100.00% of 2
Taken at least once:100.00% of 2
No calls
Creating 'dirent.h##ee35345deead177559be16e677f4eeff.gcov'

Lines executed:80.73% of 768
<< End of stdout
Stderr of gcov was >><< End of stderr
Current processed gcov file was '/tmp/s/b/libumockdev-preload.c##43283a376f43599068a1578f557d7529.gcov'.
Use option --verbose to get extended informations.
Traceback (most recent call last):
  File "/usr/lib/python3.11/site-packages/gcovr/workers.py", line 78, in worker
    work(*args, **kwargs)
  File "/usr/lib/python3.11/site-packages/gcovr/gcov.py", line 337, in process_datafile
    done = run_gcov_and_process_files(
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.11/site-packages/gcovr/gcov.py", line 514, in run_gcov_and_process_files
    process_gcov_data(fname, covdata, abs_filename, options)
  File "/usr/lib/python3.11/site-packages/gcovr/gcov.py", line 157, in process_gcov_data
    coverage = parse_coverage(
               ^^^^^^^^^^^^^^^
  File "/usr/lib/python3.11/site-packages/gcovr/gcov_parser.py", line 404, in parse_coverage
    _report_lines_with_errors(lines_with_errors, context)
  File "/usr/lib/python3.11/site-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.11/site-packages/gcovr/gcov_parser.py", line 353, in parse_coverage
    tokenized_lines.append((_parse_line(raw_line), raw_line))
                            ^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.11/site-packages/gcovr/gcov_parser.py", line 836, in _parse_line
    raise UnknownLineType(line)
gcovr.gcov_parser.UnknownLineType: branch  2 taken -421
Traceback (most recent call last):
  File "/usr/lib/python3.11/site-packages/gcovr/workers.py", line 78, in worker
    work(*args, **kwargs)
  File "/usr/lib/python3.11/site-packages/gcovr/gcov.py", line 337, in process_datafile
    done = run_gcov_and_process_files(
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.11/site-packages/gcovr/gcov.py", line 514, in run_gcov_and_process_files
    process_gcov_data(fname, covdata, abs_filename, options)
  File "/usr/lib/python3.11/site-packages/gcovr/gcov.py", line 157, in process_gcov_data
    coverage = parse_coverage(
               ^^^^^^^^^^^^^^^
  File "/usr/lib/python3.11/site-packages/gcovr/gcov_parser.py", line 404, in parse_coverage
    _report_lines_with_errors(lines_with_errors, context)
  File "/usr/lib/python3.11/site-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.11/site-packages/gcovr/gcov_parser.py", line 353, in parse_coverage
    tokenized_lines.append((_parse_line(raw_line), raw_line))
                            ^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.11/site-packages/gcovr/gcov_parser.py", line 836, in _parse_line
    raise UnknownLineType(line)
gcovr.gcov_parser.UnknownLineType: branch  2 taken -421
(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.11/site-packages/gcovr/__main__.py", line 317, in main
    covdata = collect_coverage_from_gcov(options)
              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.11/site-packages/gcovr/__main__.py", line 369, in collect_coverage_from_gcov
    with Workers(
  File "/usr/lib/python3.11/site-packages/gcovr/workers.py", line 171, in __exit__
    self.wait()
  File "/usr/lib/python3.11/site-packages/gcovr/workers.py", line 162, in wait
    raise self.exceptions[0][1]
  File "/usr/lib/python3.11/site-packages/gcovr/__main__.py", line 376, in collect_coverage_from_gcov
    contexts = pool.wait()
               ^^^^^^^^^^^
  File "/usr/lib/python3.11/site-packages/gcovr/workers.py", line 162, in wait
    raise self.exceptions[0][1]
  File "/usr/lib/python3.11/site-packages/gcovr/workers.py", line 78, in worker
    work(*args, **kwargs)
  File "/usr/lib/python3.11/site-packages/gcovr/gcov.py", line 337, in process_datafile
    done = run_gcov_and_process_files(
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.11/site-packages/gcovr/gcov.py", line 514, in run_gcov_and_process_files
    process_gcov_data(fname, covdata, abs_filename, options)
  File "/usr/lib/python3.11/site-packages/gcovr/gcov.py", line 157, in process_gcov_data
    coverage = parse_coverage(
               ^^^^^^^^^^^^^^^
  File "/usr/lib/python3.11/site-packages/gcovr/gcov_parser.py", line 404, in parse_coverage
    _report_lines_with_errors(lines_with_errors, context)
  File "/usr/lib/python3.11/site-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.11/site-packages/gcovr/gcov_parser.py", line 353, in parse_coverage
    tokenized_lines.append((_parse_line(raw_line), raw_line))
                            ^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.11/site-packages/gcovr/gcov_parser.py", line 836, in _parse_line
    raise UnknownLineType(line)
gcovr.gcov_parser.UnknownLineType: branch  2 taken -421
Traceback (most recent call last):
  File "/usr/bin/meson", line 33, in <module>
    sys.exit(load_entry_point('meson==0.63.3', 'console_scripts', 'meson')())
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.11/site-packages/mesonbuild/mesonmain.py", line 266, in main
    return run(sys.argv[1:], launcher)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.11/site-packages/mesonbuild/mesonmain.py", line 255, in run
    return run_script_command(args[1], args[2:])
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.11/site-packages/mesonbuild/mesonmain.py", line 215, in run_script_command
    return module.run(script_args)
           ^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.11/site-packages/mesonbuild/scripts/coverage.py", line 197, in run
    return coverage(options.outputs, options.source_root,
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.11/site-packages/mesonbuild/scripts/coverage.py", line 78, in coverage
    subprocess.check_call(gcovr_base_cmd + gcovr_config +
  File "/usr/lib64/python3.11/subprocess.py", line 413, in check_call
    raise CalledProcessError(retcode, cmd)
subprocess.CalledProcessError: Command '['gcovr', '-r', '/tmp/s', '/tmp/s/b', '-e', '/tmp/s/subprojects', '-o', '/tmp/s/b/meson-logs/coverage.txt']' returned non-zero exit status 1.
ninja: build stopped: subcommand failed.

Comment 1 Martin Pitt 2023-02-13 06:10:59 UTC
This also happens on rawhide.

Comment 2 Dan Čermák 2023-02-27 05:10:45 UTC
Could you please report the issue upstream as well?

Comment 3 Martin Pitt 2023-02-27 09:47:23 UTC
Sure! I filed https://github.com/gcovr/gcovr/issues/736

Comment 4 Dan Čermák 2023-03-10 12:26:53 UTC
I am not sure if the upstream issue helped in any way (it didn't look like a resolution to me…). Could you please retry with version 6.0: https://koji.fedoraproject.org/koji/taskinfo?taskID=98528688 ?

Comment 5 Martin Pitt 2023-03-10 12:34:30 UTC
Indeed there was no resolution on the upstream bug, just some vague references. I installed the 6.0 build from koji, and the output looks different, but it's not fixed:

+ ninja coverage-text
[1/1] Generates text coverage report
FAILED: meson-internal__coverage-text 
/usr/bin/meson --internal coverage --text /source /source/subprojects /tmp/dbg /tmp/dbg/meson-logs
(ERROR) Trouble processing '/tmp/dbg/umockdev-record.p/meson-generated_src_umockdev-spi.c.gcda' with working directory '/source'.
Stdout of gcov was >>None<< End of stdout
Stderr of gcov was >>None<< End of stderr
Current processed gcov file was None.
Use option --verbose to get extended informations.
Traceback (most recent call last):
  File "/usr/lib/python3.11/site-packages/gcovr/workers.py", line 80, in worker
    work(*args, **kwargs)
  File "/usr/lib/python3.11/site-packages/gcovr/gcov.py", line 323, in process_datafile
    done = run_gcov_and_process_files(
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.11/site-packages/gcovr/gcov.py", line 536, in run_gcov_and_process_files
    out, err = gcov_cmd.run_with_args(
               ^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.11/site-packages/gcovr/gcov.py", line 519, in run_with_args
    raise RuntimeError(f"GCOV returncode was {gcov_process.returncode}.")
RuntimeError: GCOV returncode was 6.
Traceback (most recent call last):
  File "/usr/lib/python3.11/site-packages/gcovr/workers.py", line 80, in worker
    work(*args, **kwargs)
  File "/usr/lib/python3.11/site-packages/gcovr/gcov.py", line 323, in process_datafile
    done = run_gcov_and_process_files(
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.11/site-packages/gcovr/gcov.py", line 536, in run_gcov_and_process_files
    out, err = gcov_cmd.run_with_args(
               ^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.11/site-packages/gcovr/gcov.py", line 519, in run_with_args
    raise RuntimeError(f"GCOV returncode was {gcov_process.returncode}.")
RuntimeError: GCOV returncode was 6.
(ERROR) Uncaught EXCEPTION
Traceback (most recent call last):
  File "/usr/bin/gcovr", line 33, in <module>
    sys.exit(load_entry_point('gcovr==6.0', 'console_scripts', 'gcovr')())
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.11/site-packages/gcovr/__main__.py", line 328, in main
    covdata = collect_coverage_from_gcov(options)
              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.11/site-packages/gcovr/__main__.py", line 380, in collect_coverage_from_gcov
    with Workers(
  File "/usr/lib/python3.11/site-packages/gcovr/workers.py", line 173, in __exit__
    self.wait()
  File "/usr/lib/python3.11/site-packages/gcovr/workers.py", line 164, in wait
    raise self.exceptions[0][1]
  File "/usr/lib/python3.11/site-packages/gcovr/__main__.py", line 387, in collect_coverage_from_gcov
    contexts = pool.wait()
               ^^^^^^^^^^^
  File "/usr/lib/python3.11/site-packages/gcovr/workers.py", line 164, in wait
    raise self.exceptions[0][1]
  File "/usr/lib/python3.11/site-packages/gcovr/workers.py", line 80, in worker
    work(*args, **kwargs)
  File "/usr/lib/python3.11/site-packages/gcovr/gcov.py", line 323, in process_datafile
    done = run_gcov_and_process_files(
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.11/site-packages/gcovr/gcov.py", line 536, in run_gcov_and_process_files
    out, err = gcov_cmd.run_with_args(
               ^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.11/site-packages/gcovr/gcov.py", line 519, in run_with_args
    raise RuntimeError(f"GCOV returncode was {gcov_process.returncode}.")
RuntimeError: GCOV returncode was 6.
Traceback (most recent call last):
  File "/usr/bin/meson", line 33, in <module>
    sys.exit(load_entry_point('meson==1.0.0', 'console_scripts', 'meson')())
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.11/site-packages/mesonbuild/mesonmain.py", line 286, in main
    return run(sys.argv[1:], launcher)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.11/site-packages/mesonbuild/mesonmain.py", line 274, in run
    return run_script_command(args[1], args[2:])
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.11/site-packages/mesonbuild/mesonmain.py", line 222, in run_script_command
    return module.run(script_args)
           ^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.11/site-packages/mesonbuild/scripts/coverage.py", line 196, in run
    return coverage(options.outputs, options.source_root,
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.11/site-packages/mesonbuild/scripts/coverage.py", line 77, in coverage
    subprocess.check_call(gcovr_base_cmd + gcovr_config +
  File "/usr/lib64/python3.11/subprocess.py", line 413, in check_call
    raise CalledProcessError(retcode, cmd)
subprocess.CalledProcessError: Command '['gcovr', '-r', '/source', '/tmp/dbg', '-e', '/source/subprojects', '-o', '/tmp/dbg/meson-logs/coverage.txt']' returned non-zero exit status 1.
ninja: build stopped: subcommand failed.

Comment 6 Aoife Moloney 2023-11-23 01:11:11 UTC
This message is a reminder that Fedora Linux 37 is nearing its end of life.
Fedora will stop maintaining and issuing updates for Fedora Linux 37 on 2023-12-05.
It is Fedora's policy to close all bug reports from releases that are no longer
maintained. At that time this bug will be closed as EOL if it remains open with a
'version' of '37'.

Package Maintainer: If you wish for this bug to remain open because you
plan to fix it in a currently maintained version, change the 'version' 
to a later Fedora Linux version. Note that the version field may be hidden.
Click the "Show advanced fields" button if you do not see it.

Thank you for reporting this issue and we are sorry that we were not 
able to fix it before Fedora Linux 37 is end of life. If you would still like 
to see this bug fixed and are able to reproduce it against a later version 
of Fedora Linux, you are encouraged to change the 'version' to a later version
prior to this bug being closed.

Comment 7 Martin Pitt 2023-11-23 06:17:04 UTC
This is broken in current F39. With the reproducer:

❱❱ ninja coverage-text
[1/1] Generates text coverage report
FAILED: meson-internal__coverage-text 
/usr/bin/meson --internal coverage --text /var/home/martin/upstream/umockdev /var/home/martin/upstream/umockdev/subprojects /var/home/martin/upstream/umockdev/b /var/home/martin/upstream/umockdev/b/meson-logs
genhtml: LCOV version 1.14
(ERROR) Trouble processing '/var/home/martin/upstream/umockdev/b/libumockdev.so.0.3.0.p/meson-generated_src_umockdev-pcap.c.gcda' with working directory '/var/home'.
Stdout of gcov was >>None<< End of stdout
Stderr of gcov was >>None<< End of stderr
Current processed gcov file was None.
Use option --verbose to get extended informations.
Traceback (most recent call last):
  File "/usr/lib/python3.12/site-packages/gcovr/workers.py", line 80, in worker
    work(*args, **kwargs)
  File "/usr/lib/python3.12/site-packages/gcovr/gcov.py", line 323, in process_datafile
    done = run_gcov_and_process_files(
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.12/site-packages/gcovr/gcov.py", line 536, in run_gcov_and_process_files
    out, err = gcov_cmd.run_with_args(
               ^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.12/site-packages/gcovr/gcov.py", line 519, in run_with_args
    raise RuntimeError(f"GCOV returncode was {gcov_process.returncode}.")
RuntimeError: GCOV returncode was 6.
Traceback (most recent call last):
  File "/usr/lib/python3.12/site-packages/gcovr/workers.py", line 80, in worker
    work(*args, **kwargs)
  File "/usr/lib/python3.12/site-packages/gcovr/gcov.py", line 323, in process_datafile
    done = run_gcov_and_process_files(
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.12/site-packages/gcovr/gcov.py", line 536, in run_gcov_and_process_files
    out, err = gcov_cmd.run_with_args(
               ^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.12/site-packages/gcovr/gcov.py", line 519, in run_with_args
    raise RuntimeError(f"GCOV returncode was {gcov_process.returncode}.")
RuntimeError: GCOV returncode was 6.
(ERROR) Uncaught EXCEPTION
Traceback (most recent call last):
  File "/usr/bin/gcovr", line 33, in <module>
    sys.exit(load_entry_point('gcovr==6.0', 'console_scripts', 'gcovr')())
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.12/site-packages/gcovr/__main__.py", line 328, in main
    covdata = collect_coverage_from_gcov(options)
              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.12/site-packages/gcovr/__main__.py", line 380, in collect_coverage_from_gcov
    with Workers(
  File "/usr/lib/python3.12/site-packages/gcovr/workers.py", line 173, in __exit__
    self.wait()
  File "/usr/lib/python3.12/site-packages/gcovr/workers.py", line 164, in wait
    raise self.exceptions[0][1]
  File "/usr/lib/python3.12/site-packages/gcovr/__main__.py", line 387, in collect_coverage_from_gcov
    contexts = pool.wait()
               ^^^^^^^^^^^
  File "/usr/lib/python3.12/site-packages/gcovr/workers.py", line 164, in wait
    raise self.exceptions[0][1]
  File "/usr/lib/python3.12/site-packages/gcovr/workers.py", line 80, in worker
    work(*args, **kwargs)
  File "/usr/lib/python3.12/site-packages/gcovr/gcov.py", line 323, in process_datafile
    done = run_gcov_and_process_files(
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.12/site-packages/gcovr/gcov.py", line 536, in run_gcov_and_process_files
    out, err = gcov_cmd.run_with_args(
               ^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.12/site-packages/gcovr/gcov.py", line 519, in run_with_args
    raise RuntimeError(f"GCOV returncode was {gcov_process.returncode}.")
RuntimeError: GCOV returncode was 6.
Traceback (most recent call last):
  File "/usr/bin/meson", line 33, in <module>
    sys.exit(load_entry_point('meson==1.2.3', 'console_scripts', 'meson')())
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.12/site-packages/mesonbuild/mesonmain.py", line 294, in main
    return run(sys.argv[1:], launcher)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.12/site-packages/mesonbuild/mesonmain.py", line 282, in run
    return run_script_command(args[1], args[2:])
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.12/site-packages/mesonbuild/mesonmain.py", line 223, in run_script_command
    return module.run(script_args)
           ^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.12/site-packages/mesonbuild/scripts/coverage.py", line 205, in run
    return coverage(options.outputs, options.source_root,
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.12/site-packages/mesonbuild/scripts/coverage.py", line 83, in coverage
    subprocess.check_call(gcovr_base_cmd + gcovr_config +
  File "/usr/lib64/python3.12/subprocess.py", line 413, in check_call
    raise CalledProcessError(retcode, cmd)
subprocess.CalledProcessError: Command '['gcovr', '-r', '/var/home/martin/upstream/umockdev', '/var/home/martin/upstream/umockdev/b', '-e', '/var/home/martin/upstream/umockdev/subprojects', '-o', '/var/home/martin/upstream/umockdev/b/meson-logs/coverage.txt']' returned non-zero exit status 1.
ninja: build stopped: subcommand failed.

gcovr-6.0-3.fc39.noarch


Note You need to log in before you can comment on or make changes to this bug.