Closed som-snytt closed 1 year ago
(thanks for the report)
I'm not able to reproduce the problem on Eclipse Adoptium Java 18.0.2.1 (MacOS, ARM64 build)
Are you able to upgrade to 18.0.2 and see if the problem goes away for you...?
Seth has a good hunch. Release notes for 18.0.2.1 says it fixed a "C2 crash":
I reported the wrong range.
| >>> | 18.0.2.1 | open | installed | 18.0.2.1-open
| | 18.0.1.1 | open | local only | 18.0.1.1-open
Thanks for the bug link. It's suspicious that it is array-alloc related.
Noticed at https://github.com/scala/scala/pull/10083#issuecomment-1221947582 where the PR build was failing. At first, I wondered if I had done something to make scalacheck shrinking fail.
It's after restarrFull:
sbt:root> restarrFull
[info] *** Welcome to the sbt build definition for Scala! ***
[info] version=2.13.9-bin-d578a02-SNAPSHOT scalaVersion=2.13.8
[info] Check README.md for more information.
[success] Total time: 0 s, completed Sep 2, 2022, 8:05:30 PM
[info] Wrote ***scala/target/library/scala-library-2.13.9-bin-d578a02-SNAPSHOT.pom
[snip]
[info] + Range inclusiveByOne.init: OK, passed 100 tests.
[info] Elapsed time: 0.001 sec
[info] + Range inclusiveByOne.takeWhile: OK, passed 100 tests.
[info] Elapsed time: 0.002 sec
# A fatal error has been detected by the Java Runtime Environment:
#
# SIGSEGV (0xb) at pc=0x00007ff7aa570acc, pid=6145, tid=6173
#
# JRE version: OpenJDK Runtime Environment (18.0.2.1+1) (build 18.0.2.1+1-1)
# Java VM: OpenJDK 64-Bit Server VM (18.0.2.1+1-1, mixed mode, sharing, tiered, compressed oops, compressed class ptrs, g1 gc, linux-amd64)
# Problematic frame:
# V [libjvm.so+0xd27acc][info] + Range inclusiveByOne.tails: OK, passed 100 tests.
[info] Elapsed time: 0.011 sec
SubTypeCheckNode::sub(Type const*, Type const*) const+0x26c
#
# No core dump will be written. Core dumps have been disabled. To enable core dumping, try "ulimit -c unlimited" before starting Java again
#
# An error report file with more information is saved as:
# ***scala/test/scalacheck/hs_err_pid6145.log
[info] + Range inclusiveByOne.inits: OK, passed 100 tests.
[info] Elapsed time: 0.027 sec
[info] + Range inclusiveByOne.reverse.toSet.equal: OK, passed 100 tests.
[info] Elapsed time: 0.004 sec
[info] + Range inclusiveByOne.grouped: OK, passed 100 tests.
[info] Elapsed time: 0.005 sec
[info] + pattern deconstruction.extract bind: OK, passed 100 tests.
[info] Elapsed time: 0.090 sec
#
# Compiler replay data is saved as:
# ***scala/test/scalacheck/replay_pid6145.log
#
# If you would like to submit a bug report, please visit:
# https://bugreport.java.com/bugreport/crash.jsp
#
[error] Error: Total 0, Failed 0, Errors 0, Passed 0
[error] Error during tests:
[error] sbt.ForkMain 42243 failed with exit code 134
[error] (scalacheck / Test / test) sbt.TestsFailedException: Tests unsuccessful
[error] Total time: 129 s (02:09), completed Sep 2, 2022, 8:08:06 PM
sbt:root>
Indeed, I can now reproduce it on my Mac, on "OpenJDK 64-Bit Server VM Temurin-18.0.2.1+1 (build 18.0.2.1+1, mixed mode)". I did a clean checkout of 2.13.x and ran sbt
, then restarrFull
followed by scalacheck/test
.
Seems like minimizing this could be a Herculean task. (Though perhaps the JDK developers could work with just a crash log...)
Minimizing would be nice, but it's not hard to reproduce so it would be worth reporting. https://bugreport.java.com/bugreport/crash_report.do is the official channel, though pinging people directly worked better in the past.
Could you try other builds and versions, like OpenJDK, 19 / 20 EA-Builds?
A month or two passes, and already JDK 18 is like tears in rain.
The problem does not reproduce for me on JDK 19 (openjdk version "19" 2022-09-20 OpenJDK Runtime Environment Temurin-19+36 (build 19+36)
).
I didn't try a newer build of 18, but, closing regardless, as 18 lacks an LTS star on its belly.
On a clean 2.13.x,
scalacheck/test
crashes JVM 18.0.[12].1 [EDITED]From the hs_err.log
From the replay.log