coin-or / coin-or/CyLP

The test cylp/py/test_PySolve.py causes a SEGV

Open
#232 0 comments 0 reactions 0 assignees View on GitHub
Dominant language
JetBrains MPS
Stars
192
Forks
70
PR merge metrics
No merged PRs in 30d

Description

```
======================================================================================== test session starts =========================================================================================
platform freebsd15 -- Python 3.12.13, pytest-8.4.2, pluggy-1.6.0
Using --randomly-seed=2146726496
benchmark: 5.1.0 (defaults: timer=time.perf_counter disable_gc=False min_rounds=5 min_time=0.000005 max_time=1.0 calibration_precision=10 warmup=False warmup_iterations=100000)
Test order randomisation NOT enabled. Enable with --random-order or --random-order-bucket=
rootdir: /usr/ports/math/py-CyLP/work-py312
plugins: aspectlib-2.0.0, forked-1.6.0, asyncio-1.4.0, timeout-2.4.0, langsmith-0.10.0, xdist-3.8.0, datadir-1.8.0, randomly-3.16.0, trio-0.8.0, parallel-0.1.1, flask-1.3.0, hypothesis-6.156.6, pyfakefs-5.10.2, recording-0.13.4, anyio-4.14.1, mypy-testing-0.1.3, flaky-3.8.1, cov-5.0.0, subtests-0.12.1, benchmark-5.1.0, console-scripts-1.4.1, time-machine-2.13.0, rerunfailures-15.0, typeguard-4.5.2, mock-3.15.1, random-order-1.1.1, syrupy-2026.4.6.124150327040, subprocess-1.5.2
asyncio: mode=Mode.STRICT, debug=False, asyncio_default_fixture_loop_scope=None, asyncio_default_test_loop_scope=function
collected 17 items / 1 deselected / 16 selected

stage/usr/local/lib/python3.12/site-packages/cylp/py/modeling/test_modeling.py ............ [ 75%]
stage/usr/local/lib/python3.12/site-packages/cylp/py/test_PySolve.py Fatal Python error: Segmentation fault

Thread 0x000035db9f844810 (most recent call first):
File "/usr/local/lib/python3.12/socket.py", line 295 in accept
File "/usr/local/lib/python3.12/site-packages/pytest_rerunfailures.py", line 440 in run_server
File "/usr/local/lib/python3.12/threading.py", line 1012 in run
File "/usr/local/lib/python3.12/threading.py", line 1075 in _bootstrap_inner
File "/usr/local/lib/python3.12/threading.py", line 1032 in _bootstrap

Current thread 0x000035db9f844010 (most recent call first):
File "/usr/ports/math/py-CyLP/work-py312/stage/usr/local/lib/python3.12/site-packages/cylp/py/PySolve.py", line 18 in solve
File "/usr/ports/math/py-CyLP/work-py312/stage/usr/local/lib/python3.12/site-packages/cylp/py/test_PySolve.py", line 18 in test_pe
File "/usr/local/lib/python3.12/unittest/case.py", line 589 in _callTestMethod
File "/usr/local/lib/python3.12/unittest/case.py", line 634 in run
File "/usr/local/lib/python3.12/unittest/case.py", line 690 in __call__
File "/usr/local/lib/python3.12/site-packages/_pytest/unittest.py", line 351 in runtest
File "/usr/local/lib/python3.12/site-packages/_pytest/runner.py", line 178 in pytest_runtest_call
File "/usr/local/lib/python3.12/site-packages/pluggy/_callers.py", line 121 in _multicall
File "/usr/local/lib/python3.12/site-packages/pluggy/_manager.py", line 120 in _hookexec
File "/usr/local/lib/python3.12/site-packages/pluggy/_hooks.py", line 512 in __call__
File "/usr/local/lib/python3.12/site-packages/flaky/flaky_pytest_plugin.py", line 146 in
File "/usr/local/lib/python3.12/site-packages/_pytest/runner.py", line 344 in from_call
File "/usr/local/lib/python3.12/site-packages/flaky/flaky_pytest_plugin.py", line 145 in _call_runtest_hook
File "/usr/local/lib/python3.12/site-packages/flaky/flaky_pytest_plugin.py", line 149 in call_and_report
File "/usr/local/lib/python3.12/site-packages/_pytest/runner.py", line 136 in runtestprotocol
File "/usr/local/lib/python3.12/site-packages/_pytest/runner.py", line 117 in pytest_runtest_protocol
File "/usr/local/lib/python3.12/site-packages/flaky/flaky_pytest_plugin.py", line 89 in pytest_runtest_protocol
File "/usr/local/lib/python3.12/site-packages/pluggy/_callers.py", line 121 in _multicall
File "/usr/local/lib/python3.12/site-packages/pluggy/_manager.py", line 120 in _hookexec
File "/usr/local/lib/python3.12/site-packages/pluggy/_hooks.py", line 512 in __call__
File "/usr/local/lib/python3.12/site-packages/_pytest/main.py", line 367 in pytest_runtestloop
File "/usr/local/lib/python3.12/site-packages/pluggy/_callers.py", line 121 in _multicall
File "/usr/local/lib/python3.12/site-packages/pluggy/_manager.py", line 120 in _hookexec
File "/usr/local/lib/python3.12/site-packages/pluggy/_hooks.py", line 512 in __call__
File "/usr/local/lib/python3.12/site-packages/_pytest/main.py", line 343 in _main
File "/usr/local/lib/python3.12/site-packages/_pytest/main.py", line 289 in wrap_session
File "/usr/local/lib/python3.12/site-packages/_pytest/main.py", line 336 in pytest_cmdline_main
File "/usr/local/lib/python3.12/site-packages/pluggy/_callers.py", line 121 in _multicall
File "/usr/local/lib/python3.12/site-packages/pluggy/_manager.py", line 120 in _hookexec
File "/usr/local/lib/python3.12/site-packages/pluggy/_hooks.py", line 512 in __call__
File "/usr/local/lib/python3.12/site-packages/_pytest/config/__init__.py", line 175 in main
File "/usr/local/lib/python3.12/site-packages/_pytest/config/__init__.py", line 201 in console_main
File "/usr/local/bin/pytest", line 8 in

Extension modules: hunter._event, hunter._tracer, hunter._predicates, _brotli, zstandard.backend_c, simplejson._speedups, psutil._psutil_bsd, xxhash._xxhash, numpy._core._multiarray_umath, numpy.linalg._umath_linalg, numpy.random._common, numpy.random.bit_generator, numpy.random._bounded_integers, numpy.random._pcg64, numpy.random._generator, numpy.random._mt19937, numpy.random._philox, numpy.random._sfc64, numpy.random.mtrand, _time_machine, cylp.cy.CyCoinIndexedVector, cylp.cy.CyCoinModel, cylp.cy.CyCoinPackedMatrix, cylp.cy.CyCgl, cylp.cy.CyCbcNode, cython.cimports.libc.math, _cyutility, scipy._cyutility, scipy._lib._ccallback_c, scipy.sparse._sparsetools, _csparsetools, scipy.sparse._csparsetools, cylp.cy.CyOsiCuts, cylp.cy.CyCglTreeInfo, cylp.cy.CyCglCutGeneratorBase, cylp.cy.CyCutGeneratorPythonBase, cylp.cy.CyCbcModel, cylp.cy.CyOsiSolverInterface, cylp.cy.CyClpDualRowPivotBase, cylp.cy.CyClpPrimalColumnPivotBase, cylp.cy.CyWolfePivot, cylp.cy.CyPEPivot, cylp.cy.CyPivotPythonBase, cylp.cy.CyDualPivotPythonBase, cylp.cy.CyCoinMpsIO, cylp.cy.CyClpSimplex, cylp.cy.CyDantzigPivot (total: 47)
Segmentation fault
*** Error code 139
```

Version: 0.94.0
Python-3.12
FreeBSD 15.1 STABLE

Contributor guide

No contributing guide indexed for this repository

Research direction

The failing test is cylp/py/test_PySolve.py, which calls solve in cylp/py/PySolve.py. First reproduce it on Python 3.12 and FreeBSD 15.1, then inspect the native extension modules listed in the traceback. Trace the solve call and rerun the test to confirm it completes without a segmentation fault.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
testing-qa
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
48/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.