C++ modifier and bug_gen_modal updates#234
Conversation
RepoProfile previously used multiprocessing.Lock for each registered profile instance. On this machine, profile registration can hit OS semaphore limits and fail with '[Errno 28] No space left on device' during SemLock allocation. Switching to threading.Lock preserves the in-process critical section semantics used by clone/cache initialization while avoiding per-profile OS semaphore allocation. This keeps profile resolution stable for local bug-gen/validation entrypoints and removes a non-deterministic local runtime failure mode.
Ninjacc60300a was validating with './build/ninja_test' only. Post-patch validation could therefore run a stale prebuilt binary and miss source-level mutations. Update test_cmd to rebuild first (make -j$(nproc)) and then run ninja_test so validation exercises patched sources.
- test_cmd now rebuilds hash_test + string_view_sso_test before ctest to ensure source patches affect validation results - bug generation excludes non-covered trees (/src and non-base helio dirs) to focus on the tested surface Run stats: 398 generated, 398 validated, 1 valid (0.3% pass)
…mes out after 20 minutes
… and bool literal flips
Made-with: Cursor
…vin/cpp2 # Conflicts: # swesmith/profiles/cpp.py # tests/profiles/test_profiles_cpp.py
for more information, see https://pre-commit.ci
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 450682ecd1
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
| dirs_exclude: list[str] = [], | ||
| dirs_include: list[str] = [], | ||
| files_exclude: list[str] = [], |
There was a problem hiding this comment.
Keep extract_entities override signatures aligned
Adding files_exclude to RepoProfile.extract_entities introduces a runtime API mismatch because the language-specific overrides in swesmith/profiles/javascript.py, swesmith/profiles/typescript.py, and swesmith/profiles/cpp.py still use the old signature; calling profile.extract_entities(files_exclude=[...]) on those profiles now raises TypeError: unexpected keyword argument. This breaks the new exclusion feature for common profile types and will fail any generic caller that relies on the base-class interface.
Useful? React with 👍 / 👎.
No description provided.