Bug hunt ledger: Maven #318
Replies: 10 comments
|
[agent] 2026-09-30: Maven bug-hunt run Tested: main Filed
Commented
Cells covered
False positives ruled out
Held (not filed yet)
Probe:
Next
|
|
[agent] 2026-09-30: Maven bug-hunt run Tested: main Re-triage: #342 and #350 are still open. main hasn't moved since they were filed, so there's nothing to re-check. Filed
Cells covered (Linux, 3.9.11 unless noted)
False positives ruled out
Probe: none this run. The stale branch Next
|
|
[agent] 2026-10-01: maintainer note: test global ( This is a maintainer request, not a run report. Add it to the top of the backlog and keep it there until the cells below are covered. Ask: make sure we correctly scan global installs when Where Maven puts global installs: The local repository ( What to check (prove each with a real global install, not by reading source):
Add OS × Maven version cells for |
|
[agent] 2026-10-01: Maven bug-hunt run Tested: main Maintainer backlog item 0 (global Filed
Re-triage
Cells covered
False positives ruled out
Probe branches: Next
|
|
[agent] 2026-10-01: Maven bug-hunt run Tested: main Filed
Commented
Re-triage: main is unchanged since run 3, so #430 / #423 / #424 / #350 / #342 still hold. No re-runs beyond #394. Cells covered (reactor capstone variant
False positives ruled out
Probe branches: Next
|
|
[agent] 2026-10-01: Maven bug-hunt run Tested: main Filed
Commented
Re-triage: the vendor/jvm and agent/global code is unchanged since run 4, so #459 / #430 / #423 / #424 / #394 / #350 / #342 still stand (not re-run). Cells covered (local uncommitted variant of
False positives ruled out
Probe branches: Next
|
|
[agent] 2026-10-01: Maven bug-hunt run Tested: main Filed
Commented
Re-triage
Cells covered
False positives ruled out
Probe branches: none pushed. Next
|
|
[agent] 2026-10-02: Maven bug-hunt run Tested: main Filed
Re-triage
Cells covered (Linux)
False positives ruled out
Probe branches: none pushed, because Next
|
|
[agent] 2026-10-02: Maven bug-hunt run Tested: main Filed
Re-triage
Cells covered (Linux)
False positives ruled out
Probe branches: none pushed (deleting a probe branch was denied in earlier runs). Next
|
|
[agent] 2026-10-02: Maven bug-hunt run Tested: main Filed
Re-triage
Cells covered (Linux)
False positives ruled out
Probe branches: none pushed (deleting a probe branch has been denied in earlier runs). Next
|
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
[agent] Progress ledger for the scheduled Maven bug-hunt routine (label pm:maven).
Last updated: 2026-10-02 (run 9), main
bf0e0d1, latest release 4.0.0. Maven 3.9.16 (newest 3.9) and 4.0.0-rc-7 (newest 4.x) are still the newest releases.Coverage matrix
Oracles: a real Maven resolve, plus a marker in the patched member (jar or pom). Global
-gcells use real Maven installs into the local repository and a stub patch API (/tmp-local Python stub serving batch / by-package / view / blob). v5 vendored cells use the repo capstones (e2e_vendor_jvm_build,e2e_vendor_maven_build,e2e_redirect_maven_build) and local, uncommitted variants of them. Linux runs use JDK 21; the macOS / Windows probes use the runner's default JDK. From run 6, variant fixtures resolve through a local caching mirror of Central (mirrorOf central) to avoid 429s.v5 global mode (
-g)<localRepository>-g --mode hostedrefusalv5 vendored / hosted (Linux unless noted)
--maven-config=none:-onone:cd modulenone:-f rootfrom outside,/ space /%2Fmaven.config(CRLF / no EOL / user tail)aether.checksums.algorithms=SHA-256${prop}%XXpath<repositories/>v5 vendored reactor: external version management (runs 5–6, Linux)
${prop}overridden ≠ base in local root${prop}= base<parent/>+ root${prop}<parent/>literal / versionlessv5 vendored reactor: maven.config user properties and VEX /
--check(run 7, Linux)--define=k=voverrides pom prop-D k=v-Dk=v(control)vex/vendor --check,relativePath= directoryrelativePath ..relativePath= filev5 vendored reactor: maven.config
#comment lines (run 8, Linux)# -Dct.version=<base>over newer pom prop# -Dct.version=<newer>over base pom prop# note)#)#)v5 vendored reactor: post-vendor drift and remove (run 9, Linux)
vendor --checkvexremove <purl>after a user edit to the wired parentv5 hosted Trusted Checksums boundary (#258, run 5, Linux)
e2e_redirect_maven_build(unenforced warning ⇔ tamper enforcement)v4.0.0 results (runs 1–2, main
f6b7fb9; not re-run on v5 unless shown above)%XXin path<repositories/><repositories/>,<dependencyManagement/>, comment in depMgmtBacklog
-g): mostly covered in run 3 (see the matrix and the 20261001T061707Z entry). Still open:-gagent apply / rollback / vex and the read-only global dir on macOS / Windows (probe). Keep this item until those cells pass or fail. It's blocked on item 1: a probe branch can't be cleaned up whilegit push --deleteis denied.bughunt/maven/20260930-vendored-pathsandbughunt/maven/20261001-global-repo.git push --deletehung up in run 4 and was denied by the session permission policy in runs 5 and 6 (not retried since). Probe commits must use the default (signed) git identity. Don't overrideuser.email.vexvsvendor --check. Also the Vendored Maven reactor vex attests not_affected after a module added later declares the base version, although vendor --check flags the drift and that module builds Central's unpatched jar #584 cells on 3.6.3..mvn/maven.configwithfailIfMissing=trueplus a userchecksums.sha256, and a rollback round trip, end to end (maven_trusted_checksums_left).${revision}parents, implicit<subprojects>.-Dvalues containing${...}(Maven 4 interpolation).mirrorOf central→ localhost works)..socket/vendor/maven2(the* -text.gitattributes).%2Fpaths, existing CRLFmaven.config).%XXpath,<repositories/>).Known non-bugs
patches-api.socket.dev/patch.socket.devaren't used. Stage manifests locally, or use the Python / wiremock stubs.maven-dependency-plugin:3.6.1depends on commons-text 1.10.0, so fixtures that patch commons-text 1.10.0 get the plugin realm's Central copy in the local repository (the same effect as Same-GAV Maven patches are shadowed when a build plugin depends on the same GAV in a reactor build #274). Use plugin 3.1.2 for the resolve oracle.InvalidPathException … unmappable characterson a unicode project path unlessLC_ALL=C.UTF-8. That's a sandbox artifact, not a socket-patch bug.<version>[1.10.0]</version>→redirect_maven_dep_version_mismatch,redirected: 0, nothing written: documented behaviour..pomfiles ("Non-parseable POM … Your…") are rate-limit artifacts. Delete poms under 200 bytes from the seed repo and retry.<subprojects>aggregator not refused by vendored mode: harmless on 4.0.0-rc-7 (see backlog 6).user.homecomes from passwd, not$HOME. Pass-Duser.home=$HOMEto Maven when faking a home directory.--maven-config=nonecells need a local repo warmed per Maven version: a repo warmed for one version misses the other versions' default lifecycle plugins.rollback -gwithout the before-blob → loud exit 1 "--offline prevents fetching": documented.<classifier>and suffixes sources/tests/native classifier dependencies, which breaks the build #262, repository order / mirrors Vendored Maven silently resolves the unpatched jar when an earlier<repository>or amirrorOf *mirror serves the same GAV, and VEX still attests #263, crawler lists all of ~/.m2 Maven hosted scan pins, and VEX attests, artifacts the project doesn't depend on (the crawler lists all of~/.m2) #265, no re-pin Hosted Maven never re-pins: a superseding patch uuid or a rotated grant token leaves the old wiring in place #266, CI matrix Maven CI matrix has no Windows leg, a stale 4.0 RC, and no legs at the resolver boundaries #267, no hosted revert Hosted Maven redirects cannot be reverted, andremoverecommends an unscoped rollback that also fails #271, lowercased GAV Vendored Maven payload is written under the lowercased GAV, so mixed-case artifacts silently fall through to Central on case-sensitive file systems #272, CRLF Maven pom edits insert LF lines into CRLF pom.xml files (hosted and vendored) #273, plugin shadow Same-GAV Maven patches are shadowed when a build plugin depends on the same GAV in a reactor build #274)..mvn/maven.config: Maven 3.9.11 and 4.0.0-rc-7 refuse the file themselves ("Unrecognized maven.config file entries"). Not caused by socket-patch.maven.repo.local.tailsplits, and Maven falls back to thesocket-patch-vendorfile repository (the jar is copied into m2, still the patched suffixed version). Degraded but fail-closed, not filed.merge_checksumsdrops non-<sha> <path>lines (#comments) and re-sorts a user'schecksums.sha256. Maven ignores those lines, so this is cosmetic and not filed.vendorhas no local artifact building: without a patch service it failsvendor_service_offline_conflict. Drive it through the harness fixture server (prebuilt_common::prepare_command), not a bare manifest +--offline.vendor_unwired). Recorded on Vendored Maven reactor ignores profile <properties>, so a version an active profile raises is silently downgraded to the patched base (1.11.0 → 1.10.0-socket.*) with exit 0 and no warning #459, not re-filed.not_affected, which is the Maven hosted scan pins, and VEX attests, artifacts the project doesn't depend on (the crawler lists all of~/.m2) #265 family. Not filed.~/.m2) #265 already names. Don't re-file..mvn/maven.config--define k=von one line: Maven 3.9.11 / 4.0.0-rc-7 reject it themselves ("Unrecognized option"). A quoted-Dk="v"fails the build on every Maven line. Not socket-patch.-D k=v(separate tokens) is ignored by Maven 4.0.0-rc-7 itself, so the Vendored Maven reactor ignores user properties set in .mvn/maven.config as --define=k=v or -D k=v, so a 1.11.0 build is silently downgraded to 1.10.0-socket.* with no warning #535 cell is n/a on Maven 4.#comment lines in.mvn/maven.configon Maven 3.6.3 / 3.8.8: Maven itself rejects them. Only 3.9+ / 4.x treat them as comments (Vendored Maven reactor reads -D properties from commented-out .mvn/maven.config lines, so a 1.11.0 build is silently downgraded to 1.10.0-socket.* (or a valid patch is refused) #550).merge_mvn_config: a user's owntrustedChecksums=false,checksumAlgorithms=SHA-512orsummaryFile.basedirelsewhere is left as is, with aredirect_maven_trusted_checksums_conflictwarning. The suffixed version stays fail-closed, so this is warned behaviour, not filed.All reactions