Build Logs
lampepfl/gears • 3.8.0:2026-01-13
Errors
7
Warnings
50
Total Lines
306
1##################################
2Clonning https://github.com/lampepfl/gears.git into /build/repo using revision v0.2.0
3##################################
4Note: switching to 'a4a6b721442ce1ad964376b759766d7846947daf'.
5
6You are in 'detached HEAD' state. You can look around, make experimental
7changes and commit them, and you can discard any commits you make in this
8state without impacting any branches by switching back to a branch.
9
10If you want to create a new branch to retain commits you create, you may
11do so (now or later) by using -c with the switch command. Example:
12
13 git switch -c <new-branch-name>
14
15Or undo this operation with:
16
17 git switch -
18
19Turn off this advice by setting config variable advice.detachedHead to false
20
21----
22Preparing build for 3.8.0
23Scala binary version found: 3.8
24Implicitly using source version 3.8
25Scala binary version found: 3.8
26Implicitly using source version 3.8
27Would try to apply common scalacOption (best-effort, sbt/mill only):
28Append: ,REQUIRE:-source:3.8
29Remove: ,-deprecation,-feature,-Xfatal-warnings,-Werror,MATCH:.*-Wconf.*any:e
30----
31Starting build for 3.8.0
32Execute tests: true
33sbt project found:
34Sbt version 1.10.0 is not supported, minimal supported version is 1.11.5
35Enforcing usage of sbt in version 1.11.5
36No prepare script found for project lampepfl/gears
37##################################
38Scala version: 3.8.0
39Targets: ch.epfl.lamp%gears
40Project projectConfig: {"projects":{"exclude":[],"overrides":{}},"java":{"version":"21"},"sbt":{"commands":[],"options":[]},"mill":{"options":[]},"tests":"full","migrationVersions":[],"sourcePatches":[]}
41##################################
42Using extra scalacOptions: ,REQUIRE:-source:3.8
43Filtering out scalacOptions: ,-deprecation,-feature,-Xfatal-warnings,-Werror,MATCH:.*-Wconf.*any:e
44[sbt_options] declare -a sbt_options=()
45[process_args] java_version = '21'
46[copyRt] java9_rt = '/root/.sbt/1.0/java9-rt-ext-eclipse_adoptium_21/rt.jar'
47# Executing command line:
48java
49-Dfile.encoding=UTF-8
50-Dcommunitybuild.scala=3.8.0
51-Dcommunitybuild.project.dependencies.add=
52-Xmx7G
53-Xms4G
54-Xss8M
55-Dsbt.script=/root/.sdkman/candidates/sbt/current/bin/sbt
56-Dscala.ext.dirs=/root/.sbt/1.0/java9-rt-ext-eclipse_adoptium_21
57-jar
58/root/.sdkman/candidates/sbt/1.11.5/bin/sbt-launch.jar
59"setCrossScalaVersions 3.8.0"
60"++3.8.0 -v"
61"mapScalacOptions ",REQUIRE:-source:3.8,-Wconf:msg=can be rewritten automatically under:s" ",-deprecation,-feature,-Xfatal-warnings,-Werror,MATCH:.*-Wconf.*any:e""
62"set every credentials := Nil"
63"excludeLibraryDependency com.github.ghik:zerowaste_{scalaVersion} com.olegpy:better-monadic-for_3 org.polyvariant:better-tostring_{scalaVersion} org.wartremover:wartremover_{scalaVersion}"
64"removeScalacOptionsStartingWith -P:wartremover"
65
66moduleMappings
67"runBuild 3.8.0 """{"projects":{"exclude":[],"overrides":{}},"java":{"version":"21"},"sbt":{"commands":[],"options":[]},"mill":{"options":[]},"tests":"full","migrationVersions":[],"sourcePatches":[]}""" ch.epfl.lamp%gears"
68
69[info] welcome to sbt 1.11.5 (Eclipse Adoptium Java 21)
70[info] loading settings for project repo-build from akka.sbt, plugins.sbt...
71[info] loading project definition from /build/repo/project
72[info] compiling 2 Scala sources to /build/repo/project/target/scala-2.12/sbt-1.0/classes ...
73[info] Non-compiled module 'compiler-bridge_2.12' for Scala 2.12.20. Compiling...
74[info] Compilation completed in 8.2s.
75[info] done compiling
76[info] loading settings for project repo from build.sbt...
77[info] set current project to repo (in build file:/build/repo/)
78Execute setCrossScalaVersions: 3.8.0
79OpenCB::Changing crossVersion 3.3.3 -> 3.8.0 in rootNative/crossScalaVersions
80OpenCB::Changing crossVersion 3.3.3 -> 3.8.0 in repo/crossScalaVersions
81OpenCB::Changing crossVersion 3.3.3 -> 3.8.0 in rootJVM/crossScalaVersions
82[info] set current project to repo (in build file:/build/repo/)
83[info] Setting Scala version to 3.8.0 on 3 projects.
84[info] Switching Scala version on:
85[info] * repo (3.8.0)
86[info] rootJVM (3.8.0)
87[info] rootNative (3.8.0)
88[info] Excluding projects:
89[info] Reapplying settings...
90[info] set current project to repo (in build file:/build/repo/)
91Execute mapScalacOptions: ,REQUIRE:-source:3.8,-Wconf:msg=can be rewritten automatically under:s ,-deprecation,-feature,-Xfatal-warnings,-Werror,MATCH:.*-Wconf.*any:e
92[info] Reapplying settings...
93[info] set current project to repo (in build file:/build/repo/)
94[info] Defining Global / credentials, credentials and 1 others.
95[info] The new values will be used by Global / pgpSelectPassphrase, Global / pgpSigningKey and 14 others.
96[info] Run `last` for details.
97[info] Reapplying settings...
98[info] set current project to repo (in build file:/build/repo/)
99Execute excludeLibraryDependency: com.github.ghik:zerowaste_{scalaVersion} com.olegpy:better-monadic-for_3 org.polyvariant:better-tostring_{scalaVersion} org.wartremover:wartremover_{scalaVersion}
100[info] Reapplying settings...
101OpenCB::Failed to reapply settings in excludeLibraryDependency: Reference to undefined setting:
102
103 Global / allExcludeDependencies from Global / allExcludeDependencies (CommunityBuildPlugin.scala:331)
104 Did you mean rootJVM / allExcludeDependencies ?
105 , retry without global scopes
106[info] Reapplying settings...
107[info] set current project to repo (in build file:/build/repo/)
108Execute removeScalacOptionsStartingWith: -P:wartremover
109[info] Reapplying settings...
110[info] set current project to repo (in build file:/build/repo/)
111[success] Total time: 0 s, completed Jan 13, 2026, 5:16:24 PM
112Build config: {"projects":{"exclude":[],"overrides":{}},"java":{"version":"21"},"sbt":{"commands":[],"options":[]},"mill":{"options":[]},"tests":"full","migrationVersions":[],"sourcePatches":[]}
113Parsed config: Success(ProjectBuildConfig(ProjectsConfig(List(),Map()),Full,List()))
114Starting build...
115Projects: Set(rootJVM)
116Starting build for ProjectRef(file:/build/repo/,rootJVM) (gears)... [0/1]
117OpenCB::Exclude Scala3 specific scalacOption `REQUIRE:-source:3.8` in Scala 2.12.20 module Global
118Compile scalacOptions: -Wconf:msg=can be rewritten automatically under:s, -source:3.8
119[info] compiling 21 Scala sources to /build/repo/jvm/target/scala-3.8.0/classes ...
120[warn] -- [E197] Potential Issue Warning: /build/repo/shared/src/main/scala/async/Listener.scala:53:8
121[warn] 53 | new Listener[T]:
122[warn] | ^
123[warn] | New anonymous class definition will be duplicated at each inline site
124[warn] |
125[warn] | longer explanation available when compiling with `-explain`
126[warn] there were 17 deprecation warnings; re-run with -deprecation for details
127[warn] two warnings found
128[info] done compiling
129[info] compiling 11 Scala sources to /build/repo/jvm/target/scala-3.8.0/test-classes ...
130[warn] -- [E029] Pattern Match Exhaustivity Warning: /build/repo/shared/src/test/scala/ChannelBehavior.scala:309:32
131[warn] 309 | a.readSource handle { case Right(v) =>
132[warn] | ^
133[warn] | match may not be exhaustive.
134[warn] |
135[warn] | It would fail on pattern case: Left(_)
136[warn] |
137[warn] | longer explanation available when compiling with `-explain`
138[warn] -- [E029] Pattern Match Exhaustivity Warning: /build/repo/shared/src/test/scala/ChannelBehavior.scala:312:36
139[warn] 312 | b.sendSource(10) handle { case Right(_) =>
140[warn] | ^
141[warn] | match may not be exhaustive.
142[warn] |
143[warn] | It would fail on pattern case: Left(_)
144[warn] |
145[warn] | longer explanation available when compiling with `-explain`
146[warn] -- [E029] Pattern Match Exhaustivity Warning: /build/repo/shared/src/test/scala/SourceBehavior.scala:134:43
147[warn] 134 | assertEquals(f.transformValuesWith({ case Success(i) => i + 1 }).awaitResult, 11)
148[warn] | ^
149[warn] | match may not be exhaustive.
150[warn] |
151[warn] | It would fail on pattern case: scala.util.Failure(_)
152[warn] |
153[warn] | longer explanation available when compiling with `-explain`
154[warn] -- [E029] Pattern Match Exhaustivity Warning: /build/repo/shared/src/test/scala/SourceBehavior.scala:136:43
155[warn] 136 | assertEquals(g.transformValuesWith({ case Failure(_) => 17 }).awaitResult, 17)
156[warn] | ^
157[warn] | match may not be exhaustive.
158[warn] |
159[warn] | It would fail on pattern case: scala.util.Success(_)
160[warn] |
161[warn] | longer explanation available when compiling with `-explain`
162[warn] -- [E092] Pattern Match Unchecked Warning: /build/repo/shared/src/test/scala/FutureBehavior.scala:184:13
163[warn] 184 | case _: Failure[CancellationException] => ()
164[warn] | ^
165[warn] |the type test for scala.util.Failure[java.util².concurrent.CancellationException] cannot be checked at runtime because its type arguments can't be determined from scala.util.Try[Int]
166[warn] |
167[warn] |where: util is a package in package scala
168[warn] | util² is a package in package java
169[warn] |
170[warn] | longer explanation available when compiling with `-explain`
171[warn] there were 33 deprecation warnings; re-run with -deprecation for details
172[warn] 6 warnings found
173[info] done compiling
174[warn] javaOptions will be ignored, fork is set to false
175RetryBehavior:
176 + Exponential backoff(2) 50ms, 5 times total schedule 0.79s
177 + UntilSuccess 150ms 0.602s
178 + UntilFailure 150ms 0.603s
179 + delay policies 0.006s
180TimerBehavior:
181 + sleeping does sleep 0.202s
182 + timer does sleep 1.004s
183 + racing with a sleeping future 2.254s
184SourceBehavior:
185 + onComplete register after completion runs immediately 0.001s
186 + poll is asynchronous 0.001s
187 + onComplete is asynchronous 0.003s
188 + await is synchronous 0.351s
189 + sources wait on children sources when they block 0.142s
190 + sources do not wait on zombie sources (which are killed at the end of Async.Blocking) 0.002s
191 + poll() 0.101s
192 + onComplete() fires 0.201s
193 + dropped onComplete() listener does not fire 0.202s
194 + transform values with 0.001s
195 + all listeners in chain fire 0.152s
196 + either 0.402s
197 + source values 0.204s
198 + transformValuesWith unsubscribes 0.002s
1991
200FutureBehavior:
201 + Old test 0.065s
202 + Constant returns 0.005s
203 + Future.now returning 0.0s
204 + Constant future with timeout 0.053s
205 + or 0.009s
206 + orWithCancel of 2 futures 0.605s
207 + zip 0.003s
208 + result wraps exceptions 0.003s
209 + result wraps values 0.003s
210 + value propagates exceptions exceptions through futures 0.001s
211 + futures can be nested 0.03s
212 + future are cancelled via .interrupt() and not checking the flag in async 0.001s
213 + future should cancel its group when the main body is completed 1.502s
214 + zombie threads exist and run to completion after the Async.blocking barrier 0.302s
215==> i FutureBehavior.cancelled futures return the same constant CancellationException with no stack attached ignored 0.0s
216 + noninterruptible future immediate return 0.002s
217 + Noninterruptible future cannot be interrupted immediately but throws later 0.301s
218 + Promise can be cancelled 0.001s
219 + Promise can't be cancelled after completion 0.0s
220 + Future.withResolver cancel handler is run once 0.002s
221 + Future.withResolver cancel handler is not run after being completed 0.001s
222 + Future.withResolver is only completed after handler decides 0.001s
223 + Nesting of cancellations 0.402s
224 + future collector 1.001s
225 + mutable collector 2.002s
226 + future collection: awaitAll* 1.003s
227 + future collection: awaitFirst* 1.005s
228 + uninterruptible should continue even when Future is cancelled 0.003s
229CancellationBehavior:
230 + no cancel 0.402s
231 + group cancel 0.001s
232 + link group 0.002s
233 + nested link group 0.002s
234 + link to already cancelled 0.502s
235 + link to already cancelled awaited 0.001s
236true false
237ListenerBehavior:
238 + race two futures 0.002s
239 + lock two listeners 0.002s
240 + lock two listeners where one fails 0.007s
241 + lock two races 0.002s
242 + lock two races in reverse order 0.002s
243 + lock two nested races 0.001s
244 + lock two nested races in reverse order 0.001s
245 + race successful without wait 0.002s
246 + race successful with wait 0.002s
247 + race polling 0.002s
248 + race failed without wait 0.001s
249 + lockBoth of race with competing lock 0.001s
250 + conflicting locks 0.002s
251 + failing downstream listener is dropped in race 0.002s
252 + succeeding downstream listener is dropped in race 0.002s
253TaskScheduleBehavior:
254 + Every 100ms, 3 times total schedule 0.204s
255 + Exponential backoff(2) 50ms, 5 times total schedule 0.754s
256 + Fibonacci backoff 10ms, 6 times total schedule 0.127s
257 + UntilSuccess 150ms 0.603s
258 + UntilFailure 150ms 0.603s
259ChannelBehavior:
260 + sending is blocking in SyncChannel 0.54s
261 + sending is nonblocking in empty BufferedChannel 0.503s
262 + sending is blocking in full BufferedChannel 0.502s
263 + read blocks until value is available in SyncChannel 1.001s
264 + read blocks until value is available in BufferedChannel 1.002s
265 + values arrive in order 0.076s
266 + reading a closed channel returns Failure(ChannelClosedException) 0.004s
267 + writing to a closed channel throws ChannelClosedException 0.001s
268 + send a lot of values via a channel and check their sum 0.135s
269 + multiple writers, multiple readers 6.004s
270 + race reads 0.056s
271 + unbounded channels with sync sending 0.001s
272 + race sends 0.114s
273 + race syntax 0.002s
274 + ChannelMultiplexer multiplexes - all subscribers read the same stream 0.005s
275 + ChannelMultiplexer multiple readers and writers 1.011s
276SchedulerBehavior:
277 + schedule cancellation works 1.004s
278 + schedule cancellation doesn't abort inner code 1.052s
279 + execute works 0.001s
280JVMCancellationBehavior:
281 + no cancel -> timeout 5.001s
282StressTest:
283 + survives a stress test that hammers on creating futures 11.056s
284 + survives a stress test that hammers on suspending 20.087s
285
286************************
287Build summary:
288[{
289 "module": "gears",
290 "compile": {"status": "ok", "tookMs": 9687, "warnings": 1, "errors": 0, "sourceVersion": "3.8"},
291 "doc": {"status": "skipped", "tookMs": 0, "files": 0, "totalSizeKb": 0},
292 "test-compile": {"status": "ok", "tookMs": 4704, "warnings": 5, "errors": 0, "sourceVersion": "3.8"},
293 "test": {"status": "ok", "tookMs": 31499, "passed": 96, "failed": 0, "ignored": 1, "skipped": 0, "total": 97, "byFramework": [{"framework": "munit", "stats": {"passed": 96, "failed": 0, "ignored": 1, "skipped": 0, "total": 97}}]},
294 "publish": {"status": "skipped", "tookMs": 0},
295 "metadata": {
296 "crossScalaVersions": ["3.3.3"]
297}
298}]
299************************
300[success] Total time: 47 s, completed Jan 13, 2026, 5:17:12 PM
301[0JChecking patch project/plugins.sbt...
302Checking patch project/build.properties...
303Checking patch build.sbt...
304Applied patch project/plugins.sbt cleanly.
305Applied patch project/build.properties cleanly.
306Applied patch build.sbt cleanly.