Closed MarcSchoenefeld closed 1 year ago
OS on reproducing insance:
VERSION="22.04.2 LTS (Jammy Jellyfish)"
Linux ****** 5.15.90.1-microsoft-standard-WSL2 #1 SMP Fri Jan 27 02:56:13 UTC 2023 x86_64 x86_64 x86_64 GNU/Linux
There seems to be some endless loop around alloc_image:
Breakpoint 1, __GI___libc_malloc (bytes=616848) at ./malloc/malloc.c:3287
3287 in ./malloc/malloc.c
(gdb) mult
#0 __GI___libc_malloc (bytes=616848) at ./malloc/malloc.c:3287
#1 0x00007ffff7e1b98c in operator new(unsigned long) () from /lib/x86_64-linux-gnu/libstdc++.so.6
#2 0x000055555555f2b5 in alloc_image(unsigned int, unsigned int, unsigned int, unsigned int) ()
#3 0x00005555555efa1a in astcenc_main(int, char**) ()
#4 0x00005555555f4731 in main ()
Breakpoint 1, __GI___libc_malloc (bytes=616848) at ./malloc/malloc.c:3287
3287 in ./malloc/malloc.c
(gdb) mult
#0 __GI___libc_malloc (bytes=616848) at ./malloc/malloc.c:3287
#1 0x00007ffff7e1b98c in operator new(unsigned long) () from /lib/x86_64-linux-gnu/libstdc++.so.6
#2 0x000055555555f2b5 in alloc_image(unsigned int, unsigned int, unsigned int, unsigned int) ()
#3 0x00005555555efa1a in astcenc_main(int, char**) ()
#4 0x00005555555f4731 in main ()
Breakpoint 1, __GI___libc_malloc (bytes=616848) at ./malloc/malloc.c:3287
3287 in ./malloc/malloc.c
(gdb) mult
#0 __GI___libc_malloc (bytes=616848) at ./malloc/malloc.c:3287
#1 0x00007ffff7e1b98c in operator new(unsigned long) () from /lib/x86_64-linux-gnu/libstdc++.so.6
#2 0x000055555555f2b5 in alloc_image(unsigned int, unsigned int, unsigned int, unsigned int) ()
#3 0x00005555555efa1a in astcenc_main(int, char**) ()
#4 0x00005555555f4731 in main ()
Thanks - I've reproduced the issue here.
The problem is caused by a corrupt file header (it's reporting an image dim_z
of 4194304 pixels), so we're trying to allocate a lot of image slices as every slice is allocated separately. It eventually gets killed because it runs out of virtual memory. The bad failstate check is fixed in 3a2cda1 and will be in the 4.6.0 release.
Running build from latest git pull, behavior consistent with binary from current Ubuntu package
Version is
The reproducing bytes: