Package: mypaint
Version: 2.0.1-10+b2
Severity: important

Dear Maintainer,

mypaint does not seem to work on (at least some) aarch64/arm64 systems. It 
segfaults in PyObject after attempting to paint a stroke (i.e. just clicking in 
the default canvas after startup crashes the program). My platform is MNT 
Reform with Rockchip RK3588, but it was also reported crashing on NXP 
i.MX8MPlus.

Here is a gdb full backtrace:

(gdb) bt full
#0  0x00000000004ff798 in _PyInterpreterState_GET () at 
../Include/internal/pycore_pystate.h:133
        tstate = <optimized out>
        interp = <optimized out>
        state = <optimized out>
        ptr = <optimized out>
#1  get_state () at ../Objects/obmalloc.c:866
        interp = <optimized out>
        state = <optimized out>
        ptr = <optimized out>
#2  _PyObject_Malloc (nbytes=56, ctx=0x0) at ../Objects/obmalloc.c:1563
        state = <optimized out>
        ptr = <optimized out>
#3  PyObject_Malloc (size=56) at ../Objects/obmalloc.c:801
#4  0x0000000000520c08 in PyUnicode_New (maxchar=127, size=15) at 
../Objects/unicodeobject.c:1251
        obj = <optimized out>
        unicode = <optimized out>
        data = <optimized out>
        kind = 1
        is_ascii = 1
        struct_size = 40
        char_size = 1
        starts = 0xfffff50b98c8 "_get_tile_numpy"
        end = 0xfffff50b98d7 ""
        u = <optimized out>
        writer = {buffer = 0x0, data = 0x0, kind = 0, maxchar = 0, size = 
281473890436336, pos = 5232112, min_length = 281473890436960, min_char = 0, 
overallocate = 0 '\000', readonly = 0 '\000'}
        startinpos = 0
        endinpos = 0
        errmsg = <optimized out>
        error_handler_obj = 0x0
        exc = 0x0
#5  unicode_decode_utf8 (s=<optimized out>, size=15, 
error_handler=error_handler@entry=_Py_ERROR_UNKNOWN, errors=errors@entry=0x0, 
consumed=consumed@entry=0x0)
    at ../Objects/unicodeobject.c:4693
        starts = 0xfffff50b98c8 "_get_tile_numpy"
        end = 0xfffff50b98d7 ""
        u = <optimized out>
        writer = {buffer = 0x0, data = 0x0, kind = 0, maxchar = 0, size = 
281473890436336, pos = 5232112, min_length = 281473890436960, min_char = 0, 
overalloca--Type <RET> for more, q to quit, c to continue without paging--
te = 0 '\000', readonly = 0 '\000'}
        startinpos = 0
        endinpos = 0
        errmsg = <optimized out>
        error_handler_obj = 0x0
        exc = 0x0
#6  0x0000000000520b9c in PyUnicode_DecodeUTF8Stateful (consumed=0x0, 
errors=0x0, size=<optimized out>, s=<optimized out>) at 
../Objects/unicodeobject.c:4826
        size = <optimized out>
#7  0x00000000004fd5f0 in PyObject_GetAttrString (v=0xffffdfb1b500, 
name=<optimized out>) at ../Objects/object.c:918
        w = <optimized out>
        res = <optimized out>
#8  0x00000000004bfe18 in _PyObject_CallMethod_SizeT (obj=<optimized out>, 
name=<optimized out>, format=0xfffff50b98c0 "(iii)") at ../Objects/call.c:755
        tstate = 0x0
        callable = <optimized out>
        va = {__stack = 0x0, __gr_top = 0xffffbf40c5e0, __vr_top = 
0xfffff7d20558 <arena_get2+840>, __gr_offs = -136118000, __vr_offs = 65535}
        retval = <optimized out>
#9  0x0000fffff5072b00 in tile_request_start(MyPaintTiledSurface2*, 
MyPaintTileRequest*) (tiled_surface=0x19dfbc0, request=0xffffbf40c760)
    at lib/pythontiledsurface.cpp:41
        self = 0x19dfbc0
        readonly = 0
        tx = 1
        ty = 5
        rgba = 0x0
#10 0x0000fffff501f028 in process_tile_internal
    (tiled_surface=tiled_surface@entry=0x19dfbc0, request_start=0xfffff501e640 
<tsf2_request_start>, request_end=0xfffff501e650 <tsf2_request_end>, 
op_queue=0x19dfc90, tx=1, ty=5) at mypaint-tiled-surface.c:512
        tile_index = {x = 1, y = 5}
        op = 0x2ca05e0
        request_data = {tx = 1, ty = 5, readonly = 0, buffer = 0x0, context = 
0x0, thread_id = 3, mipmap_level = 0}
        mipmap_level = 0
        rgba_p = <optimized out>
        mask = {0 <repeats 4220 times>, 59584, 48960, 65535, 0}
#11 0x0000fffff5020780 in tiled_surface2_process_tile 
(self=self@entry=0x19dfbc0, tx=<optimized out>, ty=<optimized out>) at 
mypaint-tiled-surface.c:892
#12 0x0000fffff5020808 in mypaint_tiled_surface2_end_atomic._omp_fn.0 () at 
mypaint-tiled-surface.c:1156
        self = <optimized out>
        tiles = 0x19e0970
        tiles_n = <optimized out>
--Type <RET> for more, q to quit, c to continue without paging--
        tiles = 0xfffff4f3ed8c <gomp_thread_start+300>
        tiles_n = <optimized out>
#13 0x0000fffff4f3ed8c in gomp_thread_start (xdata=<optimized out>) at 
../../../src/libgomp/team.c:129
        team = 0x22ee340
        task = 0x22eeb20
        data = <optimized out>
        local_fn = 0xfffff5020780 <mypaint_tiled_surface2_end_atomic._omp_fn.0>
        local_data = <optimized out>
#14 0x0000fffff7d12fbc in start_thread (arg=0xfffff7ff5e40) at 
./nptl/pthread_create.c:444
        ret = <optimized out>
        pd = 0xfffff7ff5e40
        unwind_buf = {cancel_jmp_buf = {{jmp_buf = {281473890447744, 
281473890447744, 48, 281474842451520, 281474839424256, 11, 281473881997312, 
281473890447744, 281473881997312, 0, 281473890445840, 10575254300997217827, 0, 
10575254302212598063, 0, 0, 0, 0, 0, 0, 0, 0}, mask_was_saved = 0}}, priv = 
{pad = {0x0, 0x0, 0x0, 0x0}, data = {prev = 0x0, cleanup = 0x0, canceltype = 
0}}}
        not_first_call = 0
#15 0x0000fffff7d7e5cc in thread_start () at 
../sysdeps/unix/sysv/linux/aarch64/clone3.S:76
(gdb) 


-- System Information:
Debian Release: trixie/sid
  APT prefers unstable
  APT policy: (500, 'unstable')
Architecture: arm64 (aarch64)
Foreign Architectures: i386, armhf, amd64

Kernel: Linux 6.9.7-mnt-reform-arm64 (SMP w/8 CPU threads)
Kernel taint flags: TAINT_CRAP, TAINT_OOT_MODULE, TAINT_UNSIGNED_MODULE
Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8), LANGUAGE not set
Shell: /bin/sh linked to /usr/bin/dash
Init: systemd (via /run/systemd/system)
LSM: AppArmor: enabled

Versions of packages mypaint depends on:
ii  gir1.2-gtk-3.0       3.24.43-1
ii  libc6                2.38-11
ii  libgcc-s1            14.1.0-4
ii  libgdk-pixbuf-2.0-0  2.42.12+dfsg-1
ii  libgomp1             14.1.0-4
ii  liblcms2-2           2.14-2+b1
ii  libmypaint-1.5-1     1.6.0-2
ii  libpng16-16t64       1.6.43-5
ii  librsvg2-bin         2.58.0+dfsg-1
ii  libstdc++6           14.1.0-4
ii  mypaint-brushes      2.0.2+ds1-1
ii  mypaint-data         2.0.1-10
ii  python3              3.12.3-1
ii  python3-gi           3.48.2-1
ii  python3-gi-cairo     3.48.2-1
ii  python3-numpy        1:1.26.4+ds-10+b1

Versions of packages mypaint recommends:
ii  mypaint-data-extras  2.0.1-10
ii  shared-mime-info     2.4-1

mypaint suggests no packages.

-- no debconf information

Reply via email to