Repository navigation
test: verify #632 segfault fixed by nlp-engine #658 (engine 3.5.6) - #31
Merged
Merged
Conversation
Bump the nlp-engine submodule to 2b156ba (engine 3.5.6), which carries the #658 fix for re-entrant analyze() orphaning/segfaulting on a path-form mismatch. Add ReentrancyRegressionTest (non-skipped) that reproduces the #632 crash path -- repeated analyze() in one process, and switching to a temp working folder then letting TemporaryDirectory tear down the prior engine -- and asserts the calls succeed and the process survives. It does not compare against the drifted output fixtures, so a clean run is an unambiguous signal that the SIGSEGV (exit 139) is gone. The existing fixture-based suites stay skipped pending fixture regeneration. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This was referenced Jun 17, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Verifies that nlp-engine #658 (re-entrant
analyze()orphaning/segfault on a path-form mismatch) resolves the SIGSEGV reported in VisualText/nlp-engine#632.Changes
Bump the
nlp-enginesubmodule3355d34 → 2b156ba(engine 3.5.6, carrying the #658 fix).Add
ReentrancyRegressionTest(non-skipped) reproducing the #632 crash path:analyze()in one process (the re-entrantaddAnapath that used to log "Named analyzer already present" and orphan a fresh NLP), andTemporaryDirectorytear down the prior engine — the exact teardown that producedexit code 139.These assert the calls succeed and the process survives; they intentionally do not compare against the drifted output fixtures, so a green run is an unambiguous "no SIGSEGV" signal.
Why not just un-skip the existing suites
The existing
ModuleTest/EngineTestare skipped for two reasons (per the in-file comment): the destructor segfault (#632, fixed here) and output-format drift in thetext.txt_logfixtures. The fixtures still need regeneration, so those stay skipped; this PR isolates the crash fix so CI gives a clean signal.Expected
test.yml(ubuntu) runs the suite to completion — the unittest summary prints and the job exits 0, where pre-#658 the process died with exit 139 before the summary.Closes VisualText/nlp-engine#632 once green (and the engine 3.5.6 release ships).
🤖 Generated with Claude Code