I've got some temporary and probably broken file in /var/cache/binpkgs and emerge breaks with this. I've deleted the file so I don't think I can reproduce it, but it would be nice if this exception can be caught somehow, because otherwise emerge completely stops working Traceback (most recent call last): File "/usr/lib/python3.11/site-packages/portage/xpak.py", line 441, in scan get_binpkg_format(self.file, check_file=True) File "/usr/lib/python3.11/site-packages/portage/binpkg.py", line 49, in get_binpkg_format if "gpkg-1" in (os.path.basename(f) for f in gpkg_tar.getnames()): ^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.11/tarfile.py", line 1830, in getnames return [tarinfo.name for tarinfo in self.getmembers()] ^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.11/tarfile.py", line 1822, in getmembers self._load() # all members, we first have to ^^^^^^^^^^^^ File "/usr/lib/python3.11/tarfile.py", line 2422, in _load tarinfo = self.next() ^^^^^^^^^^^ File "/usr/lib/python3.11/tarfile.py", line 2344, in next self.fileobj.seek(self.offset - 1) File "/usr/lib/python3.11/bz2.py", line 261, in seek return self._buffer.seek(offset, whence) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.11/_compression.py", line 153, in seek data = self.read(min(io.DEFAULT_BUFFER_SIZE, offset)) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.11/_compression.py", line 99, in read raise EOFError("Compressed file ended before the " EOFError: Compressed file ended before the end-of-stream marker was reached During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/usr/lib/python-exec/python3.11/emerge", line 58, in <module> retval = emerge_main() ^^^^^^^^^^^^^ File "/usr/lib/python3.11/site-packages/_emerge/main.py", line 1294, in emerge_main return run_action(emerge_config) ^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.11/site-packages/_emerge/actions.py", line 3445, in run_action and _global_updates( ^^^^^^^^^^^^^^^^ File "/usr/lib/python3.11/site-packages/portage/_global_updates.py", line 41, in _global_updates return _do_global_updates( ^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.11/site-packages/portage/_global_updates.py", line 133, in _do_global_updates bindb.bintree.populate() File "/usr/lib/python3.11/site-packages/portage/dbapi/bintree.py", line 826, in populate update_pkgindex = self._populate_local( ^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.11/site-packages/portage/dbapi/bintree.py", line 1037, in _populate_local pkg_metadata = self._read_metadata( ^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.11/site-packages/portage/dbapi/bintree.py", line 1720, in _read_metadata binpkg_metadata = portage.xpak.tbz2(filename).get_data() ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.11/site-packages/portage/xpak.py", line 552, in get_data if not self.scan(): ^^^^^^^^^^^ File "/usr/lib/python3.11/site-packages/portage/xpak.py", line 471, in scan get_binpkg_format(self.file, check_file=True) File "/usr/lib/python3.11/site-packages/portage/binpkg.py", line 49, in get_binpkg_format if "gpkg-1" in (os.path.basename(f) for f in gpkg_tar.getnames()): ^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.11/tarfile.py", line 1830, in getnames return [tarinfo.name for tarinfo in self.getmembers()] ^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.11/tarfile.py", line 1822, in getmembers self._load() # all members, we first have to ^^^^^^^^^^^^ File "/usr/lib/python3.11/tarfile.py", line 2422, in _load tarinfo = self.next() ^^^^^^^^^^^ File "/usr/lib/python3.11/tarfile.py", line 2344, in next self.fileobj.seek(self.offset - 1) File "/usr/lib/python3.11/bz2.py", line 261, in seek return self._buffer.seek(offset, whence) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.11/_compression.py", line 153, in seek data = self.read(min(io.DEFAULT_BUFFER_SIZE, offset)) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.11/_compression.py", line 99, in read raise EOFError("Compressed file ended before the " EOFError: Compressed file ended before the end-of-stream marker was reached