Package: python3-pymupdf
Version: 1.25.0+ds1-2
Severity: serious
Hi,
the autopkgtest of pymupdf currently segfaults on arm64, ppc64el and
riscv64. In an attempt to get to the bottom of this I found a minimal reproducer:
python3 -c "import pymupdf,sys; doc=pymupdf,sys; doc=pymupdf.open(sys.argv[1]);doc[0].get_text()" /usr/share/doc/fig2dev/manual.pdf
Which pdf document is opened seems to be irrelevant. It crashed for any that I tried. This makes this bug RC, I think.
I can reproduce the problem in a minimal Debian unstable chroot:
mmdebstrap --include=python3-pymupdf,python3-pymupdf-dbgsym,libmupdf25.1-dbgsym,gdb,fig2dev --customize-hook='env SHELL=/bin/sh chroot "$1" gdb -batch -ex "set logging enabled on" -ex "set pagination off" -ex run -ex "bt full" -ex quit --args python3 -c "
import pymupdf,sys; doc=pymupdf,sys; doc=pymupdf.open(sys.argv[1]);doc[0].get_text()" /usr/share/doc/fig2dev/manual.pdf' unstable /dev/null
http://deb.debian.org/debian "deb
http://deb.debian.org/debian-debug unstable-debug main"
[...]
Program received signal SIGSEGV, Segmentation fault.
0x0000fffff2d13ce8 in mupdf::FzStextPageIterator::FzStextPageIterator (this=0xfffff74b5e6c, item=...) at platform/c++/implementation/classes.cpp:22939
warning: 22939 platform/c++/implementation/classes.cpp: No such file or directory
#0 0x0000fffff2d13ce8 in mupdf::FzStextPageIterator::FzStextPageIterator (this=0xfffff74b5e6c, item=...) at platform/c++/implementation/classes.cpp:22939
No locals.
#1 0x0000fffff2d13d3c in mupdf::FzStextPage::begin (this=this@entry=0x11dd690) at platform/c++/implementation/classes.cpp:22868
ret = {m_item = {m_internal = 0x6665727800000000, static s_num_instances = 1}}
#2 0x0000fffff74ad020 in JM_print_stext_page_as_text (res=..., page=...) at ./src/build/extra.i.cpp:5570
block = {m_internal = 0xfffff7fe6420}
__for_range = @0x11dd690: {m_internal = 0x1196ea8}
__for_begin = {m_item = {m_internal = 0xfffff7fe6430}}
__for_end = {m_item = {m_internal = 0xffffffffe7c0}}
rect = {x0 = <optimized out>, y0 = 0, x1 = <optimized out>, y1 = 792} #3 0x0000fffff74ad320 in _wrap_JM_print_stext_page_as_text (self=<optimized out>, args=<optimized out>) at ./src/build/extra.i.cpp:10767
fail = <optimized out>
resultobj = 0x0
arg1 = 0x11dd560
arg2 = <optimized out>
argp1 = 0x11dd560
res1 = <optimized out>
argp2 = 0x11dd690
res2 = <optimized out>
swig_obj = {0xfffff196af90, 0xfffff196b380}
#4 0x00000000004e924c in ?? ()
No symbol table info available.
#5 0x00000000004a3dc0 in _PyObject_MakeTpCall ()
No symbol table info available.
#6 0x00000000004c1fd4 in _PyEval_EvalFrameDefault ()
No symbol table info available.
#7 0x00000000005d2040 in PyEval_EvalCode ()
No symbol table info available.
#8 0x00000000005fd91c in ?? ()
No symbol table info available.
#9 0x00000000005f7e70 in ?? ()
No symbol table info available.
#10 0x00000000005e6094 in ?? ()
No symbol table info available.
#11 0x00000000005e5e1c in ?? ()
No symbol table info available.
#12 0x00000000006229f8 in Py_RunMain ()
No symbol table info available.
#13 0x00000000005bc188 in Py_BytesMain ()
No symbol table info available.
#14 0x0000fffff7ce229c in ?? () from /lib/aarch64-linux-gnu/libc.so.6
No symbol table info available.
#15 0x0000fffff7ce237c in __libc_start_main () from /lib/aarch64-linux-gnu/libc.so.6
No symbol table info available.
#16 0x00000000005badb0 in _start ()
No symbol table info available.
A debugging session is active.
Inferior 1 [process 4068] will be killed.
Any idea what could be going on?
Thanks!
cheers, josch
--- SoupGate-Win32 v1.05
* Origin: fsxNet Usenet Gateway (21:1/5)