Skip to content

fix(blobExec): denylist only the 4 StatTimes.h blobs that still hang - #108

Merged
EllianCarlos merged 1 commit into
masterfrom
fix/denylist-develop
Oct 6, 2026
Merged

EllianCarlos merged 1 commit into
masterfrom
fix/denylist-develop

Conversation

@EllianCarlos

Copy link
Copy Markdown
Collaborator

Problem

The blob denylist holds 12 blobs. srcML 1.1.0 did not end on them. 8 of them are Java blobs with annotated array dimensions (srcML/srcML#2361). #104 moved srcML to develop d38271916. Develop parses the 8 Java blobs. Thus the denylist keeps 8 good blobs out of the dataset.

DATASET.md says that the denylist holds 209 blobs in three srcML 1.1.0 defects. #102 removed the 197 crash entries. README.md says 12 entries.

Change

  • BlobDenylistEntries.scala drops the 8 Java entries. It keeps the 4 eden/fs/utils/StatTimes.h entries. Their reason names srcML 1.1.0 and develop d38271916.
  • BlobDenylistSpec asserts the 4 entries. A new test asserts that the 8 Java blobs are not on the list. The lookup tests use a C entry.
  • The WalkerIntegrationSpec fixture entry and comments no longer cite #2361.
  • README.md and DATASET.md give the 4 entries and the defect.

Measured with tokenizeSrcMl.pl and the devenv build (develop d38271916). All 12 blobs ran in parallel with a cap of 120 s:

Blobs Exit Time Token lines
8 Java 0 0.05 to 0.07 s 1,189 to 2,599
4 StatTimes.h 124 (timeout) 120 s 0

The minimal reproducer namespace n{struct T&f(const struct S);} still hangs on develop (timeout at 30 s).

Not changed

  • The denylist code and the exclusion behavior.
  • The C entry citation srcml-nontermination-analysis.md#.... That file is not in this repository.
  • Tokenizer files, devenv.nix, nix/, and test fixtures.

Tests

  • devenv shell -- bash -c 'cd blobExec && sbt -batch test assembly': 185 passed.
  • make test in tokenize/srcMLtoken and tokenize/rustTokenizer: pass.
  • tests/test_token_worker.sh: pass. prove tests/t: 239 passed.
  • tests/{tokenize_gate,pipeline_workdir_guard,ensure_artifacts,retokenize_passthrough,reblame_passthrough}.sh: 50, 79, 42, 34, 15 passed.
  • pytest -q: 82 passed.

srcML 1.1.0 did not terminate on 8 Java blobs with annotated array
dimensions (srcML/srcML#2361). #104 moved srcML to develop d38271916.
Develop parses all 8 blobs. Each one gives exit 0 and a token stream
of 1,154 to 2,588 lines in 0.07 s or less. The denylist kept them out
of the dataset for no reason.

The 4 StatTimes.h blobs stay on the list. Develop still does not end
on them within 120 s, and the minimal reproducer still hangs. Their
reason now names both srcML versions.

BlobDenylistSpec now asserts the 4 entries, and a new test asserts
that the 8 Java blobs are not on the list. The lookup tests use a C
entry. The WalkerIntegrationSpec fixture no longer cites #2361.

DATASET.md said that the denylist holds 209 blobs in three srcML
1.1.0 defects. #102 removed the 197 crash entries, and this commit
removes the 8 Java entries. README.md gave 12 entries. Both
now give the 4 StatTimes.h blobs, which srcML 1.1.0 and develop
d38271916 do not end on.
@EllianCarlos
EllianCarlos merged commit 5f0b6b6 into master Oct 6, 2026
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant