NetLogo / NetLogo/Netlogo-LLM-Extension
CI broken on NetLogo 7.0.4: Scala 3.7 compiler crash compiling TestLanguage suites
Nobody has claimed this yet.
- Dominant language
- Scala
- Stars
- 1
- Forks
- 0
- Avg merge
- 3d 1h
- Merged PRs (30d)
- 4
Description
Summary
The release/llm-1.0.0-library-submission line (commit 23c3672, "prepare v1.0.0") bumped netLogoVersion in build.sbt from 7.0.0-2486d1e to 7.0.4. Against NetLogo 7.0.4, sbt test no longer compiles: the Scala 3.7.0 compiler crashes while typechecking the test suites that extend the NetLogo test harness.
main is unaffected because it still targets 7.0.0-2486d1e.
Reproduction
Check out 23c3672 (or any branch with netLogoVersion := "7.0.4") and run sbt test:
[error] ## Exception when compiling 3 sources to .../test-classes
[error] java.lang.AssertionError: assertion failed: class TestLanguage has non-class parent:
TypeRef(TermRef(ThisType(TypeRef(NoPrefix,module class nlogo)),object util),AnyFunSuiteEx)
at dotty.tools.dotc.core.SymDenotations$ClassDenotation.traverse$1(SymDenotations.scala:2015)
...
while typechecking src/test/OllamaIntegrationTests.scala
Verified on GitHub CI (Java 17 / Ubuntu) and locally (Liberica JDK 17, Homebrew JDK 24). The crash is in the compiler itself (a dotty assertFailed), not user code — it fires on any test class deriving from TestLanguage (which extends org.nlogo.util.AnyFunSuiteEx from netlogo-7.0.4-tests.jar).
Cause
netlogo-7.0.4-tests.jar's AnyFunSuiteEx is compiled in a way that the Scala 3.7.0 typer rejects as a "non-class parent" when a downstream module compiles a subclass. The 7.0.0-2486d1e tests jar does not trigger this.
Impact
- Any branch/release targeting NetLogo 7.0.4 cannot run its test suite in CI. This blocks the v1.0.0 packaging line from having green CI.
- Reliability-fixes PR #44 works around it by rebasing onto
main(7.0.0), so those fixes are unblocked — but the version-retarget itself remains broken.
What needs to happen
Someone with NetLogo-internals context should determine the correct fix. Candidate directions:
- Publish/point at a
netlogo-7.0.4-tests.jarbuilt against a Scala 3 version compatible with the extension'sscalaVersion(3.7.0), or bump the extension'sscalaVersionto whatever the 7.0.4 tests jar was built with. - Confirm the intended NetLogo target for v1.0.0 (7.0.4 was chosen to drop a transitive Matomo jar) and whether a different patch release avoids the tests-jar incompatibility.
- If the tests jar can't be made compatible short-term, decide whether the v1.0.0 line should keep
7.0.0-2486d1efor the test scope while shipping against 7.0.4.
This is a build/infra issue, independent of extension logic.
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start with build.sbt at commit 23c3672, check the netLogoVersion change, and reproduce the failure with sbt test. Compare the Scala 3.7.0 setup with netlogo-7.0.4-tests.jar, then determine the intended NetLogo target and verify that test compilation and CI are green with the selected version combination.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- scala
- Domain
- build-system, ci-cd
- Issue type
- Bug
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Quiet
- Clarity
- Mostly clear
- Newbie friendliness
- 45/100