Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update Mill to 0.12.10 #4865

Open
wants to merge 3 commits into
base: 0.12.x
Choose a base branch
from
Open

Conversation

lefou
Copy link
Member

@lefou lefou commented Apr 4, 2025

Fix most deprecation warning in the buildfiles itself.

@lefou lefou changed the base branch from main to 0.12.x April 4, 2025 11:52
@lefou lefou changed the title Fix transitiveCoursierProjects cause OOM on large build (#4452) pdate Mill to 0.12.10 Apr 4, 2025
@lefou lefou changed the title pdate Mill to 0.12.10 Update Mill to 0.12.10 Apr 4, 2025
@lefou lefou closed this Apr 4, 2025
@lefou lefou reopened this Apr 4, 2025
@lefou
Copy link
Member Author

lefou commented Apr 5, 2025

Interestingly, this fails with this message:

 1 tasks failed
main.buildInfoMembers 
Resolution failed for 1 modules:
--------------------------------------------
  mill-internal:dist-dist0:0+mill-internal 
	No test override found at jdk.internal.loader.ClassLoaders$AppClassLoader@5c29bfd/mill/local-test-overrides/mill-internal-dist-dist0
	not found: /home/runner/.ivy2/local/mill-internal/dist-dist0/0+mill-internal/ivys/ivy.xml
	not found: https://repo1.maven.org/maven2/mill-internal/dist-dist0/0+mill-internal/dist-dist0-0+mill-internal.pom
	not found: https://oss.sonatype.org/content/repositories/releases/mill-internal/dist-dist0/0+mill-internal/dist-dist0-0+mill-internal.pom

Looks like an issue which should be fixed in Mill 0.12.9

@lihaoyi
Copy link
Member

lihaoyi commented Apr 5, 2025

Seems like it might be related to @alexarchambault's changes to pass the build graph to coursier and treat internal modules same as third-party libraries

@alexarchambault
Copy link
Collaborator

Applying the bootstrap patch with patch -p1 < ci/mill-bootstrap.patch fixes the failing task for me

@lefou
Copy link
Member Author

lefou commented Apr 6, 2025

@alexarchambault Thanks!

@lefou
Copy link
Member Author

lefou commented Apr 6, 2025

Constantly running into InvocationTargetException:

selective.run failed
[1/1, 1 failed] =============== selective.run {main,s...,bsp,testkit}.__.test =============== 870s
1 tasks failed
selective.run 1 tasks failed
bsp.worker.docJar java.lang.reflect.InvocationTargetException
    java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)
    java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    java.base/java.lang.reflect.Method.invoke(Method.java:569)
    mill.scalalib.worker.ZincWorkerImpl.$anonfun$docJar$2(ZincWorkerImpl.scala:263)
    scala.runtime.java8.JFunction0$mcZ$sp.apply(JFunction0$mcZ$sp.scala:17)
    mill.api.Retry.$anonfun$apply$1(Retry.scala:32)
    mill.api.Retry.$anonfun$apply$1$adapted(Retry.scala:32)
    mill.api.Retry.rec$1(Retry.scala:38)
    mill.api.Retry.rec$1(Retry.scala:50)
    mill.api.Retry.rec$1(Retry.scala:50)
    mill.api.Retry.indexed(Retry.scala:54)
    mill.api.Retry.apply(Retry.scala:32)
    mill.scalalib.worker.ZincWorkerImpl.$anonfun$docJar$1(ZincWorkerImpl.scala:232)
    mill.scalalib.worker.ZincWorkerImpl.$anonfun$docJar$1$adapted(ZincWorkerImpl.scala:228)
    mill.scalalib.worker.ZincWorkerImpl.$anonfun$withCompilers$2(ZincWorkerImpl.scala:480)
    mill.api.CachedFactory.withValue(CachedFactory.scala:39)
    mill.scalalib.worker.ZincWorkerImpl.withCompilers(ZincWorkerImpl.scala:479)
    mill.scalalib.worker.ZincWorkerImpl.docJar(ZincWorkerImpl.scala:228)
    mill.scalalib.ScalaModule.packageWithZinc$1(ScalaModule.scala:318)
    mill.scalalib.ScalaModule.$anonfun$docJar$2(ScalaModule.scala:413)
    mill.define.Task$TraverseCtx.evaluate(Task.scala:245)
java.lang.NoClassDefFoundError: mill/api/SystemStreams$ThreadLocalStreams$
    mill.api.SystemStreams$ThreadLocalStreams$Err$$anon$2.delegate(SystemStreams.scala:151)
    mill.api.SystemStreams$ThreadLocalStreams$Err$$anon$2.delegate(SystemStreams.scala:151)
    mill.api.SystemStreams$ThreadLocalStreams$ProxyOutputStream.write(SystemStreams.scala:156)
    java.base/java.io.PrintStream.write(PrintStream.java:568)
    java.base/sun.nio.cs.StreamEncoder.writeBytes(StreamEncoder.java:234)
    java.base/sun.nio.cs.StreamEncoder.implFlushBuffer(StreamEncoder.java:313)
    java.base/sun.nio.cs.StreamEncoder.implFlush(StreamEncoder.java:318)
    java.base/sun.nio.cs.StreamEncoder.flush(StreamEncoder.java:160)
    java.base/java.io.OutputStreamWriter.flush(OutputStreamWriter.java:248)
    java.base/java.io.BufferedWriter.flush(BufferedWriter.java:257)
    java.base/java.io.PrintWriter.newLine(PrintWriter.java:567)
    java.base/java.io.PrintWriter.println(PrintWriter.java:710)
    java.base/java.io.PrintWriter.println(PrintWriter.java:821)
    scala.tools.nsc.reporters.ConsoleReporter.finish(ConsoleReporter.scala:30)
    scala.tools.nsc.ScalaDocReporter.finish(ScalaDoc.scala:87)
    scala.tools.nsc.ScalaDoc.process(ScalaDoc.scala:57)
    java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)
    java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    java.base/java.lang.reflect.Method.invoke(Method.java:569)
    mill.scalalib.worker.ZincWorkerImpl.$anonfun$docJar$2(ZincWorkerImpl.scala:263)
    scala.runtime.java8.JFunction0$mcZ$sp.apply(JFunction0$mcZ$sp.scala:17)
    mill.api.Retry.$anonfun$apply$1(Retry.scala:32)
    mill.api.Retry.$anonfun$apply$1$adapted(Retry.scala:32)
    mill.api.Retry.rec$1(Retry.scala:38)
    mill.api.Retry.rec$1(Retry.scala:50)
    mill.api.Retry.rec$1(Retry.scala:50)
    mill.api.Retry.indexed(Retry.scala:54)
    mill.api.Retry.apply(Retry.scala:32)
    mill.scalalib.worker.ZincWorkerImpl.$anonfun$docJar$1(ZincWorkerImpl.scala:232)
    mill.scalalib.worker.ZincWorkerImpl.$anonfun$docJar$1$adapted(ZincWorkerImpl.scala:228)
    mill.scalalib.worker.ZincWorkerImpl.$anonfun$withCompilers$2(ZincWorkerImpl.scala:480)
    mill.api.CachedFactory.withValue(CachedFactory.scala:39)
    mill.scalalib.worker.ZincWorkerImpl.withCompilers(ZincWorkerImpl.scala:479)
    mill.scalalib.worker.ZincWorkerImpl.docJar(ZincWorkerImpl.scala:228)
    mill.scalalib.ScalaModule.packageWithZinc$1(ScalaModule.scala:318)
    mill.scalalib.ScalaModule.$anonfun$docJar$2(ScalaModule.scala:413)
    mill.define.Task$TraverseCtx.evaluate(Task.scala:245)
java.lang.ClassNotFoundException: mill.api.SystemStreams$ThreadLocalStreams$
    mill.api.SystemStreams$ThreadLocalStreams$Err$$anon$2.delegate(SystemStreams.scala:151)
    mill.api.SystemStreams$ThreadLocalStreams$Err$$anon$2.delegate(SystemStreams.scala:151)
    mill.api.SystemStreams$ThreadLocalStreams$ProxyOutputStream.write(SystemStreams.scala:156)
    java.base/java.io.PrintStream.write(PrintStream.java:568)
    java.base/sun.nio.cs.StreamEncoder.writeBytes(StreamEncoder.java:234)
    java.base/sun.nio.cs.StreamEncoder.implFlushBuffer(StreamEncoder.java:313)
    java.base/sun.nio.cs.StreamEncoder.implFlush(StreamEncoder.java:318)
    java.base/sun.nio.cs.StreamEncoder.flush(StreamEncoder.java:160)
    java.base/java.io.OutputStreamWriter.flush(OutputStreamWriter.java:248)
    java.base/java.io.BufferedWriter.flush(BufferedWriter.java:257)
    java.base/java.io.PrintWriter.newLine(PrintWriter.java:567)
    java.base/java.io.PrintWriter.println(PrintWriter.java:710)
    java.base/java.io.PrintWriter.println(PrintWriter.java:821)
    scala.tools.nsc.reporters.ConsoleReporter.finish(ConsoleReporter.scala:30)
    scala.tools.nsc.ScalaDocReporter.finish(ScalaDoc.scala:87)
    scala.tools.nsc.ScalaDoc.process(ScalaDoc.scala:57)
    java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)
    java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    java.base/java.lang.reflect.Method.invoke(Method.java:569)
    mill.scalalib.worker.ZincWorkerImpl.$anonfun$docJar$2(ZincWorkerImpl.scala:263)
    scala.runtime.java8.JFunction0$mcZ$sp.apply(JFunction0$mcZ$sp.scala:17)
    mill.api.Retry.$anonfun$apply$1(Retry.scala:32)
    mill.api.Retry.$anonfun$apply$1$adapted(Retry.scala:32)
    mill.api.Retry.rec$1(Retry.scala:38)
    mill.api.Retry.rec$1(Retry.scala:50)
    mill.api.Retry.rec$1(Retry.scala:50)
    mill.api.Retry.indexed(Retry.scala:54)
    mill.api.Retry.apply(Retry.scala:32)
    mill.scalalib.worker.ZincWorkerImpl.$anonfun$docJar$1(ZincWorkerImpl.scala:232)
    mill.scalalib.worker.ZincWorkerImpl.$anonfun$docJar$1$adapted(ZincWorkerImpl.scala:228)
    mill.scalalib.worker.ZincWorkerImpl.$anonfun$withCompilers$2(ZincWorkerImpl.scala:480)
    mill.api.CachedFactory.withValue(CachedFactory.scala:39)
    mill.scalalib.worker.ZincWorkerImpl.withCompilers(ZincWorkerImpl.scala:479)
    mill.scalalib.worker.ZincWorkerImpl.docJar(ZincWorkerImpl.scala:228)
    mill.scalalib.ScalaModule.packageWithZinc$1(ScalaModule.scala:318)
    mill.scalalib.ScalaModule.$anonfun$docJar$2(ScalaModule.scala:413)
    mill.define.Task$TraverseCtx.evaluate(Task.scala:245)

Only now, I found out this is nothing new: #4556

@lefou
Copy link
Member Author

lefou commented Apr 6, 2025

I'm almost thinking, this issue is valid (in tests) and might be related to how we handle module loading via coursier. At least, in contrast to #4556, where the root exception is "Stream closed", here it is a ClassNotFoundException: mill.api.SystemStreams$ThreadLocalStreams$.

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.

OOM when running compile in large build
3 participants