Skip to content

Importing pymupdf make pillow segmentation fault for converting jp2 file on ArchLinux #4762

@mamome2021

Description

@mamome2021

Description of the bug

I get Segmentation fault (core dumped) python test.py when I run a python script to convert jp2 to png with python-pillow. This only happens if python-pillow and python-pymupdf is installed from Arch repository, does not happen if I install them from pip. Also if I remove import pymupdf or import pymupdf after importing PIL, no error happens.

Issue in Pillow: python-pillow/Pillow#9267
Issue in ArchLinux: https://gitlab.archlinux.org/archlinux/packaging/packages/python-pillow/-/issues/4

Stack trace:

Program received signal SIGSEGV, Segmentation fault.
0x00007f41ad6b6402 in ?? () from /usr/lib/libmupdf.so.26.10

Thread 1 (Thread 0x7f41b10e1bc0 (LWP 704) "python"):
#0  0x00007f41ad6b6402 in ?? () from /usr/lib/libmupdf.so.26.10
No symbol table info available.
#1  0x00007f41ad6b9d2a in fz_calloc_no_throw () from /usr/lib/libmupdf.so.26.10
No symbol table info available.
#2  0x00007f41accdafd7 in opj_stream_create (p_buffer_size=p_buffer_size@entry=1048576, l_is_input=l_is_input@entry=1) at /usr/src/debug/openjpeg2/openjpeg-2.5.4/src/lib/openjp2/cio.c:162
        l_stream = 0x0
#3  0x00007f41a7ccfa52 in j2k_decode_entry (im=0x556a332c6c10, state=0x7f419e5ec440) at src/libImaging/Jpeg2KDecode.c:649
        context = 0x556a33970620
        stream = 0x0
        image = 0x0
        codec = 0x0
        params = {cp_reduce = 3423896503, cp_layer = 1769372142, infile = "@3\306g\374\177\000\000\3402\306g\374\177\000\000\001\000\000\000\b\000\000\000\267\203\324\314\356yvi\000\000\000\000\000\000\000\000\2402\306g\374\177\000\000\000\000\000\000\000\000\000\000\267\203\224\314\356yvi\b\000\000\000\000\000\000\000\b", '\000' <repeats 23 times>, "pr\0343jU\000\000\3009\306g\374\177\000\000\345㛱A\177\000\000\001\000\000\000A\177\000\000\240]\237\261A\177\000\000\000\000\000\000\000\000\000\000\243ܛ\261A\177\000\000\001\000\000\000A\177\000\000`\252\232\261A\177\000\000\2203\306g\374\177\000\000\243ܛ\261A\177\000\000\001\000\000\000A\177\000\000p\257G3jU\000\000\2603\306g"..., outfile = "\000\236\364\026\377\274\221\350\377\377\377\377\000\000\003\000\240\304ӧA\177\000\000\360m\223\261A\177\000\000p\213\000\261A\177\000\000\000\000\000\000\000\000\000\000\240\304ӧA\177\000\000\220C\306g\374\177\000\000\226\274Z\261A\177\000\000\000\000\000\000\000\000\000\000`\365`\236A\177\000\000 D\306g\374\177\000\000\000\236\364\026\377\274\221\350\001\000\000\000\000\000\000\000@j`\236A\177\000\000\240T\306g\374\177\000\000\261\aV\261A\177\000\0000D\306g\374\177\000\000\001", '\000' <repeats 15 times>, "P\214̨A\177\000\000\202\351\322\317cw\203\n\000\236\364\026\377\274\221\350\000\000\000\000A\177\000\000\002\000\000\000\000\000\000\000XL\306"..., decod_format = -1637956576, cod_format = 32577, DA_x0 = 2979717928, DA_x1 = 32577, DA_y0 = 2657154960, DA_y1 = 32577, m_verbose = 1741050896, tile_index = 32764, nb_tile_to_decode = 2975229324, jpwl_correct = 32577, jpwl_exp_comps = 24, jpwl_max_tiles = 48, flags = 1741050912}
        color_space = <optimized out>
        unpack = 0x0
        tile_bytes = 0
        n = <optimized out>
        tile_height = <optimized out>
        tile_width = <optimized out>
        subsampling = <optimized out>
        total_component_width = 0
        quick_exit = <optimized out>
#4  0x00007f41a7cd00b0 in ImagingJpeg2KDecode (buf=<optimized out>, bytes=<optimized out>, im=<optimized out>, state=<optimized out>) at src/libImaging/Jpeg2KDecode.c:948
No locals.
#5  ImagingJpeg2KDecode (im=<optimized out>, state=<optimized out>, buf=<optimized out>, bytes=<optimized out>) at src/libImaging/Jpeg2KDecode.c:934
No locals.
#6  0x00007f41a7ca45cc in _decode (decoder=0x7f419e5ec420, args=<optimized out>) at src/decode.c:132
        buffer = {buf = 0x7f41b18f7350 <_PyRuntime+22256>, obj = 0x7f41b18f7330 <_PyRuntime+22224>, len = 0, itemsize = 1, readonly = 1, ndim = 1, format = 0x0, shape = 0x0, strides = 0x0, suboffsets = 0x0, internal = 0x0}
        status = <optimized out>
        cookie = 0xe891bcff16f49e00
#7  0x00007f41b161eca7 in method_vectorcall_VARARGS (func=0x7f419e60f6a0, args=0x7f41b19ae328, nargsf=<optimized out>, kwnames=<optimized out>) at Objects/descrobject.c:324
        tstate = <optimized out>
        nargs = <optimized out>
        argstuple = <optimized out>
        meth = <optimized out>
        result = <optimized out>
#8  0x00007f41b15685bd in _PyObject_VectorcallTstate (tstate=0x7f41b1936df0 <_PyRuntime+283024>, callable=0x7f419e60f6a0, args=0x7f41b19ae328, nargsf=9223372036854775810, kwnames=0x0) at ./Include/internal/pycore_call.h:168
        func = <optimized out>
        res = <optimized out>
        nargs = <optimized out>
#9  PyObject_Vectorcall (callable=0x7f419e60f6a0, args=0x7f41b19ae328, nargsf=9223372036854775810, kwnames=0x0) at Objects/call.c:327
        tstate = 0x7f41b1936df0 <_PyRuntime+283024>
#10 0x00007f41b157a97a in _PyEval_EvalFrameDefault (tstate=<optimized out>, frame=<optimized out>, throwflag=<optimized out>) at Python/generated_cases.c.h:813
        total_args = <optimized out>
        self_or_null = <optimized out>
        callable = 0x7f419e60f6a0
        this_instr = <optimized out>
        args = 0x7f41b19ae328
        res = <optimized out>
        opcode = <optimized out>
        oparg = <optimized out>
        entry_frame = {f_executable = 0x7f41b18e9150 <_Py_NoneStruct>, previous = 0x0, f_funcobj = 0x7ffc67c656d0, f_globals = 0x7f41b0e5c080, f_builtins = 0x7f41b18fbd58 <_PyRuntime+41208>, f_locals = 0x7f41b0e5c080, frame_obj = 0x7ffc67c65720, instr_ptr = 0x7f41b17d5482 <_Py_INTERPRETER_TRAMPOLINE_INSTRUCTIONS+2>, stacktop = 0, return_offset = 0, owner = 3 '\003', localsplus = {0x7f41b1936df0 <_PyRuntime+283024>}}
        next_instr = <optimized out>
        stack_pointer = <optimized out>
        exception_unwind = <optimized out>
        dying = <optimized out>
        __func__ = "_PyEval_EvalFrameDefault"
        opcode_targets = {0x7f41b14580b1 <_PyEval_EvalFrameDefault-1173487>, 0x7f41b1455986 <_PyEval_EvalFrameDefault-1183514>, 0x7f41b157c978 <_PyEval_EvalFrameDefault+24792>, 0x7f41b157cc3d <_PyEval_EvalFrameDefault+25501>, 0x7f41b157ace6 <_PyEval_EvalFrameDefault+17478>, 0x7f41b15795f3 <_PyEval_EvalFrameDefault+11603>, 0x7f41b1453578 <_PyEval_EvalFrameDefault-1192744>, 0x7f41b157c2f5 <_PyEval_EvalFrameDefault+23125>, 0x7f41b157df6b <_PyEval_EvalFrameDefault+30411>, 0x7f41b157c618 <_PyEval_EvalFrameDefault+23928>, 0x7f41b145677c <_PyEval_EvalFrameDefault-1179940>, 0x7f41b157e4d4 <_PyEval_EvalFrameDefault+31796>, 0x7f41b157d9d4 <_PyEval_EvalFrameDefault+28980>, 0x7f41b157cd9e <_PyEval_EvalFrameDefault+25854>, 0x7f41b157c6f3 <_PyEval_EvalFrameDefault+24147>, 0x7f41b157cd10 <_PyEval_EvalFrameDefault+25712>, 0x7f41b1459056 <_PyEval_EvalFrameDefault-1169482>, 0x7f41b14545b4 <_PyEval_EvalFrameDefault-1188588>, 0x7f41b1458f7a <_PyEval_EvalFrameDefault-1169702>, 0x7f41b1579899 <_PyEval_EvalFrameDefault+12281>, 0x7f41b157ea7d <_PyEval_EvalFrameDefault+33245>, 0x7f41b157e9f2 <_PyEval_EvalFrameDefault+33106>, 0x7f41b157734c <_PyEval_EvalFrameDefault+2732>, 0x7f41b1457da1 <_PyEval_EvalFrameDefault-1174271>, 0x7f41b157eb66 <_PyEval_EvalFrameDefault+33478>, 0x7f41b157e488 <_PyEval_EvalFrameDefault+31720>, 0x7f41b157bf69 <_PyEval_EvalFrameDefault+22217>, 0x7f41b157f2d4 <_PyEval_EvalFrameDefault+35380>, 0x7f41b157f281 <_PyEval_EvalFrameDefault+35297>, 0x7f41b157d981 <_PyEval_EvalFrameDefault+28897>, 0x7f41b15795c5 <_PyEval_EvalFrameDefault+11557>, 0x7f41b157bdeb <_PyEval_EvalFrameDefault+21835>, 0x7f41b15770b5 <_PyEval_EvalFrameDefault+2069>, 0x7f41b157c165 <_PyEval_EvalFrameDefault+22725>, 0x7f41b1576cfe <_PyEval_EvalFrameDefault+1118>, 0x7f41b157c03b <_PyEval_EvalFrameDefault+22427>, 0x7f41b15772c2 <_PyEval_EvalFrameDefault+2594>, 0x7f41b157da43 <_PyEval_EvalFrameDefault+29091>, 0x7f41b157ca9f <_PyEval_EvalFrameDefault+25087>, 0x7f41b157b366 <_PyEval_EvalFrameDefault+19142>, 0x7f41b157937e <_PyEval_EvalFrameDefault+10974>, 0x7f41b157e130 <_PyEval_EvalFrameDefault+30864>, 0x7f41b157c51d <_PyEval_EvalFrameDefault+23677>, 0x7f41b157c57d <_PyEval_EvalFrameDefault+23773>, 0x7f41b157e373 <_PyEval_EvalFrameDefault+31443>, 0x7f41b157791a <_PyEval_EvalFrameDefault+4218>, 0x7f41b157e287 <_PyEval_EvalFrameDefault+31207>, 0x7f41b157ab97 <_PyEval_EvalFrameDefault+17143>, 0x7f41b157a507 <_PyEval_EvalFrameDefault+15463>, 0x7f41b157deb6 <_PyEval_EvalFrameDefault+30230>, 0x7f41b157d3df <_PyEval_EvalFrameDefault+27455>, 0x7f41b157c7f7 <_PyEval_EvalFrameDefault+24407>, 0x7f41b15796cc <_PyEval_EvalFrameDefault+11820>, 0x7f41b157a898 <_PyEval_EvalFrameDefault+16376>, 0x7f41b157bbfc <_PyEval_EvalFrameDefault+21340>, 0x7f41b157e959 <_PyEval_EvalFrameDefault+32953>, 0x7f41b157e8bd <_PyEval_EvalFrameDefault+32797>, 0x7f41b157942a <_PyEval_EvalFrameDefault+11146>, 0x7f41b15787d8 <_PyEval_EvalFrameDefault+7992>, 0x7f41b1579add <_PyEval_EvalFrameDefault+12861>, 0x7f41b157d58b <_PyEval_EvalFrameDefault+27883>, 0x7f41b15785e5 <_PyEval_EvalFrameDefault+7493>, 0x7f41b1577cdf <_PyEval_EvalFrameDefault+5183>, 0x7f41b157bb81 <_PyEval_EvalFrameDefault+21217>, 0x7f41b157e516 <_PyEval_EvalFrameDefault+31862>, 0x7f41b157dffb <_PyEval_EvalFrameDefault+30555>, 0x7f41b1458594 <_PyEval_EvalFrameDefault-1172236>, 0x7f41b157e41d <_PyEval_EvalFrameDefault+31613>, 0x7f41b157c3dc <_PyEval_EvalFrameDefault+23356>, 0x7f41b157e1f5 <_PyEval_EvalFrameDefault+31061>, 0x7f41b1454b0a <_PyEval_EvalFrameDefault-1187222>, 0x7f41b157a252 <_PyEval_EvalFrameDefault+14770>, 0x7f41b15776ae <_PyEval_EvalFrameDefault+3598>, 0x7f41b157ead7 <_PyEval_EvalFrameDefault+33335>, 0x7f41b157ed38 <_PyEval_EvalFrameDefault+33944>, 0x7f41b157daff <_PyEval_EvalFrameDefault+29279>, 0x7f41b1578631 <_PyEval_EvalFrameDefault+7569>, 0x7f41b1576d39 <_PyEval_EvalFrameDefault+1177>, 0x7f41b157a5af <_PyEval_EvalFrameDefault+15631>, 0x7f41b1579dff <_PyEval_EvalFrameDefault+13663>, 0x7f41b15780da <_PyEval_EvalFrameDefault+6202>, 0x7f41b157dd3e <_PyEval_EvalFrameDefault+29854>, 0x7f41b1577af0 <_PyEval_EvalFrameDefault+4688>, 0x7f41b1576a6e <_PyEval_EvalFrameDefault+462>, 0x7f41b1577658 <_PyEval_EvalFrameDefault+3512>, 0x7f41b157699b <_PyEval_EvalFrameDefault+251>, 0x7f41b157bd9f <_PyEval_EvalFrameDefault+21759>, 0x7f41b157d5fe <_PyEval_EvalFrameDefault+27998>, 0x7f41b1576abe <_PyEval_EvalFrameDefault+542>, 0x7f41b157f00c <_PyEval_EvalFrameDefault+34668>, 0x7f41b14554e7 <_PyEval_EvalFrameDefault-1184697>, 0x7f41b157d64e <_PyEval_EvalFrameDefault+28078>, 0x7f41b157c8ef <_PyEval_EvalFrameDefault+24655>, 0x7f41b157f0ce <_PyEval_EvalFrameDefault+34862>, 0x7f41b157be6f <_PyEval_EvalFrameDefault+21967>, 0x7f41b157d758 <_PyEval_EvalFrameDefault+28344>, 0x7f41b157ef4a <_PyEval_EvalFrameDefault+34474>, 0x7f41b1576c40 <_PyEval_EvalFrameDefault+928>, 0x7f41b1578bf7 <_PyEval_EvalFrameDefault+9047>, 0x7f41b1578765 <_PyEval_EvalFrameDefault+7877>, 0x7f41b1576c9f <_PyEval_EvalFrameDefault+1023>, 0x7f41b157dc68 <_PyEval_EvalFrameDefault+29640>, 0x7f41b157cde2 <_PyEval_EvalFrameDefault+25922>, 0x7f41b1576f6f <_PyEval_EvalFrameDefault+1743>, 0x7f41b157aa7b <_PyEval_EvalFrameDefault+16859>, 0x7f41b157ae3f <_PyEval_EvalFrameDefault+17823>, 0x7f41b157c5c9 <_PyEval_EvalFrameDefault+23849>, 0x7f41b157de3d <_PyEval_EvalFrameDefault+30109>, 0x7f41b157ac00 <_PyEval_EvalFrameDefault+17248>, 0x7f41b157c693 <_PyEval_EvalFrameDefault+24051>, 0x7f41b15769e7 <_PyEval_EvalFrameDefault+327>, 0x7f41b1577f51 <_PyEval_EvalFrameDefault+5809>, 0x7f41b15784da <_PyEval_EvalFrameDefault+7226>, 0x7f41b157e7a9 <_PyEval_EvalFrameDefault+32521>, 0x7f41b157c483 <_PyEval_EvalFrameDefault+23523>, 0x7f41b1578f95 <_PyEval_EvalFrameDefault+9973>, 0x7f41b157ddb3 <_PyEval_EvalFrameDefault+29971>, 0x7f41b157e057 <_PyEval_EvalFrameDefault+30647>, 0x7f41b1578d8a <_PyEval_EvalFrameDefault+9450>, 0x7f41b1458516 <_PyEval_EvalFrameDefault-1172362> <repeats 30 times>, 0x7f41b157a791 <_PyEval_EvalFrameDefault+16113>, 0x7f41b157b063 <_PyEval_EvalFrameDefault+18371>, 0x7f41b15782ca <_PyEval_EvalFrameDefault+6698>, 0x7f41b157b286 <_PyEval_EvalFrameDefault+18918>, 0x7f41b1577c4f <_PyEval_EvalFrameDefault+5039>, 0x7f41b1579a2f <_PyEval_EvalFrameDefault+12687>, 0x7f41b157a181 <_PyEval_EvalFrameDefault+14561>, 0x7f41b1578a91 <_PyEval_EvalFrameDefault+8689>, 0x7f41b157a3f3 <_PyEval_EvalFrameDefault+15187>, 0x7f41b157d824 <_PyEval_EvalFrameDefault+28548>, 0x7f41b1578b3f <_PyEval_EvalFrameDefault+8863>, 0x7f41b157836f <_PyEval_EvalFrameDefault+6863>, 0x7f41b157b0f8 <_PyEval_EvalFrameDefault+18520>, 0x7f41b157d0c1 <_PyEval_EvalFrameDefault+26657>, 0x7f41b15790e1 <_PyEval_EvalFrameDefault+10305>, 0x7f41b157a007 <_PyEval_EvalFrameDefault+14183>, 0x7f41b1578900 <_PyEval_EvalFrameDefault+8288>, 0x7f41b1577dd4 <_PyEval_EvalFrameDefault+5428>, 0x7f41b157a288 <_PyEval_EvalFrameDefault+14824>, 0x7f41b15770f7 <_PyEval_EvalFrameDefault+2135>, 0x7f41b15781c7 <_PyEval_EvalFrameDefault+6439>, 0x7f41b1578fdc <_PyEval_EvalFrameDefault+10044>, 0x7f41b157b1c6 <_PyEval_EvalFrameDefault+18726>, 0x7f41b157775a <_PyEval_EvalFrameDefault+3770>, 0x7f41b1579c5e <_PyEval_EvalFrameDefault+13246>, 0x7f41b15798f9 <_PyEval_EvalFrameDefault+12377>, 0x7f41b157b572 <_PyEval_EvalFrameDefault+19666>, 0x7f41b1577a08 <_PyEval_EvalFrameDefault+4456>, 0x7f41b1577405 <_PyEval_EvalFrameDefault+2917>, 0x7f41b1578c66 <_PyEval_EvalFrameDefault+9158>, 0x7f41b157b467 <_PyEval_EvalFrameDefault+19399>, 0x7f41b157cba4 <_PyEval_EvalFrameDefault+25348>, 0x7f41b1578063 <_PyEval_EvalFrameDefault+6083>, 0x7f41b157a5e5 <_PyEval_EvalFrameDefault+15685>, 0x7f41b1576e8a <_PyEval_EvalFrameDefault+1514>, 0x7f41b1579738 <_PyEval_EvalFrameDefault+11928>, 0x7f41b157b6cf <_PyEval_EvalFrameDefault+20015>, 0x7f41b157bab4 <_PyEval_EvalFrameDefault+21012>, 0x7f41b157b78b <_PyEval_EvalFrameDefault+20203>, 0x7f41b1578455 <_PyEval_EvalFrameDefault+7093>, 0x7f41b157813a <_PyEval_EvalFrameDefault+6298>, 0x7f41b157a714 <_PyEval_EvalFrameDefault+15988>, 0x7f41b157d028 <_PyEval_EvalFrameDefault+26504>, 0x7f41b145397f <_PyEval_EvalFrameDefault-1191713>, 0x7f41b1577010 <_PyEval_EvalFrameDefault+1904>, 0x7f41b1579f80 <_PyEval_EvalFrameDefault+14048>, 0x7f41b157738f <_PyEval_EvalFrameDefault+2799>, 0x7f41b1577bba <_PyEval_EvalFrameDefault+4890>, 0x7f41b1578edd <_PyEval_EvalFrameDefault+9789>, 0x7f41b157ebd2 <_PyEval_EvalFrameDefault+33586>, 0x7f41b157adab <_PyEval_EvalFrameDefault+17675>, 0x7f41b157b883 <_PyEval_EvalFrameDefault+20451>, 0x7f41b1577fca <_PyEval_EvalFrameDefault+5930>, 0x7f41b157b9c3 <_PyEval_EvalFrameDefault+20771>, 0x7f41b1576b73 <_PyEval_EvalFrameDefault+723>, 0x7f41b1576d85 <_PyEval_EvalFrameDefault+1253>, 0x7f41b157ec47 <_PyEval_EvalFrameDefault+33703>, 0x7f41b157c1ce <_PyEval_EvalFrameDefault+22830>, 0x7f41b1576b31 <_PyEval_EvalFrameDefault+657>, 0x7f41b157c73c <_PyEval_EvalFrameDefault+24220>, 0x7f41b1578e1e <_PyEval_EvalFrameDefault+9598>, 0x7f41b1579bd6 <_PyEval_EvalFrameDefault+13110>, 0x7f41b157e1ad <_PyEval_EvalFrameDefault+30989>, 0x7f41b1579e9d <_PyEval_EvalFrameDefault+13821>, 0x7f41b157a7dd <_PyEval_EvalFrameDefault+16189>, 0x7f41b157aeb7 <_PyEval_EvalFrameDefault+17943>, 0x7f41b1576e46 <_PyEval_EvalFrameDefault+1446>, 0x7f41b1579e31 <_PyEval_EvalFrameDefault+13713>, 0x7f41b157c36d <_PyEval_EvalFrameDefault+23245>, 0x7f41b157984d <_PyEval_EvalFrameDefault+12205>, 0x7f41b157b4f7 <_PyEval_EvalFrameDefault+19543>...}
        word = <optimized out>
        word = <optimized out>
#11 0x00007f41b16522c9 in PyEval_EvalCode (co=0x7f41b102dde0, globals=<optimized out>, locals=0x7f41b0e5c080) at Python/ceval.c:604
        tstate = 0x7f41b1936df0 <_PyRuntime+283024>
        builtins = <optimized out>
        desc = {fc_globals = 0x7f41b0e5c080, fc_builtins = 0x7f41b1031dc0, fc_name = 0x7f41b18fa438 <_PyRuntime+34776>, fc_qualname = 0x7f41b18fa438 <_PyRuntime+34776>, fc_code = 0x7f41b102dde0, fc_defaults = 0x0, fc_kwdefaults = 0x0, fc_closure = 0x0}
        func = 0x7f41b1059440
        res = <optimized out>
#12 0x00007f41b169088c in run_eval_code_obj (tstate=tstate@entry=0x7f41b1936df0 <_PyRuntime+283024>, co=co@entry=0x7f41b102dde0, globals=globals@entry=0x7f41b0e5c080, locals=locals@entry=0x7f41b0e5c080) at Python/pythonrun.c:1381
        v = <optimized out>
        has_builtins = <optimized out>
#13 0x00007f41b168d85d in run_mod (mod=mod@entry=0x556a33244eb0, filename=filename@entry=0x7f41b0e5c1b0, globals=globals@entry=0x7f41b0e5c080, locals=locals@entry=0x7f41b0e5c080, flags=flags@entry=0x7ffc67c65988, arena=arena@entry=0x7f41b0fa3cd0, interactive_src=0x0, generate_new_source=0) at Python/pythonrun.c:1466
        tstate = 0x7f41b1936df0 <_PyRuntime+283024>
        interactive_filename = <optimized out>
        co = 0x7f41b102dde0
        v = <optimized out>
#14 0x00007f41b168af58 in pyrun_file (fp=fp@entry=0x556a33176350, filename=filename@entry=0x7f41b0e5c1b0, start=start@entry=257, globals=globals@entry=0x7f41b0e5c080, locals=locals@entry=0x7f41b0e5c080, closeit=closeit@entry=1, flags=0x7ffc67c65988) at Python/pythonrun.c:1295
        arena = 0x7f41b0fa3cd0
        mod = <optimized out>
        ret = <optimized out>
#15 0x00007f41b168a212 in _PyRun_SimpleFileObject (fp=fp@entry=0x556a33176350, filename=filename@entry=0x7f41b0e5c1b0, closeit=closeit@entry=1, flags=flags@entry=0x7ffc67c65988) at Python/pythonrun.c:517
        ret = <optimized out>
        main_module = 0x7f41b0e35c10
        dict = 0x7f41b0e5c080
        set_file_name = 1
        has_file = <optimized out>
        pyc = <optimized out>
        v = <optimized out>
#16 0x00007f41b1689b83 in _PyRun_AnyFileObject (fp=fp@entry=0x556a33176350, filename=filename@entry=0x7f41b0e5c1b0, closeit=closeit@entry=1, flags=flags@entry=0x7ffc67c65988) at Python/pythonrun.c:77
        decref_filename = 0
        res = <optimized out>
#17 0x00007f41b1687e51 in pymain_run_file_obj (program_name=0x7f41b0e5c1f0, filename=0x7f41b0e5c1b0, skip_source_first_line=0) at Modules/main.c:410
        fp = 0x556a33176350
        sb = {st_dev = 2063, st_ino = 11010310, st_nlink = 1, st_mode = 33188, st_uid = 1000, st_gid = 1000, __pad0 = 0, st_rdev = 0, st_size = 92, st_blksize = 4096, st_blocks = 8, st_atim = {tv_sec = 1760757095, tv_nsec = 167296131}, st_mtim = {tv_sec = 1760757095, tv_nsec = 167296131}, st_ctim = {tv_sec = 1760757095, tv_nsec = 207295590}, __glibc_reserved = {0, 0, 0}}
        cf = {cf_flags = 0, cf_feature_version = 13}
        run = <optimized out>
#18 pymain_run_file (config=0x7f41b19094e8 <_PyRuntime+96392>) at Modules/main.c:429
        filename = 0x7f41b0e5c1b0
        program_name = 0x7f41b0e5c1f0
        res = <optimized out>
#19 pymain_run_python (exitcode=0x7ffc67c6597c) at Modules/main.c:696
        main_importer_path = <optimized out>
        interp = 0x7f41b19075b0 <_PyRuntime+88400>
        config = 0x7f41b19094e8 <_PyRuntime+96392>
        path0 = 0x7f41b0e57b70
#20 Py_RunMain () at Modules/main.c:775
        exitcode = 0
#21 0x00007f41b163fbeb in Py_BytesMain (argc=<optimized out>, argv=<optimized out>) at Modules/main.c:829
        args = {argc = 2, use_bytes_argv = 1, bytes_argv = 0x7ffc67c65be8, wchar_argv = 0x0}
#22 0x00007f41b1218675 in __libc_start_call_main (main=main@entry=0x556a1df1a120 <main>, argc=argc@entry=2, argv=argv@entry=0x7ffc67c65be8) at ../sysdeps/nptl/libc_start_call_main.h:58
        self = <optimized out>
        result = <optimized out>
        unwind_buf = {cancel_jmp_buf = {{jmp_buf = {0, 7599395484873294775, 140722049539048, 2, 139920129609728, 93914257280448, 7599395484829254583, 7497882195609682871}, mask_was_saved = 0}}, priv = {pad = {0x0, 0x0, 0x0, 0x7ffc67c65be8}, data = {prev = 0x0, cleanup = 0x0, canceltype = 0}}}
        not_first_call = <optimized out>
#23 0x00007f41b1218729 in __libc_start_main_impl (main=0x556a1df1a120 <main>, argc=2, argv=0x7ffc67c65be8, init=<optimized out>, fini=<optimized out>, rtld_fini=<optimized out>, stack_end=0x7ffc67c65bd8) at ../csu/libc-start.c:360
No locals.
#24 0x0000556a1df1a045 in _start ()
No symbol table info available.

How to reproduce the bug

  1. On ArchLinux install with pacman -S python-pymupdf python-pillow
  2. Run python test.py

Content of test.py:

import pymupdf
from PIL import Image
image1 = Image.open('test.jp2')
image1.save('out.png')

Test image file:
test.jp2.zip

PyMuPDF version

1.26.5

Operating system

Linux

Python version

3.13

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions