Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

memory allocation failure with .pgx file #999

Closed
asarubbo opened this issue Aug 18, 2017 · 0 comments
Closed

memory allocation failure with .pgx file #999

asarubbo opened this issue Aug 18, 2017 · 0 comments

Comments

@asarubbo
Copy link

On master, I didn't try on 2.2.0:

# opj_compress -n 1 -i $FILE -o null.j2k
==171751==ERROR: AddressSanitizer failed to allocate 0x9800002000 (652835037184) bytes of LargeMmapAllocator (error code: 12)                                                                                     
==171751==Process memory map follows:                                                                                                                                                                             
        0x000000400000-0x0000005a6000   /usr/bin/opj_compress                                                                                                                                                     
        0x0000007a5000-0x0000007a6000   /usr/bin/opj_compress                                                                                                                                                     
        0x0000007a6000-0x0000007b0000   /usr/bin/opj_compress                                                                                                                                                     
        0x0000007b0000-0x000001425000                                                                                                                                                                             
        0x00007fff7000-0x00008fff7000                                                                                                                                                                             
        0x00008fff7000-0x02008fff7000                                                                                                                                                                             
        0x02008fff7000-0x10007fff8000                                                                                                                                                                             
        0x600000000000-0x604000000000                                                                                                                                                                             
        0x604000000000-0x604000010000                                                                                                                                                                             
        0x604000010000-0x604e00000000                                                                                                                                                                             
        0x604e00000000-0x604e00010000                                                                                                                                                                             
        0x604e00010000-0x606000000000
        0x606000000000-0x606000010000
        0x606000010000-0x606e00000000
        0x606e00000000-0x606e00010000
        0x606e00010000-0x616000000000
        0x616000000000-0x616000010000
        0x616000010000-0x616e00000000
        0x616e00000000-0x616e00010000
        0x616e00010000-0x621000000000
        0x621000000000-0x621000010000
        0x621000010000-0x621e00000000
        0x621e00000000-0x621e00010000
        0x621e00010000-0x640000000000
        0x640000000000-0x640000003000
        0x7ff7b39f7000-0x7ff7b4600000
        0x7ff7b4700000-0x7ff7b4800000
        0x7ff7b4842000-0x7ff7b6b94000
        0x7ff7b6b94000-0x7ff7b6bfc000   /usr/lib64/libjpeg.so.62.2.0
        0x7ff7b6bfc000-0x7ff7b6dfc000   /usr/lib64/libjpeg.so.62.2.0
        0x7ff7b6dfc000-0x7ff7b6dfd000   /usr/lib64/libjpeg.so.62.2.0
        0x7ff7b6dfd000-0x7ff7b6dfe000   /usr/lib64/libjpeg.so.62.2.0
        0x7ff7b6dfe000-0x7ff7b6e07000   /usr/lib64/libjbig.so
        0x7ff7b6e07000-0x7ff7b7006000   /usr/lib64/libjbig.so
        0x7ff7b7006000-0x7ff7b7007000   /usr/lib64/libjbig.so
        0x7ff7b7007000-0x7ff7b700a000   /usr/lib64/libjbig.so
        0x7ff7b700a000-0x7ff7b702e000   /lib64/liblzma.so.5.2.3
        0x7ff7b702e000-0x7ff7b722e000   /lib64/liblzma.so.5.2.3
        0x7ff7b722e000-0x7ff7b722f000   /lib64/liblzma.so.5.2.3
        0x7ff7b722f000-0x7ff7b7230000   /lib64/liblzma.so.5.2.3
        0x7ff7b7230000-0x7ff7b7246000   /lib64/libz.so.1.2.11
        0x7ff7b7246000-0x7ff7b7445000   /lib64/libz.so.1.2.11
        0x7ff7b7445000-0x7ff7b7446000   /lib64/libz.so.1.2.11
        0x7ff7b7446000-0x7ff7b7447000   /lib64/libz.so.1.2.11
        0x7ff7b7447000-0x7ff7b75d6000   /lib64/libc-2.23.so
        0x7ff7b75d6000-0x7ff7b77d6000   /lib64/libc-2.23.so
        0x7ff7b77d6000-0x7ff7b77da000   /lib64/libc-2.23.so
        0x7ff7b77da000-0x7ff7b77dc000   /lib64/libc-2.23.so
        0x7ff7b77dc000-0x7ff7b77e0000
        0x7ff7b77e0000-0x7ff7b77f6000   /usr/lib64/gcc/x86_64-pc-linux-gnu/6.3.0/libgcc_s.so.1
        0x7ff7b77f6000-0x7ff7b79f5000   /usr/lib64/gcc/x86_64-pc-linux-gnu/6.3.0/libgcc_s.so.1
        0x7ff7b79f5000-0x7ff7b79f6000   /usr/lib64/gcc/x86_64-pc-linux-gnu/6.3.0/libgcc_s.so.1
        0x7ff7b79f6000-0x7ff7b79f7000   /usr/lib64/gcc/x86_64-pc-linux-gnu/6.3.0/libgcc_s.so.1
        0x7ff7b79f7000-0x7ff7b79f9000   /lib64/libdl-2.23.so
        0x7ff7b79f9000-0x7ff7b7bf9000   /lib64/libdl-2.23.so
        0x7ff7b7bf9000-0x7ff7b7bfa000   /lib64/libdl-2.23.so
        0x7ff7b7bfa000-0x7ff7b7bfb000   /lib64/libdl-2.23.so
        0x7ff7b7bfb000-0x7ff7b7c12000   /lib64/libpthread-2.23.so
        0x7ff7b7c12000-0x7ff7b7e11000   /lib64/libpthread-2.23.so
        0x7ff7b7e11000-0x7ff7b7e12000   /lib64/libpthread-2.23.so
        0x7ff7b7e12000-0x7ff7b7e13000   /lib64/libpthread-2.23.so
        0x7ff7b7e13000-0x7ff7b7e17000
        0x7ff7b7e17000-0x7ff7b7e1d000   /lib64/librt-2.23.so
        0x7ff7b7e1d000-0x7ff7b801d000   /lib64/librt-2.23.so
        0x7ff7b801d000-0x7ff7b801e000   /lib64/librt-2.23.so
        0x7ff7b801e000-0x7ff7b801f000   /lib64/librt-2.23.so
        0x7ff7b801f000-0x7ff7b8121000   /lib64/libm-2.23.so
        0x7ff7b8121000-0x7ff7b8320000   /lib64/libm-2.23.so
        0x7ff7b8320000-0x7ff7b8321000   /lib64/libm-2.23.so
        0x7ff7b8321000-0x7ff7b8322000   /lib64/libm-2.23.so
        0x7ff7b8322000-0x7ff7b8377000   /usr/lib64/liblcms2.so.2.0.8
        0x7ff7b8377000-0x7ff7b8576000   /usr/lib64/liblcms2.so.2.0.8
        0x7ff7b8576000-0x7ff7b8577000   /usr/lib64/liblcms2.so.2.0.8
        0x7ff7b8577000-0x7ff7b857c000   /usr/lib64/liblcms2.so.2.0.8
        0x7ff7b857c000-0x7ff7b85ef000   /usr/lib64/libtiff.so.5.2.6
        0x7ff7b85ef000-0x7ff7b87ee000   /usr/lib64/libtiff.so.5.2.6
        0x7ff7b87ee000-0x7ff7b87f2000   /usr/lib64/libtiff.so.5.2.6
        0x7ff7b87f2000-0x7ff7b87f3000   /usr/lib64/libtiff.so.5.2.6
        0x7ff7b87f3000-0x7ff7b8825000   /usr/lib64/libpng16.so.16.29.0
        0x7ff7b8825000-0x7ff7b8a24000   /usr/lib64/libpng16.so.16.29.0
        0x7ff7b8a24000-0x7ff7b8a25000   /usr/lib64/libpng16.so.16.29.0
        0x7ff7b8a25000-0x7ff7b8a26000   /usr/lib64/libpng16.so.16.29.0
        0x7ff7b8a26000-0x7ff7b8b8e000   /usr/lib64/libopenjp2.so.2.2.0
        0x7ff7b8b8e000-0x7ff7b8d8d000   /usr/lib64/libopenjp2.so.2.2.0
        0x7ff7b8d8d000-0x7ff7b8d90000   /usr/lib64/libopenjp2.so.2.2.0
        0x7ff7b8d90000-0x7ff7b8d97000   /usr/lib64/libopenjp2.so.2.2.0
        0x7ff7b8d97000-0x7ff7b8dbb000   /lib64/ld-2.23.so
        0x7ff7b8e30000-0x7ff7b8fac000
        0x7ff7b8fac000-0x7ff7b8fba000
        0x7ff7b8fba000-0x7ff7b8fbb000   /lib64/ld-2.23.so
        0x7ff7b8fbb000-0x7ff7b8fbc000   /lib64/ld-2.23.so
        0x7ff7b8fbc000-0x7ff7b8fbd000
        0x7ffc09da2000-0x7ffc09dc3000   [stack]
        0x7ffc09dcd000-0x7ffc09dcf000   [vdso]
        0x7ffc09dcf000-0x7ffc09dd1000   [vvar]
        0xffffffffff600000-0xffffffffff601000   [vsyscall]
==171751==End of process memory map.
==171751==AddressSanitizer CHECK failed: /var/tmp/portage/sys-libs/compiler-rt-sanitizers-4.0.1/work/compiler-rt-4.0.1.src/lib/sanitizer_common/sanitizer_common.cc:120 "((0 && "unable to mmap")) != (0)" (0x0, 0x0)
    #0 0x4db5af in AsanCheckFailed /var/tmp/portage/sys-libs/compiler-rt-sanitizers-4.0.1/work/compiler-rt-4.0.1.src/lib/asan/asan_rtl.cc:69
    #1 0x4f6315 in __sanitizer::CheckFailed(char const*, int, char const*, unsigned long long, unsigned long long) /var/tmp/portage/sys-libs/compiler-rt-sanitizers-4.0.1/work/compiler-rt-4.0.1.src/lib/sanitizer_common/sanitizer_termination.cc:79
    #2 0x4e5942 in __sanitizer::ReportMmapFailureAndDie(unsigned long, char const*, char const*, int, bool) /var/tmp/portage/sys-libs/compiler-rt-sanitizers-4.0.1/work/compiler-rt-4.0.1.src/lib/sanitizer_common/sanitizer_common.cc:120
    #3 0x4ef245 in __sanitizer::MmapOrDie(unsigned long, char const*, bool) /var/tmp/portage/sys-libs/compiler-rt-sanitizers-4.0.1/work/compiler-rt-4.0.1.src/lib/sanitizer_common/sanitizer_posix.cc:132
    #4 0x426c4a in __sanitizer::LargeMmapAllocator<__asan::AsanMapUnmapCallback>::Allocate(__sanitizer::AllocatorStats*, unsigned long, unsigned long) /var/tmp/portage/sys-libs/compiler-rt-sanitizers-4.0.1/work/compiler-rt-4.0.1.src/lib/asan/../sanitizer_common/sanitizer_allocator_secondary.h:41
    #5 0x426c4a in __sanitizer::CombinedAllocator<__sanitizer::SizeClassAllocator64<__asan::AP64>, __sanitizer::SizeClassAllocatorLocalCache<__sanitizer::SizeClassAllocator64<__asan::AP64> >, __sanitizer::LargeMmapAllocator<__asan::AsanMapUnmapCallback> >::Allocate(__sanitizer::SizeClassAllocatorLocalCache<__sanitizer::SizeClassAllocator64<__asan::AP64> >*, unsigned long, unsigned long, bool, bool) /var/tmp/portage/sys-libs/compiler-rt-sanitizers-4.0.1/work/compiler-rt-4.0.1.src/lib/asan/../sanitizer_common/sanitizer_allocator_combined.h:70
    #6 0x426c4a in __asan::Allocator::Allocate(unsigned long, unsigned long, __sanitizer::BufferedStackTrace*, __asan::AllocType, bool) /var/tmp/portage/sys-libs/compiler-rt-sanitizers-4.0.1/work/compiler-rt-4.0.1.src/lib/asan/asan_allocator.cc:407
    #7 0x42132d in __asan::asan_posix_memalign(void**, unsigned long, unsigned long, __sanitizer::BufferedStackTrace*) /var/tmp/portage/sys-libs/compiler-rt-sanitizers-4.0.1/work/compiler-rt-4.0.1.src/lib/asan/asan_allocator.cc:815
    #8 0x4d200d in __interceptor_posix_memalign /var/tmp/portage/sys-libs/compiler-rt-sanitizers-4.0.1/work/compiler-rt-4.0.1.src/lib/asan/asan_malloc_linux.cc:144
    #9 0x7ff7b8b7c594 in opj_aligned_alloc_n /var/tmp/portage/media-libs/openjpeg-9999/work/openjpeg-9999/src/lib/openjp2/opj_malloc.c:61:9
    #10 0x7ff7b8b7c594 in opj_aligned_malloc /var/tmp/portage/media-libs/openjpeg-9999/work/openjpeg-9999/src/lib/openjp2/opj_malloc.c:209
    #11 0x7ff7b8a5fec9 in opj_image_create /var/tmp/portage/media-libs/openjpeg-9999/work/openjpeg-9999/src/lib/openjp2/image.c:77:39
    #12 0x525a27 in pgxtoimage /var/tmp/portage/media-libs/openjpeg-9999/work/openjpeg-9999/src/bin/jp2/convert.c:1253:13
    #13 0x50b520 in main /var/tmp/portage/media-libs/openjpeg-9999/work/openjpeg-9999/src/bin/jp2/opj_compress.c:1831:21
    #14 0x7ff7b7467680 in __libc_start_main /var/tmp/portage/sys-libs/glibc-2.23-r4/work/glibc-2.23/csu/../csu/libc-start.c:289
    #15 0x41bc18 in _start (/usr/bin/opj_compress+0x41bc18)

Testcase:
https://github.com/asarubbo/poc/blob/master/00328-openjpeg-memallocfailure-opj_aligned_alloc_n

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants