Bug 2219479 - [abrt] rdiff-backup: Collate2Iters(): gzip.py:518:read:EOFError: Compressed file ended before the end-of-stream marker was reached
Summary: [abrt] rdiff-backup: Collate2Iters(): gzip.py:518:read:EOFError: Compressed f...
Keywords:
Status: ASSIGNED
Alias: None
Product: Fedora
Classification: Fedora
Component: rdiff-backup
Version: 38
Hardware: x86_64
OS: Unspecified
unspecified
unspecified
Target Milestone: ---
Assignee: Frank Crawford
QA Contact: Fedora Extras Quality Assurance
URL: https://retrace.fedoraproject.org/faf...
Whiteboard: abrt_hash:d3dd26500d37ee289007332ff45...
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2023-07-03 22:55 UTC by Paul DeStefano
Modified: 2023-07-08 03:51 UTC (History)
3 users (show)

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


Attachments (Terms of Use)
File: backtrace (2.88 KB, text/plain)
2023-07-03 22:55 UTC, Paul DeStefano
no flags Details
File: os_info (734 bytes, text/plain)
2023-07-03 22:55 UTC, Paul DeStefano
no flags Details
File: open_fds (835 bytes, text/plain)
2023-07-03 22:55 UTC, Paul DeStefano
no flags Details
File: namespaces (171 bytes, text/plain)
2023-07-03 22:55 UTC, Paul DeStefano
no flags Details

Description Paul DeStefano 2023-07-03 22:55:07 UTC
Description of problem:
There was a problem with a backup in progress, FS was marked ro, but backup didn't terminate.  I rebooted and ran
verify. That produced this exception quite quickly.

Version-Release number of selected component:
rdiff-backup-2.2.5-2.fc38

Additional info:
reporter:       libreport-2.17.10
cgroup:         0::/user.slice/user-13013.slice/user/app.slice/mytmux.service
exception_type: StopIteration
package:        rdiff-backup-2.2.5-2.fc38
crash_function: Collate2Iters
type:           Python3
interpreter:    python3-3.11.4-1.fc38.i686
executable:     /usr/bin/rdiff-backup
reason:         gzip.py:518:read:EOFError: Compressed file ended before the end-of-stream marker was reached
runlevel:       N 5
kernel:         6.3.8-200.fc38.x86_64

Truncated backtrace:
gzip.py:518:read:EOFError: Compressed file ended before the end-of-stream marker was reached

Traceback (most recent call last):
  File "/usr/lib64/python3.11/site-packages/rdiff_backup/rorpiter.py", line 364, in Collate2Iters
    relem2 = next(riter2)
             ^^^^^^^^^^^^
StopIteration

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/usr/bin/rdiff-backup", line 33, in <module>
    sys.exit(load_entry_point('rdiff-backup==2.2.5', 'console_scripts', 'rdiff-backup')())
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib64/python3.11/site-packages/rdiffbackup/run.py", line 37, in main
    sys.exit(main_run(sys.argv[1:]))
             ^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib64/python3.11/site-packages/rdiffbackup/run.py", line 110, in main_run
    ret_val |= conn_act.run()
               ^^^^^^^^^^^^^^
  File "/usr/lib64/python3.11/site-packages/rdiffbackup/actions/verify.py", line 100, in run
    return self.repo.base_dir.conn.compare.Verify(
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib64/python3.11/site-packages/rdiff_backup/compare.py", line 218, in Verify
    for repo_rorp in repo_iter:
  File "/usr/lib64/python3.11/site-packages/rdiffbackup/meta/ea.py", line 248, in join_iter
    for rorp, ea in rorpiter.CollateIterators(rorp_iter, ea_iter):
  File "/usr/lib64/python3.11/site-packages/rdiff_backup/rorpiter.py", line 354, in Collate2Iters
    relem1 = next(riter1)
             ^^^^^^^^^^^^
  File "/usr/lib64/python3.11/site-packages/rdiffbackup/meta/acl_posix.py", line 301, in join_iter
    for rorp, acl in rorpiter.CollateIterators(rorp_iter, acl_iter):
  File "/usr/lib64/python3.11/site-packages/rdiff_backup/rorpiter.py", line 368, in Collate2Iters
    for relem1 in riter1:
  File "/usr/lib64/python3.11/site-packages/rdiffbackup/meta/__init__.py", line 61, in iterate
    for record in self._iterate_records():
  File "/usr/lib64/python3.11/site-packages/rdiffbackup/meta/__init__.py", line 75, in _iterate_records
    next_pos = self._get_next_pos()
               ^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib64/python3.11/site-packages/rdiffbackup/meta/__init__.py", line 139, in _get_next_pos
    newbuf = self.fileobj.read(self.blocksize)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib64/python3.11/gzip.py", line 301, in read
    return self._buffer.read(size)
           ^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib64/python3.11/_compression.py", line 68, in readinto
    data = self.read(len(byte_view))
           ^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib64/python3.11/gzip.py", line 518, in read
    raise EOFError("Compressed file ended before the "
EOFError: Compressed file ended before the end-of-stream marker was reached

Local variables in innermost frame:
self: <gzip._GzipReader object at 0x7f15fd7d6e90>
size: 24576
buf: b''
uncompress: b''

Comment 1 Paul DeStefano 2023-07-03 22:55:10 UTC
Created attachment 1973923 [details]
File: backtrace

Comment 2 Paul DeStefano 2023-07-03 22:55:11 UTC
Created attachment 1973924 [details]
File: os_info

Comment 3 Paul DeStefano 2023-07-03 22:55:12 UTC
Created attachment 1973925 [details]
File: open_fds

Comment 4 Paul DeStefano 2023-07-03 22:55:13 UTC
Created attachment 1973926 [details]
File: namespaces

Comment 5 Frank Crawford 2023-07-04 10:33:58 UTC
I will push this upstream.

Comment 6 Frank Crawford 2023-07-08 03:51:44 UTC
Submitted upstream, issue: [BUG] Compressed file ended before the end-of-stream marker was reached #900 (https://github.com/rdiff-backup/rdiff-backup/issues/900)


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