Skip to content

Fixes for SWE-bench Multilingual#2

Merged
ludwig-n merged 3 commits intomainfrom
ludwig-n/multilingual-fixes
Dec 4, 2025
Merged

Fixes for SWE-bench Multilingual#2
ludwig-n merged 3 commits intomainfrom
ludwig-n/multilingual-fixes

Conversation

@ludwig-n
Copy link
Collaborator

@ludwig-n ludwig-n commented Dec 1, 2025

This PR fixes several issues with SWE-bench Multilingual evaluation that arise when running inside of unpriviliged Apptainer containers on a cluster. Specifically, it fixes several instances where gold patches were being evaluated as "unresolved".

  1. All Java repositories that use mvnd to run tests (specifically, google/gson and apache/druid) now use mvn instead. This is because mvnd fails to run in our setup for some reason. My understanding is that mvnd is basically a more efficient wrapper over mvn, so test results should not be affected.
  2. Tests for redis/redis and valkey-io/valkey instances are now hardcoded to use different ports for their servers. Previously, they would all use the same port, and it often caused conflicts when running multiple instances on one node (with unprivileged Apptainer containers, there is no way to isolate the ports without cutting off Internet access).
  3. micropython/micropython instances now run tests sequentially instead of in parallel. Previously, the parallel runs resulted in race conditions when printing the test results, causing the parser to interpret them incorrectly.

After these fixes, gold patches for these instances now pass successfully.

None of these are Python repositories, so evaluation for Python-only datasets like SWE-bench Verified is unaffected by this change.

Signed-off-by: Nikolai Ludwig <nliudvig@nvidia.com>
Signed-off-by: Nikolai Ludwig <nliudvig@nvidia.com>
Signed-off-by: Nikolai Ludwig <nliudvig@nvidia.com>
@ludwig-n ludwig-n marked this pull request as ready for review December 2, 2025 17:49
@wasiahmad
Copy link

@ludwig-n Do we have 100% of the gold patches across languages passing all tests? If not, can we list the instance ids for the failed ones here as a record?

@gwarmstrong gwarmstrong self-requested a review December 3, 2025 00:56
@ludwig-n
Copy link
Collaborator Author

ludwig-n commented Dec 3, 2025

Sure! Instances where gold patches consistently fail:

  • jqlang__jq-2681 (patch fails to apply)
  • tokio-rs__tokio-4384 (seems to be a dependency version issue)

Instances that are inconsistent (sometimes pass and sometimes fail):

  • axios__axios-4731
  • axios__axios-4738
  • axios__axios-5892
  • caddyserver__caddy-5995
  • valkey-io__valkey-928 (despite the --baseport fix)

For these instances the reason is most likely port conflict issues, but they aren't easy to fix because the ports in question are hardcoded in the test code.

@ludwig-n ludwig-n merged commit 0f341d3 into main Dec 4, 2025
2 checks 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.

3 participants

Comments