• Bug#1060318: silx: autopkgtest failure with Python 3.12

    From Graham Inggs@21:1/5 to All on Tue Jan 9 15:10:01 2024
    Source: silx
    Version: 1.1.2+dfsg-2
    Severity: serious
    User: debian-python@lists.debian.org
    Usertags: python3.12

    Hi Maintainer

    silx's autopkgtests fail with Python 3.12 [1]. I've copied what I
    hope is the relevant part of the log below.

    Regards
    Graham


    [1] https://ci.debian.net/packages/s/silx/testing/amd64/


    187s autopkgtest [23:24:52]: test command1: [-----------------------
    187s Testing with python3.12:
    192s ============================= test session starts ==============================
    192s platform linux -- Python 3.12.1, pytest-7.4.3, pluggy-1.3.0
    192s rootdir: /tmp/autopkgtest-lxc.90b2flld/downtmp/autopkgtest_tmp
    192s plugins: xvfb-3.0.0, mock-3.12.0
    192s collected 1798 items
    192s
    192s app/test/test_convert.py .... [ 0%]
    192s app/view/test/test_launcher.py ..... [ 0%]
    196s app/view/test/test_view.py .................................. [ 2%]
    196s gui/_glutils/test/test_gl.py .. [ 2%]
    197s gui/data/test/test_arraywidget.py s............... [ 3%]
    205s gui/data/test/test_dataviewer.py
    ....................................... [ 5%]
    205s ... [ 5%]
    206s gui/data/test/test_numpyaxesselector.py ......... [ 6%]
    208s gui/data/test/test_textformatter.py .................... [ 7%]
    217s gui/dialog/test/test_colormapdialog.py ................... [ 8%]
    223s gui/dialog/test/test_datafiledialog.py
    ................................. [ 10%]
    223s .. [ 10%]
    233s gui/dialog/test/test_imagefiledialog.py
    ................................ [ 12%]
    233s .. [ 12%]
    238s gui/hdf5/test/test_hdf5.py
    ............................................. [ 14%]
    242s ............................... [ 16%]
    242s gui/plot/_utils/test/test_dtime_ticklayout.py ..... [ 16%]
    242s gui/plot/_utils/test/test_ticklayout.py ... [ 16%]
    242s gui/plot3d/scene/test/test_transform.py . [ 16%]
    242s gui/plot3d/scene/test/test_utils.py ........ [ 17%]
    242s gui/test/test_colors.py ................................... [ 19%]
    242s gui/test/test_console.py ss [ 19%]
    243s gui/test/test_icons.py .........s...... [ 20%]
    243s gui/test/test_qt.py .... [ 20%]
    243s gui/utils/test/test_async.py ... [ 20%]
    245s gui/utils/test/test_glutils.py .... [ 20%]
    246s gui/utils/test/test_image.py .. [ 21%]
    246s gui/utils/test/test_qtutils.py ..... [ 21%]
    246s gui/utils/test/test_testutils.py . [ 21%]
    246s gui/widgets/test/test_boxlayoutdockwidget.py . [ 21%]
    246s gui/widgets/test/test_elidedlabel.py ........ [ 21%]
    246s gui/widgets/test/test_flowlayout.py . [ 21%]
    246s gui/widgets/test/test_framebrowser.py . [ 22%]
    247s gui/widgets/test/test_hierarchicaltableview.py ... [ 22%]
    247s gui/widgets/test/test_legendiconwidget.py ... [ 22%]
    248s gui/widgets/test/test_periodictable.py ........ [ 22%]
    248s gui/widgets/test/test_printpreview.py .... [ 23%]
    248s gui/widgets/test/test_rangeslider.py ... [ 23%]
    248s gui/widgets/test/test_tablewidget.py . [ 23%]
    249s gui/widgets/test/test_threadpoolpushbutton.py ..... [ 23%]
    249s image/marchingsquares/test/test_funcapi.py .. [ 23%]
    249s image/marchingsquares/test/test_mergeimpl.py
    .......................... [ 25%]
    249s image/test/test_bb.py .... [ 25%]
    249s image/test/test_bilinear.py ...... [ 25%]
    275s image/test/test_medianfilter.py .. [ 25%]
    275s image/test/test_shapes.py ............ [ 26%]
    276s image/test/test_tomography.py .. [ 26%]
    277s io/test/test_commonh5.py ............................... [ 28%]
    277s io/test/test_dictdump.py ...........s.............s........ [ 30%]
    277s io/test/test_fabioh5.py ................................... [ 32%]
    277s io/test/test_fioh5.py ................ [ 32%]
    284s io/test/test_h5py_utils.py ....... [ 33%]
    285s io/test/test_nxdata.py .................... [ 34%]
    285s io/test/test_octaveh5.py .. [ 34%]
    285s io/test/test_rawh5.py ... [ 34%]
    285s io/test/test_specfile.py ....................s. [ 35%]
    285s io/test/test_specfilewrapper.py .......... [ 36%]
    285s io/test/test_spech5.py
    .............................................. [ 39%]
    285s io/test/test_spectoh5.py ...... [ 39%]
    285s io/test/test_url.py .................................. [ 41%]
    285s io/test/test_utils.py
    .................................................. [ 44%]
    285s ................ [ 44%]
    285s io/test/test_write_to_h5.py ... [ 45%]
    291s math/fft/test/test_fft.py ssss.ss.s [ 45%]
    291s math/fit/test/test_bgtheories.py ...... [ 45%]
    291s math/fit/test/test_filters.py ... [ 46%]
    292s math/fit/test/test_fit.py ......... [ 46%]
    293s math/fit/test/test_fitmanager.py ............. [ 47%]
    293s math/fit/test/test_functions.py .......... [ 47%]
    293s math/fit/test/test_peaks.py . [ 47%]
    293s math/medianfilter/test/test_medianfilter.py
    ............................ [ 49%]
    296s ....... [ 49%]
    296s math/test/test_HistogramndLut_nominal.py
    ............................... [ 51%]
    296s .................... [ 52%]
    296s math/test/test_calibration.py ............... [ 53%]
    296s math/test/test_colormap.py ........ [ 54%]
    296s math/test/test_combo.py ..... [ 54%]
    296s math/test/test_histogramnd_error.py ......................... [ 55%]
    296s math/test/test_histogramnd_nominal.py
    .................................. [ 57%]
    296s ......................................... [ 59%]
    297s math/test/test_histogramnd_vs_np.py
    ....s.........s.........s.........s. [ 61%]
    298s ........s.........s.........s.........s.........s.........s.........s...
    [ 65%]
    301s ......s.........s.........s.........s.........s.........s.........s.....
    [ 69%]
    304s ....s.........s.........s.........s.........s.........s.........s.......
    [ 73%]
    305s ..s.........s..... [ 74%]
    305s math/test/test_interpolate.py .... [ 75%]
    305s math/test/test_marchingcubes.py .. [ 75%]
    331s opencl/codec/test/test_byte_offset.py ....... [ 75%]
    333s opencl/test/test_addition.py ... [ 75%]
    333s opencl/test/test_array_utils.py . [ 75%]
    372s opencl/test/test_backprojection.py ... [ 76%]
    384s opencl/test/test_convolution.py
    ........................................ [ 78%]
    408s ........................................................................
    [ 82%]
    417s ................................ssssssssssssssssssssssssssssssssssssssss
    [ 86%]
    417s ssssssss [ 86%]
    421s opencl/test/test_doubleword.py ......... [ 87%]
    428s opencl/test/test_image.py ... [ 87%]
    430s opencl/test/test_kahan.py .. [ 87%]
    433s opencl/test/test_linalg.py ... [ 87%]
    433s opencl/test/test_medfilt.py s [ 87%]
    459s opencl/test/test_projection.py . [ 87%]
    491s opencl/test/test_sparse.py .. [ 87%]
    497s opencl/test/test_stats.py . [ 87%]
    497s test/test_resources.py
    ................................................ [ 90%]
    508s test/test_sx.py .......Fatal Python error: Segmentation fault

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From PICCA Frederic-Emmanuel@21:1/5 to All on Fri Mar 1 16:20:01 2024
    With the silx 2.0.0 version the failire is located in the OpenCL part

    the backtrace is this one when running the median filter

    # build the packag eintht echroot and enter into it once build

    dgit --gbp sbuild --finished-build-commands '%SBUILD_SHELL'

    run this command to obtain the backtrace...

    DEBUGINFOD_URLS="https://debuginfod.debian.net" PYTHONPATH=. gdb --args python3.11 -m pytest --pyarg silx silx/image/test/test_medianfilter.py


    here the backtrace.

    Thread 1 "python3.11" received signal SIGABRT, Aborted.
    0x00007ffff7d3516c in ?? () from /lib/x86_64-linux-gnu/libc.so.6
    (gdb) bt
    #0 0x00007ffff7d3516c in ?? () from /lib/x86_64-linux-gnu/libc.so.6
    #1 0x00007ffff7ce7472 in raise () from /lib/x86_64-linux-gnu/libc.so.6
    #2 0x00007ffff7cd14b2 in abort () from /lib/x86_64-linux-gnu/libc.so.6
    #3 0x00007ffff7cd13d5 in ?? () from /lib/x86_64-linux-gnu/libc.so.6
    #4 0x00007ffff7ce03a2 in __assert_fail () from /lib/x86_64-linux-gnu/libc.so.6 #5 0x00007ffff344770d in pocl::Kernel::createParallelRegionBefore (this=<optimized out>, B=0x8980180) at ../llvmopencl/./lib/llvmopencl/Kernel.cc:129
    #6 pocl::Kernel::getParallelRegions (this=<optimized out>, LI=..., ParallelRegions=0x7fffffff4860) at ../llvmopencl/./lib/llvmopencl/Kernel.cc:193
    #7 0x00007ffff346ab82 in pocl::WorkitemLoopsImpl::processFunction (this=this@entry=0x7fffffff47c0, F=...) at ../llvmopencl/./lib/llvmopencl/WorkitemLoops.cc:445
    #8 0x00007ffff346cb8d in pocl::WorkitemLoopsImpl::runOnFunction (this=0x7fffffff47c0, F=...) at ../llvmopencl/./lib/llvmopencl/WorkitemLoops.cc:183
    #9 0x00007ffff346ecac in pocl::WorkitemLoops::run (this=<optimized out>, F=..., AM=...) at ../llvmopencl/./lib/llvmopencl/WorkitemLoops.cc:1490
    #10 0x00007ffff346ede5 in llvm::detail::PassModel<llvm::Function, pocl::WorkitemLoops, llvm::PreservedAnalyses, llvm::AnalysisManager<llvm::Function>>::run(llvm::Function&, llvm::AnalysisManager<llvm::Function>&) (this=<optimized out>, IR=..., AM=...) at
    /usr/lib/llvm-16/include/llvm/IR/PassManagerInternal.h:89
    #11 0x00007fffe91d7579 in run () at llvm/include/llvm/IR/PassManager.h:517
    #12 0x00007fffeaeedb01 in llvm::detail::PassModel<llvm::Function, llvm::PassManager<llvm::Function, llvm::AnalysisManager<llvm::Function>>, llvm::PreservedAnalyses, llvm::AnalysisManager<llvm::Function>>::run(llvm::Function&, llvm::AnalysisManager<llvm::
    Function>&) () at llvm/include/llvm/IR/PassManagerInternal.h:89
    #13 0x00007fffe91dade6 in run () at build-llvm/tools/clang/stage2-bins/llvm/lib/IR/PassManager.cpp:124
    #14 0x00007fffeaeed921 in llvm::detail::PassModel<llvm::Module, llvm::ModuleToFunctionPassAdaptor, llvm::PreservedAnalyses, llvm::AnalysisManager<llvm::Module>>::run(llvm::Module&, llvm::AnalysisManager<llvm::Module>&) () at llvm/include/llvm/IR/
    PassManagerInternal.h:89
    #15 0x00007ffff348cd85 in llvm::PassManager<llvm::Module, llvm::AnalysisManager<llvm::Module>>::run(llvm::Module&, llvm::AnalysisManager<llvm::Module>&) (AM=..., IR=..., this=0x7fffffff50b8)
    at /usr/include/c++/13/bits/unique_ptr.h:199
    #16 PoCLModulePassManager::run (this=0x7fffffff4f98, Bitcode=...) at ./lib/CL/pocl_llvm_wg.cc:322
    #17 0x00007ffff3494b14 in TwoStagePoCLModulePassManager::run (Bitcode=..., this=0x7fffffff4e10) at ./lib/CL/pocl_llvm_wg.cc:386
    #18 runKernelCompilerPasses (Device=Device@entry=0x151f050, Mod=...) at ./lib/CL/pocl_llvm_wg.cc:727
    #19 0x00007ffff3496302 in pocl_llvm_run_pocl_passes(llvm::Module*, _cl_command_run*, llvm::LLVMContext*, PoclLLVMContextData*, _cl_kernel*, _cl_device_id*, int) [clone .isra.0] (
    Bitcode=Bitcode@entry=0x16d6ef0, RunCommand=RunCommand@entry=0x7fffffffbd40, PoclCtx=PoclCtx@entry=0x157e340, Kernel=Kernel@entry=0x7fffffffbcb0, Device=Device@entry=0x151f050,
    Specialize=Specialize@entry=0, LLVMContext=<optimized out>) at ./lib/CL/pocl_llvm_wg.cc:1101
    #20 0x00007ffff348ff32 in pocl_llvm_generate_workgroup_function_nowrite (DeviceI=DeviceI@entry=0, Device=Device@entry=0x151f050, Kernel=Kernel@entry=0x7fffffffbcb0, Command=Command@entry=0x7fffffffbd40,
    Output=Output@entry=0x7fffffff6548, Specialize=Specialize@entry=0) at ./lib/CL/pocl_llvm_wg.cc:1147
    #21 0x00007ffff3424b2f in llvm_codegen (output=output@entry=0x30d19f0 "/sbuild-nonexistent/.cache/pocl/kcache/BC/KCELIMKPIAEADDLPJHGMOMPOPMNFLCMCBIOCK/medfilt2d/0-0-0/medfilt2d.so", device_i=device_i@entry=0,
    kernel=kernel@entry=0x7fffffffbcb0, device=0x151f050, command=command@entry=0x7fffffffbd40, specialize=specialize@entry=0) at ./lib/CL/devices/common.c:137
    #22 0x00007ffff342778e in pocl_check_kernel_disk_cache (command=command@entry=0x7fffffffbd40, specialized=specialized@entry=0) at ./lib/CL/devices/common.c:983
    #23 0x00007ffff3427e7a in pocl_check_kernel_dlhandle_cache (command=command@entry=0x7fffffffbd40, retain=retain@entry=0, specialize=specialize@entry=0) at ./lib/CL/devices/common.c:1108
    #24 0x00007fffe477fc3d in pocl_basic_compile_kernel (cmd=0x7fffffffbd40, kernel=0x7fffffffbcb0, device=<optimized out>, specialize=0) at ./lib/CL/devices/basic/basic.c:682
    #25 0x00007ffff342c71f in pocl_driver_build_poclbinary (program=0x15a6170, device_i=<optimized out>) at ./lib/CL/devices/common_driver.c:969
    #26 0x00007ffff33f291e in get_binary_sizes (sizes=<optimized out>, program=<optimized out>) at ./lib/CL/clGetProgramInfo.c:54
    #27 POclGetProgramInfo (program=0x15a6170, param_name=<optimized out>, param_value_size=<optimized out>, param_value=0x15116f0, param_value_size_ret=0x7fffffffbf70) at ./lib/CL/clGetProgramInfo.c:143
    #28 0x00007ffff36a46ae in pyopencl::program::get_info (this=0x150ec50, param_name=<optimized out>) at src/wrap_cl.hpp:4348
    #29 0x00007ffff36b8524 in pybind11::cpp_function::cpp_function<pybind11::object, pyopencl::program, unsigned int, pybind11::name, pybind11::is_method, pybind11::sibling>(pybind11::object (pyopencl::program::*)(unsigned int) const, pybind11::name const&,
    pybind11::is_method const&, pybind11::sibling const&)::{lambda(pyopencl::program const*, unsigned int)#1}::operator()(pyopencl::program const*, unsigned int) const (
    __closure=<optimized out>, args#0=<optimized out>, c=<optimized out>) at /usr/lib/python3/dist-packages/pybind11/include/pybind11/pybind11.h:132
    #30 pybind11::detail::argument_loader<pyopencl::program const*, unsigned int>::call_impl<pybind11::object, pybind11::cpp_function::cpp_function<pybind11::object, pyopencl::program, unsigned int, pybind11::name, pybind11::is_method, pybind11::sibling>(
    pybind11::object (pyopencl::program::*)(unsigned int) const, pybind11::name const&, pybind11::is_method const&, pybind11::sibling const&)::{lambda(pyopencl::program const*, unsigned int)#1}&, 0ul, 1ul, pybind11::detail::void_type>(pybind11::cpp_function::
    cpp_function<pybind11::object, pyopencl::program, unsigned int, pybind11::name, pybind11::is_method, pybind11::sibling>(pybind11::object (pyopencl::program::*)(unsigned int) const, pybind11::name const&, pybind11::is_method const&, pybind11::sibling
    const&)::{lambda(pyopencl::program const*, unsigned int)#1}&, std::integer_sequence<unsigned long, 0ul, 1ul>, pybind11::detail::void_type&&) && (f=..., this=0x7fffffffc020) at /usr/lib/python3/dist-packages/pybind11/include/pybind11/detail/../cast.h:1480
    #31 pybind11::detail::argument_loader<pyopencl::program const*, unsigned int>::call<pybind11::object, pybind11::detail::void_type, pybind11::cpp_function::cpp_function<pybind11::object, pyopencl::program, unsigned int, pybind11::name, pybind11::is_method,
    pybind11::sibling>(pybind11::object (pyopencl::program::*)(unsigned int) const, pybind11::name const&, pybind11::is_method const&, pybind11::sibling const&)::{lambda(pyopencl::program const*, unsigned int)#1}&>(pybind11::cpp_function::cpp_function<
    pybind11::object, pyopencl::program, unsigned int, pybind11::name, pybind11::is_method, pybind11::sibling>(pybind11::object (pyopencl::program::*)(unsigned int) const, pybind11::name const&, pybind11::is_method const&, pybind11::sibling const&)::{lambda(
    pyopencl::program const*, unsigned int)#1}&) && (f=..., this=0x7fffffffc020)
    at /usr/lib/python3/dist-packages/pybind11/include/pybind11/detail/../cast.h:1449
    #32 pybind11::cpp_function::initialize<pybind11::cpp_function::initialize<pybind11::object, pyopencl::program, unsigned int, pybind11::name, pybind11::is_method, pybind11::sibling>(pybind11::object (pyopencl::program::*)(unsigned int) const, pybind11::
    name const&, pybind11::is_method const&, pybind11::sibling const&)::{lambda(pyopencl::program const*, unsigned int)#1}, pybind11::object, pyopencl::program const*, unsi--Type <RET> for more, q to quit, c to continue without paging--c
    gned int, pybind11::name, pybind11::is_method, pybind11::sibling>(pybind11::cpp_function::initialize<pybind11::object, pyopencl::program, unsigned int, pybind11::name, pybind11::is_method, pybind11::sibling>(pybind11::object (pyopencl::program::*)(
    unsigned int) const, pybind11::name const&, pybind11::is_method const&, pybind11::sibling const&)::{lambda(pyopencl::program const*, unsigned int)#1}&&, pybind11::object (*)(pyopencl::program const*, unsigned int), pybind11::name const&, pybind11::is_
    method const&, pybind11::sibling const&)::{lambda(pybind11::detail::function_call&)#1}::operator()(pybind11::detail::function_call&) const (__closure=<optimized out>, call=...) at /usr/lib/python3/dist-packages/pybind11/include/pybind11/pybind11.h:253
    #33 0x00007ffff363d891 in pybind11::cpp_function::dispatcher (self=<optimized out>, args_in=0x7ffff72a66c0, kwargs_in=0x0) at /usr/lib/python3/dist-packages/pybind11/include/pybind11/pybind11.h:946
    #34 0x000000000054416a in ?? ()
    #35 0x0000000000515b6b in _PyObject_MakeTpCall ()
    #36 0x00000000005298f9 in _PyEval_EvalFrameDefault ()
    #37 0x0000000000557c15 in _PyFunction_Vectorcall ()
    #38 0x000000000051d8fe in _PyObject_FastCallDictTstate ()
    #39 0x000000000055f8ae in ?? ()
    #40 0x0000000000515a65 in _PyObject_MakeTpCall ()
    #41 0x00000000005298f9 in _PyEval_EvalFrameDefault ()
    #42 0x000000000057e902 in ?? ()
    #43 0x000000000057e194 in ?? ()
    #44 0x0000000000564be8 in PyObject_Call ()
    #45 0x000000000052d865 in _PyEval_EvalFrameDefault ()
    #46 0x0000000000557c15 in _PyFunction_Vectorcall ()
    #47 0x000000000051d8fe in _PyObject_FastCallDictTstate ()
    #48 0x0000000000560171 in _PyObject_Call_Prepend ()
    #49 0x00000000006551b6 in ?? ()
    #50 0x0000000000515b6b in _PyObject_MakeTpCall ()
    #51 0x00000000005298f9 in _PyEval_EvalFrameDefault ()
    #52 0x0000000000557c15 in _PyFunction_Vectorcall ()
    #53 0x000000000052d865 in _PyEval_EvalFrameDefault ()
    #54 0x0000000000557c15 in _PyFunction_Vectorcall ()
    #55 0x000000000051d8fe in _PyObject_FastCallDictTstate ()
    #56 0x0000000000560171 in _PyObject_Call_Prepend ()
    #57 0x00000000006551b6 in ?? ()
    #58 0x0000000000564b7e in PyObject_Call ()
    #59 0x000000000052d865 in _PyEval_EvalFrameDefault ()
    #60 0x0000000000557c15 in _PyFunction_Vectorcall ()
    #61 0x000000000052d865 in _PyEval_EvalFrameDefault ()
    #62 0x0000000000557c15 in _PyFunction_Vectorcall ()
    #63 0x000000000052d865 in _PyEval_EvalFrameDefault ()
    #64 0x0000000000557c15 in _PyFunction_Vectorcall ()
    #65 0x000000000051d8fe in _PyObject_FastCallDictTstate ()
    #66 0x0000000000560171 in _PyObject_Call_Prepend ()
    #67 0x00000000006551b6 in ?? ()
    #68 0x0000000000515b6b in _PyObject_MakeTpCall ()
    #69 0x00000000005298f9 in _PyEval_EvalFrameDefault ()
    #70 0x0000000000557c15 in _PyFunction_Vectorcall ()
    #71 0x000000000052d865 in _PyEval_EvalFrameDefault ()
    #72 0x0000000000557c15 in _PyFunction_Vectorcall ()
    #73 0x000000000051d8fe in _PyObject_FastCallDictTstate ()
    #74 0x0000000000560171 in _PyObject_Call_Prepend ()
    #75 0x00000000006551b6 in ?? ()
    #76 0x0000000000515b6b in _PyObject_MakeTpCall ()
    #77 0x00000000005298f9 in _PyEval_EvalFrameDefault ()
    #78 0x0000000000557c15 in _PyFunction_Vectorcall ()
    #79 0x000000000052d865 in _PyEval_EvalFrameDefault ()
    #80 0x0000000000557c15 in _PyFunction_Vectorcall ()
    #81 0x000000000051d8fe in _PyObject_FastCallDictTstate ()
    #82 0x0000000000560171 in _PyObject_Call_Prepend ()
    #83 0x00000000006551b6 in ?? ()
    #84 0x0000000000515b6b in _PyObject_MakeTpCall ()
    #85 0x00000000005298f9 in _PyEval_EvalFrameDefault ()
    #86 0x000000000060606f in PyEval_EvalCode ()
    #87 0x000000000061a084 in ?? ()
    #88 0x0000000000537e1b in ?? ()
    #89 0x0000000000537cc0 in PyObject_Vectorcall ()
    #90 0x00000000005298f9 in _PyEval_EvalFrameDefault ()
    #91 0x0000000000557c15 in _PyFunction_Vectorcall ()
    #92 0x000000000062d79d in ?? ()
    #93 0x000000000062d109 in Py_RunMain ()
    #94 0x00000000005f95fb in Py_BytesMain ()
    #95 0x00007ffff7cd26ca in ?? () from /lib/x86_64-linux-gnu/libc.so.6
    #96 0x00007ffff7cd2785 in __libc_start_main () from /lib/x86_64-linux-gnu/libc.so.6
    #97 0x00000000005f9491 in _start ()

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From PICCA Frederic-Emmanuel@21:1/5 to All on Fri Mar 8 15:30:01 2024
    In order to reproduce the bug,

    install python3-silx 2.0.0+dfsg-1

    python3-pytest-xvfb pocl-opencl-icd

    then

    $ pytest --pyargs silx.image.test.test_medianfilter -v =============================================================================================== test session starts ===============================================================================================
    platform linux -- Python 3.11.8, pytest-8.0.2, pluggy-1.4.0 -- /usr/bin/python3 cachedir: .pytest_cache
    rootdir: /home/picca/debian/science-team/pyvkfft
    plugins: anyio-4.2.0, dials-data-2.4.0, xvfb-3.0.0
    collected 2 items

    ::TestMedianFilterEngines::testCppMedFilt2d PASSED [ 50%]
    ::TestMedianFilterEngines::testOpenCLMedFilt2d Abandon

    the OpenCL test fails

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)