概要
PR #141 で --ignore-glob='*property_boundary*' を外した結果、以下 3 テストが CI で SIGABRT (signal 6) でクラッシュすることが判明。
テスト
失敗パターン
推定原因
python/fplib/tests/test_property_boundary.py::TestFplibBoundaryValues::test_NSMAX_in_range
SIGABRT
NSMAX=1..4 sweep、MEMORY feedback fp heap-reuse (#111 ) と同系統
python/wrxlib/tests/test_property_boundary.py::TestWrxlibBoundaryValues::test_MDLWRI_sweep
SIGABRT
MDLWRI sweep、wrx_heap_reuse_bug_class (#110 ) 系統
python/wrxlib/tests/test_property_boundary.py::TestWrxlibBoundaryValues::test_pne_threshold_sweep
SIGABRT
pne_threshold sweep、同上
これらは PR #141 以前は --ignore-glob で隠蔽されており、un-ignore したことで顕在化した 既存バグ 。PR #141 自体が原因ではない。
対処
短期: @pytest.mark.xfail(strict=False, reason="#<this issue>") を付けて CI を通す。xfail マーカーは本 issue 解決時に削除(#142 と同様の removal-pressure convention)。
中期: モジュール毎に調査:
fplib: fp_init/fp_allocate の SAVE 属性欠落、mutated params 下での array-size mismatch
wrxlib: wrx_heap_reuse_bug_class (fix(fp): fpcomm alloc/dealloc symmetry for wave + DISRUPT arrays #110 系) の追加経路。valgrind で特定
関連
受け入れ条件
3 テストとも --forked 下で CRASH せず pass または controlled TrlibError/WrlibError
valgrind 下でも clean
xfail マーカーが削除され CI green
概要
PR #141 で
--ignore-glob='*property_boundary*'を外した結果、以下 3 テストが CI で SIGABRT (signal 6) でクラッシュすることが判明。python/fplib/tests/test_property_boundary.py::TestFplibBoundaryValues::test_NSMAX_in_rangefeedback fp heap-reuse(#111) と同系統python/wrxlib/tests/test_property_boundary.py::TestWrxlibBoundaryValues::test_MDLWRI_sweepwrx_heap_reuse_bug_class(#110) 系統python/wrxlib/tests/test_property_boundary.py::TestWrxlibBoundaryValues::test_pne_threshold_sweepこれらは PR #141 以前は
--ignore-globで隠蔽されており、un-ignore したことで顕在化した 既存バグ。PR #141 自体が原因ではない。対処
短期:
@pytest.mark.xfail(strict=False, reason="#<this issue>")を付けて CI を通す。xfail マーカーは本 issue 解決時に削除(#142 と同様の removal-pressure convention)。中期: モジュール毎に調査:
fp_init/fp_allocateの SAVE 属性欠落、mutated params 下での array-size mismatch関連
feedback_property_based_tests,feedback_use_valgrind受け入れ条件