ahgamut / superconfigure

wrap autotools configure scripts to build with Cosmopolitan Libc
The Unlicense
159 stars 22 forks source link

`pigz` decompress failing #38

Open block-01 opened 1 month ago

block-01 commented 1 month ago

Hi, I'm working with pigz and have come across an error when decompressing files, compression still works however decompression doesn't. The error that I get is pigz: abort: internal error. When adding the -v argument to the command I get the error Segmentation fault (core dumped)

The oldest version that I've found to work is z0.0.33 Reproduce:

curl -sLf https://github.com/ahgamut/superconfigure/releases/download/z0.0.39/compress.zip -o compress.zip 
unzip compress.zip 
echo "Hello, world" > hello-world.txt 
./bin/pigz hello-world.txt
./bin/pigz -cdkv hello-world.txt.gz --stdout > hello-world.txt~
ahgamut commented 1 month ago

can you mention the OS/arch you are trying this on? Also, what happen if you add --strace as a command line parameter when running this command?

block-01 commented 1 month ago

I ran this on an X86 Ubuntu 22.04 Laptop.

When running --strace I got

SYS      0      0             18'633 bell system five system call support 4'140'979'208 magnums loaded on gnu/systemd
SYS  14844  14844             44'672 getcwd([u"/home/---/Documents/Test/test"], 1'023) → 35
SYS  14844  14844             50'990 getenv("COSMOPOLITAN_DISABLE_ZIPOS") → NULL
SYS  14844  14844             52'824 getenv("COSMOPOLITAN_INIT_ZIPOS") → NULL
SYS  14844  14844             54'150 issetugid() → 0
SYS  14844  14844             55'522 GetProgramExecutableName() → "/home/---/Documents/Test/test/bin/pigz"
SYS  14844  14844             61'332 openat(AT_FDCWD, "/home/---/Documents/Test/test/bin/pigz", O_RDONLY) → 3
SYS  14844  14844             65'730 fstat(3, [{.st_size=1'098'510, .st_blocks=1'101'824/512, .st_mode=0100755, .st_uid=57775, .st_gid=40647, .st_dev=0xfc01, .st_ino=0x50481b}]) → 0
SYS  14844  14844             73'965 mmap(0, 1'098'510, PROT_READ, MAP_SHARED, 3, 0) → 0x100080100000 (1'179'648 bytes total)
SYS  14844  14844             90'293 munmap(0x100080100000, 983'040) → 0 (196'608 bytes total)
SYS  14844  14844             97'087 madvise(0x1000801fc000, 65'536, 4) → 0
SYS  14844  14844            101'257 mmap(0, 144, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) → 0x100080040000 (262'144 bytes total)
SYS  14844  14844            110'667 close(3) → 0
SYS  14844  14844            112'044 __zipos_get("/home/---/Documents/Test/test/bin/pigz") → 0
SYS  14844  14844            117'430 mmap(0, 131'072, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) → 0x100080060000 (393'216 bytes total)
SYS  14844  14844            971'570 inflate([u"SYMT☺   P◘        ☻       ☻       @     "...], 131'072, u"∞▌wxUσ☺8■↨Ö«↕‘8íZ♣↨♦↨X•Q@@A“`í«$$7CÆ▄k♠½"..., 28'798) → 0
SYS  14844  14844            975'396 GetSymbolTableFromZip() → 0x100080060000
SYS  14844  14844            976'847 getenv("TERM") → "xterm-256color"
SYS  14844  14844            993'265 mmap(0, 65'536, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) → 0x100080050000 (458'752 bytes total)
SYS  14844  14844          1'000'059 sigaction(SIGINT, {.sa_handler=&cut_short, .sa_flags=SA_RESTART}, [{.sa_handler=SIG_DFL}]) → 0
SYS  14844  14844          1'006'942 getenv("GZIP") → NULL
SYS  14844  14844          1'008'421 getenv("PIGZ") → NULL
SYS  14844  14844          1'014'012 fstatat(AT_FDCWD, "hello-world.txt.gz", [{.st_size=49, .st_blocks=4'096/512, .st_mode=0100664, .st_uid=57775, .st_gid=40647, .st_dev=0xfc01, .st_ino=0x505584}], AT_SYMLINK_NOFOLLOW) → 0
SYS  14844  14844          1'018'702 openat(AT_FDCWD, "hello-world.txt.gz", O_RDONLY) → 3
SYS  14844  14844          1'028'960 mmap(0, 262'144, PROT_READ|PROT_WRITE, MAP_STACK|MAP_ANONYMOUS, -1, 0) → 0x100080080000 (720'896 bytes total)
SYS  14844  14844          1'052'186 pthread_create([14846], 0x7ffdf6d24e00, &ignition, 0x100080050470) → 0
SYS  14844  14846          1'072'492 nsync_yield_()
SYS  14844  14846          1'079'713 read(3, [u"▼ï◘◘∟┼Lf ♥hello-world.txt ≤H═╔╔╫Q(╧/╩Iß☻"...], 32'768) → 49
SYS  14844  14846          1'083'122 read(3, [u""], 32'719) → 0
SYS  14844  14846          1'087'275 futex(&6fc000040008 [1], FUTEX_WAKE_PRIVATE, 1) → 1 woken
SYS  14844  14846          1'089'923 pthread_exit(0)
SYS  14844  14844          1'090'826 futex(&6fc000040008 [1], FUTEX_WAIT_BITSET_PRIVATE|FUTEX_CLOCK_REALTIME, 0, NULL) → 0
SYS  14844  14844          1'103'446 munmap(0x100080080000, 262'144) → 0 (524'288 bytes total)
SYS  14844  14844          1'105'757 pthread_timedjoin_np(14846, NULL, NULL) → 0
hello-world.txt.gz to <stdout> SYS  14844  14844          1'113'454 writev(2, {{u"", 0}, {u"hello-world.txt.gz to <stdout> ", 31}}, 2) → 31
Segmentation fault (core dumped)
block-01 commented 1 month ago

Sorry I forgot to mention that we also run it in a GitLab CI with a runner running on arm64, This is where I first identified the issue, however as for the OS that the server runs I don't know what it runs except for that it's a AWS server so it's likely a Linux distro of some sort. CI log