Package: djvulibre-bin Version: 3.5.28-2 It seems ddjvu can hang forever in some out-of-memory situations. For example, setting the virtual memory limit to 32 MiB makes it hang:
$ ulimit -Sv 32000 $ ddjvu /usr/share/doc/libdjvulibre-dev/djvu3spec.djvu > /dev/null Backtrace: #0 0xf7f91559 in __kernel_vsyscall () #1 0xf7b0f6e2 in __libc_do_syscall () at ../sysdeps/unix/sysv/linux/i386/libc-do-syscall.S:39 #2 0xf7a80491 in __futex_abstimed_wait_common32 (private=<optimized out>, cancel=<optimized out>, abstime=<optimized out>, op=<optimized out>, expected=<optimized out>, futex_word=<optimized out>) at ./nptl/futex-internal.c:40 #3 __futex_abstimed_wait_common (futex_word=0x56b5f108, expected=0, clockid=<optimized out>, abstime=0x0, private=0, cancel=true) at ./nptl/futex-internal.c:99 #4 0xf7a8060b in __GI___futex_abstimed_wait_cancelable64 (futex_word=<optimized out>, expected=<optimized out>, clockid=<optimized out>, abstime=0x0, private=0) at ./nptl/futex-internal.c:139 #5 0xf7a83627 in __pthread_cond_wait_common (abstime=<optimized out>, clockid=<optimized out>, mutex=<optimized out>, cond=<optimized out>) at ./nptl/pthread_cond_wait.c:504 #6 ___pthread_cond_wait (cond=cond@entry=0x56b5f0dc, mutex=mutex@entry=0x56b5f0c4) at ./nptl/pthread_cond_wait.c:619 #7 0xf7ec653d in DJVU::GMonitor::wait (this=this@entry=0x56b5f0b8) at GThreads.cpp:578 #8 0xf7f03eaa in ddjvu_message_wait (ctx=0x56b5f0b0) at ddjvuapi.cpp:733 #9 0x565c8963 in handle (wait=1) at ddjvu.cpp:164 #10 dopage (pageno=1) at ddjvu.cpp:739 #11 0x565c8d36 in parse_pagespec (s=0x565d8e12 "1", max_page=71, dopage=dopage@entry=0x565c8890 <dopage(int)>) at ddjvu.cpp:828 #12 0x565c68c4 in main (argc=2, argv=0xffa3e9e4) at ddjvu.cpp:1217 -- System Information: Architecture: i386 Versions of packages djvulibre-bin depends on: ii libc6 2.34-4 ii libdjvulibre21 3.5.28-2 ii libgcc-s1 12.1.0-8 ii libstdc++6 12.1.0-8 ii libtiff5 4.4.0-4 ii curl 7.84.0-2 -- Jakub Wilk