Repository navigation
Open
Description
My optimisation crashes with exit code 132 when running in a docker container on MacOS. The Macbook's chip is 'Apple M5 Pro', and I installed highspy==1.15.1 and highspy-extras==1.15.1. The issue seems to be with the bundled version of libopenblas. If I install openblas myself and preload it with LD_PRELOAD=/usr/lib/aarch64-linux-gnu/libopenblas.so.0 python ... then everything works.
Here is the gdb output from the crash:
Thread 1 "python" received signal SIGILL, Illegal instruction.
0x0000fffe628d4f88 in dtrsm_iunucopy () from /usr/local/lib/python3.12/site-packages/highsbox/highs_dist/lib/libopenblas.so
#0 0x0000fffe628d4f88 in dtrsm_iunucopy () from /usr/local/lib/python3.12/site-packages/highsbox/highs_dist/lib/libopenblas.so
#1 0x0000fffe627bd9d4 in dtrsm_LTUU () from /usr/local/lib/python3.12/site-packages/highsbox/highs_dist/lib/libopenblas.so
#2 0x0000fffe626bde3c in cblas_dtrsm () from /usr/local/lib/python3.12/site-packages/highsbox/highs_dist/lib/libopenblas.so
#3 0x0000fffe63577fc8 in hipo::denseFactFH(char, int, int, int, double*, double*, int const*, double, hipo::Regul const&, double*, int*, double*, bool, hipo::DataCollector&) () from /usr/local/lib/python3.12/site-packages/highsbox/highs_dist/lib/libhighs.so
#4 0x0000fffe635785e8 in hipo::HybridHybridFormatHandler::denseFactorise(double) () from /usr/local/lib/python3.12/site-packages/highsbox/highs_dist/lib/libhighs.so
#5 0x0000fffe63578ed4 in hipo::Factorise::processSupernode(int) () from /usr/local/lib/python3.12/site-packages/highsbox/highs_dist/lib/libhighs.so
#6 0x0000fffe63579548 in hipo::Factorise::run(hipo::Numeric&) () from /usr/local/lib/python3.12/site-packages/highsbox/highs_dist/lib/libhighs.so
#7 0x0000fffe63579d4c in hipo::FHsolver::factorise(hipo::Symbolic const&, std::vector<int, std::allocator<int> > const&, std::vector<int, std::allocator<int> > const&, std::vector<double, std::allocator<double> > const&) () from /usr/local/lib/python3.12/site-packages/highsbox/highs_dist/lib/libhighs.so
#8 0x0000fffe6355ea10 in hipo::FactorHiGHSSolver::factorNE(HighsSparseMatrix const&, std::vector<double, std::allocator<double> > const&) () from /usr/local/lib/python3.12/site-packages/highsbox/highs_dist/lib/libhighs.so
#9 0x0000fffe635664b0 in hipo::Solver::startingPoint() () from /usr/local/lib/python3.12/site-packages/highsbox/highs_dist/lib/libhighs.so
#10 0x0000fffe63569ecc in hipo::Solver::initialise() () from /usr/local/lib/python3.12/site-packages/highsbox/highs_dist/lib/libhighs.so
#11 0x0000fffe63569f48 in hipo::Solver::runIpm() () from /usr/local/lib/python3.12/site-packages/highsbox/highs_dist/lib/libhighs.so
#12 0x0000fffe6356a184 in hipo::Solver::solve() () from /usr/local/lib/python3.12/site-packages/highsbox/highs_dist/lib/libhighs.so
#13 0x0000fffe63318a98 in solveLpHipo(HighsOptions const&, HighsTimer&, HighsLp const&, HighsBasis&, HighsSolution&, HighsModelStatus&, HighsInfo&, HighsCallback&) () from /usr/local/lib/python3.12/site-packages/highsbox/highs_dist/lib/libhighs.so
#14 0x0000fffe63392d54 in solveLp(HighsLpSolverObject&, std::basic_string<char, std::char_traits<char>, std::allocator<char> >) () from /usr/local/lib/python3.12/site-packages/highsbox/highs_dist/lib/libhighs.so
#15 0x0000fffe6333fd74 in Highs::callSolveLp(HighsLp&, std::basic_string<char, std::char_traits<char>, std::allocator<char> >) () from /usr/local/lib/python3.12/site-packages/highsbox/highs_dist/lib/libhighs.so
#16 0x0000fffe63331978 in Highs::calledOptimizeModel()::{lambda(HighsLp&, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, double&)#1}::operator()(HighsLp&, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, double&) const () from /usr/local/lib/python3.12/site-packages/highsbox/highs_dist/lib/libhighs.so
#17 0x0000fffe63336edc in Highs::calledOptimizeModel() () from /usr/local/lib/python3.12/site-packages/highsbox/highs_dist/lib/libhighs.so
#18 0x0000fffe63337b90 in Highs::optimizeModel() () from /usr/local/lib/python3.12/site-packages/highsbox/highs_dist/lib/libhighs.so
#19 0x0000fffe63337d1c in Highs::run() () from /usr/local/lib/python3.12/site-packages/highsbox/highs_dist/lib/libhighs.so
#20 0x0000ffff03cc8cb0 in POIHighsModel::optimize() () from /usr/local/lib/python3.12/site-packages/pyoptinterface/_src/highs_model_ext.abi3.so
#21 0x0000ffff03caeb10 in ?? () from /usr/local/lib/python3.12/site-packages/pyoptinterface/_src/highs_model_ext.abi3.so
#22 0x0000ffff03cb7a68 in ?? () from /usr/local/lib/python3.12/site-packages/pyoptinterface/_src/highs_model_ext.abi3.so
#23 0x0000ffff422c6d10 in ?? () from /usr/local/lib/python3.12/site-packages/pyoptinterface/_src/core_ext.abi3.so
#24 0x0000ffff85b3c5f4 in _PyObject_VectorcallTstate (kwnames=<optimized out>, nargsf=<optimized out>, args=<optimized out>, callable=<nanobind.nb_bound_method at remote 0xffff742896c0>, tstate=0xffff85f4cc78 <_PyRuntime+459672>) at ./Include/internal/pycore_call.h:92
#25 PyObject_Vectorcall (callable=<nanobind.nb_bound_method at remote 0xffff742896c0>, args=<optimized out>, nargsf=<optimized out>, kwnames=<optimized out>) at Objects/call.c:325
#26 0x0000ffff85b243e0 in _PyEval_EvalFrameDefault (tstate=0x0, frame=0xffff85f86520, throwflag=-324333552) at Python/bytecodes.c:2706
#27 0x0000ffff85b93c04 in PyEval_EvalCode (co=<optimized out>, globals={'__name__': '__main__', '__doc__': None, '__package__': 'csub', '__loader__': <SourceFileLoader(name='csub.execute', path='/root/src/csub/execute.py') at remote 0xffff854b4890>, '__spec__': <ModuleSpec(name='csub.execute', loader=<...>, origin='/root/src/csub/execute.py', loader_state=None, submodule_search_locations=None, _uninitialized_submodules=[], _set_fileattr=True, _cached='/root/src/csub/__pycache__/execute.cpython-312.pyc') at remote 0xffff854b48c0>, '__annotations__': {}, '__builtins__': <module at remote 0xffff85621940>, '__file__': '/root/src/csub/execute.py', '__cached__': '/root/src/csub/__pycache__/execute.cpython-312.pyc', 'os': <module at remote 0xffff85676610>, 'sys': <module at remote 0xffff8561be70>, 'importlib': <module at remote 0xffff85458590>, 'copy': <module at remote 0xffff854cc9f0>, 'dt': <module at remote 0xffff854cef70>, 'read_pipelines': <function at remote 0xffff853b5080>, 'read_artifacts': <function at remote 0xffff853b56c0>, 'create_execution_handler': <function at remote 0xf...(truncated), locals={'__name__': '__main__', '__doc__': None, '__package__': 'csub', '__loader__': <SourceFileLoader(name='csub.execute', path='/root/src/csub/execute.py') at remote 0xffff854b4890>, '__spec__': <ModuleSpec(name='csub.execute', loader=<...>, origin='/root/src/csub/execute.py', loader_state=None, submodule_search_locations=None, _uninitialized_submodules=[], _set_fileattr=True, _cached='/root/src/csub/__pycache__/execute.cpython-312.pyc') at remote 0xffff854b48c0>, '__annotations__': {}, '__builtins__': <module at remote 0xffff85621940>, '__file__': '/root/src/csub/execute.py', '__cached__': '/root/src/csub/__pycache__/execute.cpython-312.pyc', 'os': <module at remote 0xffff85676610>, 'sys': <module at remote 0xffff8561be70>, 'importlib': <module at remote 0xffff85458590>, 'copy': <module at remote 0xffff854cc9f0>, 'dt': <module at remote 0xffff854cef70>, 'read_pipelines': <function at remote 0xffff853b5080>, 'read_artifacts': <function at remote 0xffff853b56c0>, 'create_execution_handler': <function at remote 0xf...(truncated)) at Python/ceval.c:578
#28 0x0000ffff85bc1170 in builtin_exec_impl (module=<optimized out>, closure=<optimized out>, locals={'__name__': '__main__', '__doc__': None, '__package__': 'csub', '__loader__': <SourceFileLoader(name='csub.execute', path='/root/src/csub/execute.py') at remote 0xffff854b4890>, '__spec__': <ModuleSpec(name='csub.execute', loader=<...>, origin='/root/src/csub/execute.py', loader_state=None, submodule_search_locations=None, _uninitialized_submodules=[], _set_fileattr=True, _cached='/root/src/csub/__pycache__/execute.cpython-312.pyc') at remote 0xffff854b48c0>, '__annotations__': {}, '__builtins__': <module at remote 0xffff85621940>, '__file__': '/root/src/csub/execute.py', '__cached__': '/root/src/csub/__pycache__/execute.cpython-312.pyc', 'os': <module at remote 0xffff85676610>, 'sys': <module at remote 0xffff8561be70>, 'importlib': <module at remote 0xffff85458590>, 'copy': <module at remote 0xffff854cc9f0>, 'dt': <module at remote 0xffff854cef70>, 'read_pipelines': <function at remote 0xffff853b5080>, 'read_artifacts': <function at remote 0xffff853b56c0>, 'create_execution_handler': <function at remote 0xf...(truncated), globals={'__name__': '__main__', '__doc__': None, '__package__': 'csub', '__loader__': <SourceFileLoader(name='csub.execute', path='/root/src/csub/execute.py') at remote 0xffff854b4890>, '__spec__': <ModuleSpec(name='csub.execute', loader=<...>, origin='/root/src/csub/execute.py', loader_state=None, submodule_search_locations=None, _uninitialized_submodules=[], _set_fileattr=True, _cached='/root/src/csub/__pycache__/execute.cpython-312.pyc') at remote 0xffff854b48c0>, '__annotations__': {}, '__builtins__': <module at remote 0xffff85621940>, '__file__': '/root/src/csub/execute.py', '__cached__': '/root/src/csub/__pycache__/execute.cpython-312.pyc', 'os': <module at remote 0xffff85676610>, 'sys': <module at remote 0xffff8561be70>, 'importlib': <module at remote 0xffff85458590>, 'copy': <module at remote 0xffff854cc9f0>, 'dt': <module at remote 0xffff854cef70>, 'read_pipelines': <function at remote 0xffff853b5080>, 'read_artifacts': <function at remote 0xffff853b56c0>, 'create_execution_handler': <function at remote 0xf...(truncated), source=<code at remote 0xaaaaebb13040>) at Python/bltinmodule.c:1096
#29 builtin_exec (module=<optimized out>, args=<optimized out>, nargs=<optimized out>, kwnames=<optimized out>) at Python/clinic/bltinmodule.c.h:586
#30 0x0000ffff85b94970 in cfunction_vectorcall_FASTCALL_KEYWORDS (func=<built-in method exec of module object at remote 0xffff85621940>, args=0xffff85f86180, nargsf=<optimized out>, kwnames=0x0) at Objects/methodobject.c:438
#31 0x0000ffff85b3c5f4 in _PyObject_VectorcallTstate (kwnames=<optimized out>, nargsf=<optimized out>, args=<optimized out>, callable=<built-in method exec of module object at remote 0xffff85621940>, tstate=0xffff85f4cc78 <_PyRuntime+459672>) at ./Include/internal/pycore_call.h:92
#32 PyObject_Vectorcall (callable=<built-in method exec of module object at remote 0xffff85621940>, args=<optimized out>, nargsf=<optimized out>, kwnames=<optimized out>) at Objects/call.c:325
#33 0x0000ffff85b243e0 in _PyEval_EvalFrameDefault (tstate=0x2, frame=0xffff85f86190, throwflag=-324333552) at Python/bytecodes.c:2706
#34 0x0000ffff85bdd8e8 in pymain_run_module (modname=<optimized out>, set_argv0=set_argv0@entry=1) at Modules/main.c:300
#35 0x0000ffff85bdce94 in pymain_run_python (exitcode=0xffffcdce3524) at Modules/main.c:623
#36 Py_RunMain () at Modules/main.c:709
#37 0x0000ffff85b77e38 in Py_BytesMain (argc=<optimized out>, argv=<optimized out>) at Modules/main.c:763
#38 0x0000ffff857b7744 in __libc_start_call_main (main=main@entry=0xaaaac91b0960 <main>, argc=argc@entry=5, argv=argv@entry=0xffffcdce37b8) at ../sysdeps/nptl/libc_start_call_main.h:58
#39 0x0000ffff857b7818 in __libc_start_main_impl (main=0xaaaac91b0960 <main>, argc=5, argv=0xffffcdce37b8, init=<optimized out>, fini=<optimized out>, rtld_fini=<optimized out>, stack_end=<optimized out>) at ../csu/libc-start.c:360
#40 0x0000aaaac91b0870 in _start ()
=> 0xfffe628d4f88 <dtrsm_iunucopy+2152>: addvl x1, x2, #1
Metadata
Metadata
Assignees
Labels
No labels
Activity
mwiebusch-urbanchain commentedon Oct 19, 2026
The docker image is based on python:3.12.3 from docker.io, btw.