Skip to content

SIGABRT in property_boundary tests for fplib/wrxlib (reinit-cycle heap corruption) #144

@k-yoshimi

Description

@k-yoshimi

概要

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)。

中期: モジュール毎に調査:

  1. fplib: fp_init/fp_allocate の SAVE 属性欠落、mutated params 下での array-size mismatch
  2. 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

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions