You are not logged in.
I am using Gnome as a DE, nautilus as a file manager.
I have a .tar.bz2 archive, that, when I extract it via the file manager, i.e. double-click on the archive file in nautilus, will result in one file being not properly extracted from the archive.
When I extract the very same archive using tar in the console, however, the file extracts correctly.
I'd appreciate any pointers as to what might be the issue here.
~/Downloads> cd test/
~/Downloads/test> ls
╭───┬───────────────────────────────────────────┬──────┬───────────┬────────────────╮
│ # │ name │ type │ size │ modified │
├───┼───────────────────────────────────────────┼──────┼───────────┼────────────────┤
│ 0 │ core-image-minimal-paulmann-signed.mender │ file │ 232,2 MiB │ 20 minutes ago │
│ 1 │ core-image-minimal-paulmann.mender │ file │ 232,2 MiB │ 20 minutes ago │
│ 2 │ core-image-minimal-paulmann.sdimg │ file │ 457,4 MiB │ 20 minutes ago │
│ 3 │ sha256sums.txt │ file │ 544 B │ 56 years ago │
│ 4 │ u-boot-paulmann.imx │ file │ 567,0 KiB │ 20 minutes ago │
│ 5 │ uuu.auto │ file │ 509 B │ 20 minutes ago │
│ 6 │ uuu.exe │ file │ 1,2 MiB │ 20 minutes ago │
╰───┴───────────────────────────────────────────┴──────┴───────────┴────────────────╯
~/Downloads/test> sha256sum -c sha256sums.txt
core-image-minimal-paulmann-signed.mender: OK
core-image-minimal-paulmann.mender: OK
core-image-minimal-paulmann.sdimg: FEHLSCHLAG
u-boot-paulmann.imx: OK
uuu.auto: OK
uuu.exe: OK
sha256sum: WARNING: 1 computed checksum did NOT match
~/Downloads/test> cd ..
~/Downloads> mkdir test2
~/Downloads> file -i test.tar.bz2
test.tar.bz2: application/x-bzip2; charset=binary
~/Downloads> tar xf test.tar.bz2 -C test2/
~/Downloads> cd test2/
~/Downloads/test2> sha256sum -c sha256sums.txt
core-image-minimal-paulmann-signed.mender: OK
core-image-minimal-paulmann.mender: OK
core-image-minimal-paulmann.sdimg: OK
u-boot-paulmann.imx: OK
uuu.auto: OK
uuu.exe: OK
~/Downloads/test2> ls
╭───┬───────────────────────────────────────────┬──────┬───────────┬────────────────╮
│ # │ name │ type │ size │ modified │
├───┼───────────────────────────────────────────┼──────┼───────────┼────────────────┤
│ 0 │ core-image-minimal-paulmann-signed.mender │ file │ 232,2 MiB │ 22 minutes ago │
│ 1 │ core-image-minimal-paulmann.mender │ file │ 232,2 MiB │ 22 minutes ago │
│ 2 │ core-image-minimal-paulmann.sdimg │ file │ 6,5 GiB │ 22 minutes ago │
│ 3 │ sha256sums.txt │ file │ 544 B │ 56 years ago │
│ 4 │ u-boot-paulmann.imx │ file │ 567,0 KiB │ 22 minutes ago │
│ 5 │ uuu.auto │ file │ 509 B │ 22 minutes ago │
│ 6 │ uuu.exe │ file │ 1,2 MiB │ 22 minutes ago │
╰───┴───────────────────────────────────────────┴──────┴───────────┴────────────────╯
~/Downloads/test2> 2026-07-28T12:26:00The weird thing is, that all files, except the sdimg file are extracted correctly when I use the GUI extraction method.
You can also see, that the file sizes significantly differ.
Edit:
The extraction via file-roller extracts the archive correctly without issues.
Last edited by schard (Yesterday 11:36:13)
Inofficial first vice president of the Rust Evangelism Strike Force
Offline
sanity check: have you tried to first just decompress? so make a .tar from the .tar.bz2? the different filesizes hint tge decompression goes wrong prematurly
Offline
I'd appreciate any pointers as to what might be the issue here.
/usr/lib/gvfsd-archive ?
Edit: I suspect the immediate problem will be the sdimg structure (is it compressed itself)?
file-roller seems to use libarchive as well, does bsdtar work correctly?
Last edited by seth (2026-07-28 14:41:33)
Online
│ 2 │ core-image-minimal-paulmann.sdimg │ file │ 457,4 MiB │ 20 minutes ago │
│ 2 │ core-image-minimal-paulmann.sdimg │ file │ 6,5 GiB │ 22 minutes ago │
Looks like 32-bit overflow bug (4 GiB limit). Can you create a 5 GiB file, compress it and decompress with nautilus?
Online
sanity check: have you tried to first just decompress? so make a .tar from the .tar.bz2? the different filesizes hint tge decompression goes wrong prematurly
First decompressing it, then extracting the plain .tar archive with nautilus results in the same too small file:
~/Downloads/310295> ls
╭───┬───────────────────────────────────────────┬──────┬───────────┬──────────────╮
│ # │ name │ type │ size │ modified │
├───┼───────────────────────────────────────────┼──────┼───────────┼──────────────┤
│ 0 │ core-image-minimal-paulmann-signed.mender │ file │ 232,4 MiB │ 2 months ago │
│ 1 │ core-image-minimal-paulmann.mender │ file │ 232,4 MiB │ 2 months ago │
│ 2 │ core-image-minimal-paulmann.sdimg │ file │ 457,5 MiB │ 2 months ago │
│ 3 │ u-boot-paulmann.imx │ file │ 567,0 KiB │ 2 months ago │
│ 4 │ uuu.auto │ file │ 509 B │ 2 months ago │
│ 5 │ uuu.exe │ file │ 1,2 MiB │ 2 months ago │
╰───┴───────────────────────────────────────────┴──────┴───────────┴──────────────╯
~/Downloads/310295> It, however, works again when unpacking from the console:
~/Downloads> mkdir test2
~/Downloads> tar xf 310295.tar -C test2/
~/Downloads> cd test2/
~/Downloads/test2> ls
╭───┬───────────────────────────────────────────┬──────┬───────────┬──────────────╮
│ # │ name │ type │ size │ modified │
├───┼───────────────────────────────────────────┼──────┼───────────┼──────────────┤
│ 0 │ core-image-minimal-paulmann-signed.mender │ file │ 232,4 MiB │ 2 months ago │
│ 1 │ core-image-minimal-paulmann.mender │ file │ 232,4 MiB │ 2 months ago │
│ 2 │ core-image-minimal-paulmann.sdimg │ file │ 6,5 GiB │ 2 months ago │
│ 3 │ u-boot-paulmann.imx │ file │ 567,0 KiB │ 2 months ago │
│ 4 │ uuu.auto │ file │ 509 B │ 2 months ago │
│ 5 │ uuu.exe │ file │ 1,2 MiB │ 2 months ago │
╰───┴───────────────────────────────────────────┴──────┴───────────┴──────────────╯
~/Downloads/test2> Edit: I suspect the immediate problem will be the sdimg structure (is it compressed itself)?
file-roller seems to use libarchive as well, does bsdtar work correctly?
Yes.
~/Downloads> bsdtar xf 310295.tar -C test3/
~/Downloads> cd test3/
~/Downloads/test3> ls
╭───┬───────────────────────────────────────────┬──────┬───────────┬──────────────╮
│ # │ name │ type │ size │ modified │
├───┼───────────────────────────────────────────┼──────┼───────────┼──────────────┤
│ 0 │ core-image-minimal-paulmann-signed.mender │ file │ 232,4 MiB │ 2 months ago │
│ 1 │ core-image-minimal-paulmann.mender │ file │ 232,4 MiB │ 2 months ago │
│ 2 │ core-image-minimal-paulmann.sdimg │ file │ 6,5 GiB │ 2 months ago │
│ 3 │ u-boot-paulmann.imx │ file │ 567,0 KiB │ 2 months ago │
│ 4 │ uuu.auto │ file │ 509 B │ 2 months ago │
│ 5 │ uuu.exe │ file │ 1,2 MiB │ 2 months ago │
╰───┴───────────────────────────────────────────┴──────┴───────────┴──────────────╯
~/Downloads/test3> schard wrote:│ 2 │ core-image-minimal-paulmann.sdimg │ file │ 457,4 MiB │ 20 minutes ago │
│ 2 │ core-image-minimal-paulmann.sdimg │ file │ 6,5 GiB │ 22 minutes ago │Looks like 32-bit overflow bug (4 GiB limit). Can you create a 5 GiB file, compress it and decompress with nautilus?
The dd-generated, archived, file extracts fine with nautilus:
~> dd if=/dev/urandom of=large_file bs=1M count=5120
~> tar --use-compress-program="bzip2 -9" -cf test.tar.bz2 large_file
~> file -i test.tar.bz2
test.tar.bz2: application/x-bzip2; charset=binary
~> tar --list -vf test.tar.bz2
-rw-r--r-- rne/rne 5368709120 2026-07-28 21:20 large_file
~> sha256sum large_file test/large_file
1a8c44017fd4067443aad71d2e50abcdb3edfb567afe49b74adbf937519eff5d large_file
1a8c44017fd4067443aad71d2e50abcdb3edfb567afe49b74adbf937519eff5d test/large_file
~> sha256sum large_file test/large_fileInofficial first vice president of the Rust Evangelism Strike Force
Offline
So not libarchive nor a 4GB limit… have you tried to kill gvfsd and run it from an interactive shell to see whether it yells errors at you?
Not sure whether /usr/lib/gvfsd-archive can be used directly to mount the archive.
Online
Just for the fun of it, I used bsdtar to extract the archive, then tar with xz to pack it again.
This time, nautilus was able to extract it correctly:
~/Downloads> mkdir bsdtar.d
~/Downloads> bsdtar xf 310295.tar.bz2 -C bsdtar.d/
~/Downloads> cd bsdtar.d/
~/Downloads/bsdtar.d> ls
╭───┬───────────────────────────────────────────┬──────┬───────────┬──────────────╮
│ # │ name │ type │ size │ modified │
├───┼───────────────────────────────────────────┼──────┼───────────┼──────────────┤
│ 0 │ core-image-minimal-paulmann-signed.mender │ file │ 232,4 MiB │ 2 months ago │
│ 1 │ core-image-minimal-paulmann.mender │ file │ 232,4 MiB │ 2 months ago │
│ 2 │ core-image-minimal-paulmann.sdimg │ file │ 6,5 GiB │ 2 months ago │
│ 3 │ u-boot-paulmann.imx │ file │ 567,0 KiB │ 2 months ago │
│ 4 │ uuu.auto │ file │ 509 B │ 2 months ago │
│ 5 │ uuu.exe │ file │ 1,2 MiB │ 2 months ago │
╰───┴───────────────────────────────────────────┴──────┴───────────┴──────────────╯
~/Downloads/bsdtar.d> tar cJf ../310295.tar.xz *
~/Downloads/bsdtar.d| ls 3 28.07.2026 22:04:39
~/Downloads/bsdtar.d> cd ..
~/Downloads> ls 310295/
╭───┬──────────────────────────────────────────────────┬──────┬───────────┬──────────────╮
│ # │ name │ type │ size │ modified │
├───┼──────────────────────────────────────────────────┼──────┼───────────┼──────────────┤
│ 0 │ 310295/core-image-minimal-paulmann-signed.mender │ file │ 232,4 MiB │ 2 months ago │
│ 1 │ 310295/core-image-minimal-paulmann.mender │ file │ 232,4 MiB │ 2 months ago │
│ 2 │ 310295/core-image-minimal-paulmann.sdimg │ file │ 6,5 GiB │ 2 months ago │
│ 3 │ 310295/u-boot-paulmann.imx │ file │ 567,0 KiB │ 2 months ago │
│ 4 │ 310295/uuu.auto │ file │ 509 B │ 2 months ago │
│ 5 │ 310295/uuu.exe │ file │ 1,2 MiB │ 2 months ago │
╰───┴──────────────────────────────────────────────────┴──────┴───────────┴──────────────╯Also with bz2 the re-packed archive can be extracted by nautilus:
~/Downloads> tar -tvf 310295.tar.bz2
-rw-r--r-- 1000/1000 243711488 2026-06-03 15:26 core-image-minimal-paulmann.mender
-rw------- 1000/1000 243712512 2026-06-03 15:26 core-image-minimal-paulmann-signed.mender
-rw-r--r-- 1000/1000 580608 2026-06-03 15:26 u-boot-paulmann.imx
-rw-r--r-- 1000/1000 6987710464 2026-06-03 15:26 core-image-minimal-paulmann.sdimg
-rw-r--r-- 1000/1000 509 2026-06-03 15:26 uuu.auto
-rw-r--r-- 1000/1000 1344000 2026-06-03 15:26 uuu.exe
~/Downloads> tar -tvf 310295_3.tar.bz2
-rw------- rne/rne 243712512 2026-06-03 15:26 core-image-minimal-paulmann-signed.mender
-rw-r--r-- rne/rne 243711488 2026-06-03 15:26 core-image-minimal-paulmann.mender
-rw-r--r-- rne/rne 6987710464 2026-06-03 15:26 core-image-minimal-paulmann.sdimg
-rw-r--r-- rne/rne 580608 2026-06-03 15:26 u-boot-paulmann.imx
-rw-r--r-- rne/rne 509 2026-06-03 15:26 uuu.auto
-rw-r--r-- rne/rne 1344000 2026-06-03 15:26 uuu.exe
~/Downloads> lsInofficial first vice president of the Rust Evangelism Strike Force
Offline
So… what created the original tarball (it cannot be the compression because of crypthearth's test?)
Does the (uncompressed) tarball differ from the previous one?
Online
Nope, but the order of their contents differ, so...
~/Downloads> sha256sum 310295_orig.tar 310295_3.tar
1d1d5ea078b98121042d246644af89034e1de9d1b8c8d7f436c77b178b056bcd 310295_orig.tar
1a6eb3510cb84c308f7a21a817bf5cfee069b474883768f949a7ebf35dd0a347 310295_3.tar
~/Downloads>
~/Downloads> tar -tvf 310295_orig.tar
-rw-r--r-- 1000/1000 243711488 2026-06-03 15:26 core-image-minimal-paulmann.mender
-rw------- 1000/1000 243712512 2026-06-03 15:26 core-image-minimal-paulmann-signed.mender
-rw-r--r-- 1000/1000 580608 2026-06-03 15:26 u-boot-paulmann.imx
-rw-r--r-- 1000/1000 6987710464 2026-06-03 15:26 core-image-minimal-paulmann.sdimg
-rw-r--r-- 1000/1000 509 2026-06-03 15:26 uuu.auto
-rw-r--r-- 1000/1000 1344000 2026-06-03 15:26 uuu.exe
~/Downloads> tar -tvf 310295_3.tar
-rw------- rne/rne 243712512 2026-06-03 15:26 core-image-minimal-paulmann-signed.mender
-rw-r--r-- rne/rne 243711488 2026-06-03 15:26 core-image-minimal-paulmann.mender
-rw-r--r-- rne/rne 6987710464 2026-06-03 15:26 core-image-minimal-paulmann.sdimg
-rw-r--r-- rne/rne 580608 2026-06-03 15:26 u-boot-paulmann.imx
-rw-r--r-- rne/rne 509 2026-06-03 15:26 uuu.auto
-rw-r--r-- rne/rne 1344000 2026-06-03 15:26 uuu.exe
~/Downloads> 28.07.2026 22:20:16Inofficial first vice president of the Rust Evangelism Strike Force
Offline
I assume recreating the original order breaks it again?
Is the problem that u-boot-paulmann.imx is ahead or that uuu.auto is right after it?
Online
No, it doesn't. Which may hint to a problem in the original archive.
A recreated archive with the same order extracts fine with nautilus.
It was created by a Rust program using tar¹ and bzip2². :-\
I'll see if I can whip up an MRE tomorrow.
[1] https://crates.io/crates/tar
[2] https://crates.io/crates/bzip2
Inofficial first vice president of the Rust Evangelism Strike Force
Offline
Solution
It *is* a bug in nautilus' tar handling!
~/Downloads/sparsetest> truncate -s 6656M sparse.img
~/Downloads/sparsetest> ls
╭───┬────────────┬──────┬─────────┬──────────╮
│ # │ name │ type │ size │ modified │
├───┼────────────┼──────┼─────────┼──────────┤
│ 0 │ sparse.img │ file │ 6,5 GiB │ now │
╰───┴────────────┴──────┴─────────┴──────────╯
~/Downloads/sparsetest> tar cf sparse.tar sparse.img
~/Downloads/sparsetest> ls
╭───┬────────────┬──────┬─────────┬────────────────╮
│ # │ name │ type │ size │ modified │
├───┼────────────┼──────┼─────────┼────────────────┤
│ 0 │ sparse.img │ file │ 6,5 GiB │ 29 seconds ago │
│ 1 │ sparse.tar │ file │ 6,5 GiB │ now │
╰───┴────────────┴──────┴─────────┴────────────────╯
~/Downloads/sparsetest> rm sparse.tar
~/Downloads/sparsetest> tar --sparse -cf archive.tar sparse.img
~/Downloads/sparsetest> ls
╭───┬─────────────┬──────┬──────────┬──────────────╮
│ # │ name │ type │ size │ modified │
├───┼─────────────┼──────┼──────────┼──────────────┤
│ 0 │ archive.tar │ file │ 10,0 KiB │ now │
│ 1 │ sparse.img │ file │ 6,5 GiB │ a minute ago │
╰───┴─────────────┴──────┴──────────┴──────────────╯
~/Downloads/sparsetest> ls
╭───┬─────────────┬──────┬──────────┬────────────────╮
│ # │ name │ type │ size │ modified │
├───┼─────────────┼──────┼──────────┼────────────────┤
│ 0 │ archive │ dir │ 4,0 KiB │ now │
│ 1 │ archive.tar │ file │ 10,0 KiB │ 18 seconds ago │
│ 2 │ sparse.img │ file │ 6,5 GiB │ a minute ago │
╰───┴─────────────┴──────┴──────────┴────────────────╯
~/Downloads/sparsetest> ls archive/
╭───┬────────────────────┬──────┬──────┬──────────────╮
│ # │ name │ type │ size │ modified │
├───┼────────────────────┼──────┼──────┼──────────────┤
│ 0 │ archive/sparse.img │ file │ 0 B │ a minute ago │
╰───┴────────────────────┴──────┴──────┴──────────────╯
~/Downloads/sparsetest> treeThe file is a sparse file and nautilus cannot extract those correctly.
Inofficial first vice president of the Rust Evangelism Strike Force
Offline
https://gitlab.gnome.org/GNOME/gvfs/-/work_items
Maybe protection against zip bombs?
Online
FYI: This is broken since five years: https://gitlab.gnome.org/GNOME/gnome-au … rk_items/9
Inofficial first vice president of the Rust Evangelism Strike Force
Offline
So there's gvfs-archive wrapping libarchive but only gnome-shell, nautilus and evolution are not using that but a gsoc2013 project that also wraps libarchive and that has a major bug, filed by the maintainer along details on ow to fix it (instead of, ya know… fixing it) but remains unaddressed since 2021… and the project itself seems dormant since 2024
Though to be fair, the bug was probably just lifted from gvfsd-archive, https://gitlab.gnome.org/GNOME/gvfs/-/b … ive.c#L386 (by the same author)
Have you considered to just use midnight commander?
Online