Comments (2)
I was thrown off because this was a PR run, but it turned out not to have anything do with the Scala version number bump, it's just that bumping the version number was what triggered dbuild to stop using cached artifacts in the target-0.9.20
directory and retrieve new ones from our Artifactory (scala-ci.typesafe.com/artifactory)
so the root cause turned out to be that our Artifactory had a bad JAR in cache, dating back to April 7, so this was an aftereffect of http://github.com/sbt/sbt/issues/7202 βΒ it's still not fully clear to me why the bad artifact didn't cause any failures on April 7. perhaps some build did fail on April 7, perhaps one I ran locally, and I didn't notice, or perhaps there were multiple failures in some run, or idk what
from community-build.
only the 2.12 build was affected, because only sbt 0.13 was affected, and the 2.13 build is all sbt 1 these days
only dbuild was affected, the JAR involved only comes into the picture specifically when running inside dbuild
as soon as I started suspecting April 7 as the cause, I went into our Artifactory and did "Zap cache" to all of the virtual repositories
since at that point I didn't yet know what the bad artifact was
but it turns out that "Zap cache" doesn't really do anything. or didn't in this case
so I actually had to identify the bad artifact, and then find it in the artifact browser and hit "Delete"
(one hopes we don't have any other bad artifacts in cache)
it's annoying that Artifactory will happily cache something that isn't a JAR β this was one of the reasons the April 7 event was so pernicious. and it's doubly annoying that our open-source plan with JFrog caused HTML pages to be served as JARs, rather than 404ing or whatever
I do wonder if there's some setting we don't have enabled that would have prevented the caching of bad artifacts, at least
anyway
commands like these were helpful for identifying the bad artifact locally:
find ~/.dbuild -name \*.jar | xargs -L 1 zip -T | grep -v OK\$
find ~/.ivy2 -name \*.jar | xargs -L 1 zip -T | grep -v OK\$
find ~/.m2 -name \*.jar | xargs -L 1 zip -T | grep -v OK\$
find ~/cb2 -name \*.jar | xargs -L 1 zip -T | grep -v OK\$
one of the reasons this was so hard to find is that sbt 0.13 uses Scala 2.10, and when a corrupt JAR is on the classpath, 2.10 doesn't give a helpful error message identifying the bad JAR
the actual bad JAR was target-0.9.20/project-builds/sbt-testng-6e0b39dd34b5a92f446e932bbe5883d380460a6c/.dbuild/topIvy/ivy2/cache/org.apache.maven.resolver/maven-resolver/jars/maven-resolver-1.1.0.jar , served from https://scala-ci.typesafe.com/ui/repos/tree/General/sbt-plugin-releases-cache%2Forg.apache.maven.resolver%2Fmaven-resolver%2F1.1.0%2Fjars%2Fmaven-resolver.jar
from community-build.
Related Issues (20)
- add JDK 17 build HOT 8
- radically simplify the build HOT 6
- Add Cats Effect 3 to the community build HOT 6
- dbuild launcher JARs seem to have gone missing HOT 3
- policy for advancing project SHAs? HOT 1
- Move the JDK 17 build off early-access, onto 17 final HOT 3
- install latest scala-cli on behemoths HOT 2
- Delete and archive the Gitter room HOT 1
- Run the build on JDK 20 HOT 15
- Upgrade to sbt 1.8.0 HOT 1
- Upgrade to JDK 20 final once Temurin is available HOT 2
- Add JDK 21 to build matrix HOT 22
- add more scalafix projects HOT 12
- scalafmt failing HOT 12
- Scaladoc generation failing in Scalafix repo after recent updates HOT 2
- Add JDK 22-ea to build matrix HOT 4
- Add Akka resolver so I can unfreeze some downstream-from-Akka repos
- Upgrade behemoths to JDK 22 final HOT 1
- Add JDK 23 to matrix HOT 3
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
π Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. πππ
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google β€οΈ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from community-build.