scala / scala3

The Scala 3 compiler, also known as Dotty.
https://dotty.epfl.ch
Apache License 2.0
5.72k stars 1.04k forks source link

Crash while compiling code #19852

Open udalrich opened 4 months ago

udalrich commented 4 months ago

Compiler version

3.3.1

Minimized code

The code is about 55 proprietary files, using akka actors and kafka libraries, among other things. It mostly uses scala 3 syntax.

Output (click arrow to expand)

``` sbt:distribution-client> compile [info] scalafmt: Formatting 36 Scala sources (/home/projects/)... [info] scalafmt: Formatting 51 Scala sources (/home/projects/)... [info] compiling 51 Scala sources and 1 Java source to /home/projects/target/scala-3.3.1/classes ... java.lang.AssertionError: assertion failed while typechecking /home/projects/src/main/scala/com/example/RootActor.scala [info] exception occurred while typechecking /home/projects/src/main/scala/com/example/RootActor.scala [info] [info] exception occurred while compiling List() [info] [info] An unhandled exception was thrown in the compiler. [info] Please file a crash report here: [info] https:/github.com/lampepfl/dotty/issues/new/choose [info] [info] while compiling: [info] during phase: [info] mode: Mode(ImplicitsEnabled) [info] library version: version 2.13.10 [info] compiler version: version 3.3.1 [info] settings: -Werror true -bootclasspath /home/Library/Caches/Coursier/v1/https/my-nexus.example.com/repository/my-maven-public/org/scala-lang/scala3-library_3/3.3.1/scala3-library_3-3.3.1.jar:/home/.m2/repository/org/scala-lang/scala-library/2.13.10/scala-library-2.13.10.jar -classpath /home/projects/target/scala-3.3.1/classes:/home/Library/Caches/Coursier/v1/https/my-nexus.example.com/repository/my-maven-public/com/example/domainObjects/serialize/2.6.0/serialize-2.6.0.jar:/home/.m2/repository/com/example/xxx/local-al-11397-SNAPSHOT/xxx11397-SNAPSHOT.jar:/home/.m2/repository/com/example/xxx/local-al-11397-SNAPSHOT/xxx11397-SNAPSHOT.jar:/home/Library/Caches/Coursier/v1/https/my-nexus.example.com/repository/my-maven-public/com/example/xxx/3.0.9/xxx3.0.9.jar:/home/Library/Caches/Coursier/v1/https/my-nexus.example.com/repository/my-maven-public/com/example/xxx/3.2.0/xxx3.2.0.jar:/home/Library/Caches/Coursier/v1/https/my-nexus.example.com/repository/my-maven-public/com/typesafe/akka/akka-actor-typed_3/2.6.21/akka-actor-typed_3-2.6.21.jar:/home/Library/Caches/Coursier/v1/https/my-nexus.example.com/repository/my-maven-public/com/typesafe/akka/akka-actor-testkit-typed_3/2.6.21/akka-actor-testkit-typed_3-2.6.21.jar:/home/Library/Caches/Coursier/v1/https/my-nexus.example.com/repository/my-maven-public/org/http4s/http4s-ember-client_3/0.23.23/http4s-ember-client_3-0.23.23.jar:/home/Library/Caches/Coursier/v1/https/my-nexus.example.com/repository/my-maven-public/org/http4s/http4s-ember-server_3/0.23.23/http4s-ember-server_3-0.23.23.jar:/home/Library/Caches/Coursier/v1/https/my-nexus.example.com/repository/my-maven-public/org/http4s/http4s-dsl_3/0.23.23/http4s-dsl_3-0.23.23.jar:/home/Library/Caches/Coursier/v1/https/my-nexus.example.com/repository/my-maven-public/com/fasterxml/jackson/core/jackson-databind/2.15.3/jackson-databind-2.15.3.jar:/home/Library/Caches/Coursier/v1/https/my-nexus.example.com/repository/my-maven-public/com/fasterxml/jackson/module/jackson-module-scala_3/2.15.3/jackson-module-scala_3-2.15.3.jar:/home/Library/Caches/Coursier/v1/https/my-nexus.example.com/repository/my-maven-public/com/fasterxml/jackson/datatype/jackson-datatype-jsr310/2.15.3/jackson-datatype-jsr310-2.15.3.jar:/home/Library/Caches/Coursier/v1/https/my-nexus.example.com/repository/my-maven-public/com/github/pjfanning/jackson-module-scala3-enum_3/2.15.0/jackson-module-scala3-enum_3-2.15.0.jar:/home/Library/Caches/Coursier/v1/https/my-nexus.example.com/repository/my-maven-public/org/fusesource/jansi/jansi/2.4.0/jansi-2.4.0.jar:/home/.m2/repository/org/apache/kafka/kafka_2.13/3.5.0/kafka_2.13-3.5.0.jar:/home/Library/Caches/Coursier/v1/https/my-nexus.example.com/repository/my-maven-public/org/apache/kafka/kafka-streams-scala_2.13/3.5.0/kafka-streams-scala_2.13-3.5.0.jar:/home/.m2/repository/ch/qos/logback/logback-classic/1.4.11/logback-classic-1.4.11.jar:/home/.m2/repository/com/typesafe/config/1.4.2/config-1.4.2.jar:/home/Library/Caches/Coursier/v1/https/my-nexus.example.com/repository/my-maven-public/org/scala-lang/modules/scala-xml_3/2.2.0/scala-xml_3-2.2.0.jar:/home/Library/Caches/Coursier/v1/https/my-nexus.example.com/repository/my-maven-public/org/scala-lang/modules/scala-collection-contrib_3/0.3.0/scala-collection-contrib_3-0.3.0.jar:/home/.m2/repository/org/yaml/snakeyaml/2.0/snakeyaml-2.0.jar:/home/.m2/repository/io/projectreactor/kafka/reactor-kafka/1.3.21/reactor-kafka-1.3.21.jar:/home/Library/Caches/Coursier/v1/https/my-nexus.example.com/repository/my-maven-public/com/example/domainObjectBuilder/al-11285-SNAPSHOT/domainObjectBuilder-al-11285-20240119.002419-4.jar:/home/Library/Caches/Coursier/v1/https/my-nexus.example.com/repository/my-maven-public/com/example/serializationFilterBuilder/2.6.0/serializationFilterBuilder-2.6.0.jar:/home/Library/Caches/Coursier/v1/https/my-nexus.example.com/repository/my-maven-public/com/fasterxml/jackson/core/jackson-annotations/2.15.3/jackson-annotations-2.15.3.jar:/home/.m2/repository/com/fasterxml/jackson/module/jackson-module-parameter-names/2.14.2/jackson-module-parameter-names-2.14.2.jar:/home/.m2/repository/com/voodoodyne/jackson/jsog/jackson-jsog/1.1.1/jackson-jsog-1.1.1.jar:/home/.m2/repository/com/example/xxx/local-al-11397-SNAPSHOT/xxx11397-SNAPSHOT.jar:/home/.m2/repository/org/projectlombok/lombok/1.18.26/lombok-1.18.26.jar:/home/.m2/repository/com/example/xxx/local-al-11397-SNAPSHOT/xxx11397-SNAPSHOT.jar:/home/.m2/repository/com/google/protobuf/protobuf-java-util/3.21.1/protobuf-java-util-3.21.1.jar:/home/.m2/repository/com/example/strJavaUtilities/1.0.15/strJavaUtilities-1.0.15.jar:/home/.m2/repository/org/springframework/boot/spring-boot-starter-web/3.0.6/spring-boot-starter-web-3.0.6.jar:/home/.m2/repository/org/springframework/kafka/spring-kafka/3.0.6/spring-kafka-3.0.6.jar:/home/.m2/repository/com/example/mediator/mediator/1.5.10-mediator/mediator-1.5.10-mediator.jar:/home/.m2/repository/org/slf4j/slf4j-api/2.0.7/slf4j-api-2.0.7.jar:/home/.m2/repository/org/apache/kafka/kafka-clients/3.5.1/kafka-clients-3.5.1.jar:/home/Library/Caches/Coursier/v1/https/my-nexus.example.com/repository/my-maven-public/com/typesafe/akka/akka-actor_3/2.6.21/akka-actor_3-2.6.21.jar:/home/Library/Caches/Coursier/v1/https/my-nexus.example.com/repository/my-maven-public/com/typesafe/akka/akka-slf4j_3/2.6.21/akka-slf4j_3-2.6.21.jar:/home/Library/Caches/Coursier/v1/https/my-nexus.example.com/repository/my-maven-public/com/typesafe/akka/akka-testkit_3/2.6.21/akka-testkit_3-2.6.21.jar:/home/Library/Caches/Coursier/v1/https/my-nexus.example.com/repository/my-maven-public/org/http4s/http4s-ember-core_3/0.23.23/http4s-ember-core_3-0.23.23.jar:/home/Library/Caches/Coursier/v1/https/my-nexus.example.com/repository/my-maven-public/org/http4s/http4s-client_3/0.23.23/http4s-client_3-0.23.23.jar:/home/Library/Caches/Coursier/v1/https/my-nexus.example.com/repository/my-maven-public/org/typelevel/keypool_3/0.4.8/keypool_3-0.4.8.jar:/home/Library/Caches/Coursier/v1/https/my-nexus.example.com/repository/my-maven-public/org/typelevel/log4cats-slf4j_3/2.6.0/log4cats-slf4j_3-2.6.0.jar:/home/Library/Caches/Coursier/v1/https/my-nexus.example.com/repository/my-maven-public/org/http4s/http4s-server_3/0.23.23/http4s-server_3-0.23.23.jar:/home/Library/Caches/Coursier/v1/https/my-nexus.example.com/repository/my-maven-public/org/http4s/http4s-core_3/0.23.23/http4s-core_3-0.23.23.jar:/home/Library/Caches/Coursier/v1/https/my-nexus.example.com/repository/my-maven-public/com/fasterxml/jackson/core/jackson-core/2.15.3/jackson-core-2.15.3.jar:/home/.m2/repository/com/thoughtworks/paranamer/paranamer/2.8/paranamer-2.8.jar:/home/.m2/repository/org/apache/kafka/kafka-server-common/3.5.0/kafka-server-common-3.5.0.jar:/home/.m2/repository/org/apache/kafka/kafka-group-coordinator/3.5.0/kafka-group-coordinator-3.5.0.jar:/home/.m2/repository/org/apache/kafka/kafka-metadata/3.5.0/kafka-metadata-3.5.0.jar:/home/.m2/repository/org/apache/kafka/kafka-storage-api/3.5.0/kafka-storage-api-3.5.0.jar:/home/.m2/repository/org/apache/kafka/kafka-tools-api/3.5.0/kafka-tools-api-3.5.0.jar:/home/.m2/repository/org/apache/kafka/kafka-raft/3.5.0/kafka-raft-3.5.0.jar:/home/.m2/repository/org/apache/kafka/kafka-storage/3.5.0/kafka-storage-3.5.0.jar:/home/.m2/repository/net/sourceforge/argparse4j/argparse4j/0.7.0/argparse4j-0.7.0.jar:/home/.m2/repository/com/fasterxml/jackson/dataformat/jackson-dataformat-csv/2.13.5/jackson-dataformat-csv-2.13.5.jar:/home/.m2/repository/com/fasterxml/jackson/datatype/jackson-datatype-jdk8/2.14.2/jackson-datatype-jdk8-2.14.2.jar:/home/.m2/repository/net/sf/jopt-simple/jopt-simple/5.0.4/jopt-simple-5.0.4.jar:/home/.m2/repository/org/bitbucket/b_c/jose4j/0.9.3/jose4j-0.9.3.jar:/home/.m2/repository/com/yammer/metrics/metrics-core/2.2.0/metrics-core-2.2.0.jar:/home/.m2/repository/org/scala-lang/modules/scala-collection-compat_2.13/2.10.0/scala-collection-compat_2.13-2.10.0.jar:/home/.m2/repository/org/scala-lang/scala-reflect/2.13.10/scala-reflect-2.13.10.jar:/home/.m2/repository/com/typesafe/scala-logging/scala-logging_2.13/3.9.4/scala-logging_2.13-3.9.4.jar:/home/.m2/repository/io/dropwizard/metrics/metrics-core/4.1.12.1/metrics-core-4.1.12.1.jar:/home/Library/Caches/Coursier/v1/https/my-nexus.example.com/repository/my-maven-public/org/apache/zookeeper/zookeeper/3.8.3/zookeeper-3.8.3.jar:/home/.m2/repository/commons-cli/commons-cli/1.4/commons-cli-1.4.jar:/home/Library/Caches/Coursier/v1/https/my-nexus.example.com/repository/my-maven-public/org/apache/kafka/kafka-streams/3.5.0/kafka-streams-3.5.0.jar:/home/.m2/repository/ch/qos/logback/logback-core/1.4.11/logback-core-1.4.11.jar:/home/.m2/repository/io/projectreactor/reactor-core/3.4.32/reactor-core-3.4.32.jar:/home/.m2/repository/com/google/guava/guava/30.0-jre/guava-30.0-jre.jar:/home/.m2/repository/com/squareup/javapoet/1.13.0/javapoet-1.13.0.jar:/home/.m2/repository/org/apache/commons/commons-lang3/3.8.1/commons-lang3-3.8.1.jar:/home/.m2/repository/commons-io/commons-io/2.11.0/commons-io-2.11.0.jar:/home/.m2/repository/com/nurkiewicz/typeof/typeof/0.0.1/typeof-0.0.1.jar:/home/.m2/repository/org/threeten/threeten-extra/1.5.0/threeten-extra-1.5.0.jar:/home/.m2/repository/com/javadocmd/simplelatlng/1.3.1/simplelatlng-1.3.1.jar:/home/.m2/repository/ma/glasnost/orika/orika-core/1.5.4/orika-core-1.5.4.jar:/home/.m2/repository/javax/annotation/javax.annotation-api/1.3.2/javax.annotation-api-1.3.2.jar:/home/.m2/repository/com/example/mediator/doObjects/1.5.10-mediator/doObjects-1.5.10-mediator.jar:/home/.m2/repository/com/example/mediator/doSpec/1.5.10-mediator/doSpec-1.5.10-mediator.jar:/home/.m2/repository/com/google/protobuf/protobuf-java/3.21.1/protobuf-java-3.21.1.jar:/home/.m2/repository/com/google/errorprone/error_prone_annotations/2.5.1/error_prone_annotations-2.5.1.jar:/home/.m2/repository/com/google/j2objc/j2objc-annotations/1.3/j2objc-annotations-1.3.jar:/home/.m2/repository/com/google/code/findbugs/jsr305/3.0.2/jsr305-3.0.2.jar:/home/Library/Caches/Coursier/v1/https/my-nexus.example.com/repository/my-maven-public/com/google/code/gson/gson/2.8.9/gson-2.8.9.jar:/home/.m2/repository/com/github/oxo42/stateless4j/2.5.0/stateless4j-2.5.0.jar:/home/.m2/repository/org/springframework/boot/spring-boot-starter/3.0.6/spring-boot-starter-3.0.6.jar:/home/.m2/repository/org/springframework/boot/spring-boot-starter-json/3.0.6/spring-boot-starter-json-3.0.6.jar:/home/.m2/repository/org/springframework/boot/spring-boot-starter-tomcat/3.0.6/spring-boot-starter-tomcat-3.0.6.jar:/home/.m2/repository/org/springframework/spring-web/6.0.8/spring-web-6.0.8.jar:/home/.m2/repository/org/springframework/spring-webmvc/6.0.8/spring-webmvc-6.0.8.jar:/home/.m2/repository/org/springframework/spring-context/6.0.8/spring-context-6.0.8.jar:/home/.m2/repository/org/springframework/spring-messaging/6.0.8/spring-messaging-6.0.8.jar:/home/.m2/repository/org/springframework/spring-tx/6.0.8/spring-tx-6.0.8.jar:/home/.m2/repository/org/springframework/retry/spring-retry/2.0.1/spring-retry-2.0.1.jar:/home/.m2/repository/io/micrometer/micrometer-observation/1.10.6/micrometer-observation-1.10.6.jar:/home/.m2/repository/com/example/mediator/kafka/1.5.10-mediator/kafka-1.5.10-mediator.jar:/home/.m2/repository/commons-lang/commons-lang/2.4/commons-lang-2.4.jar:/home/.m2/repository/com/example/strJavaActors/1.0.9/strJavaActors-1.0.9.jar:/home/.m2/repository/com/github/luben/zstd-jni/1.5.5-1/zstd-jni-1.5.5-1.jar:/home/.m2/repository/org/lz4/lz4-java/1.8.0/lz4-java-1.8.0.jar:/home/.m2/repository/org/xerial/snappy/snappy-java/1.1.10.1/snappy-java-1.1.10.1.jar:/home/Library/Caches/Coursier/v1/https/my-nexus.example.com/repository/my-maven-public/org/scala-lang/modules/scala-java8-compat_3/1.0.0/scala-java8-compat_3-1.0.0.jar:/home/Library/Caches/Coursier/v1/https/my-nexus.example.com/repository/my-maven-public/org/typelevel/log4cats-core_3/2.6.0/log4cats-core_3-2.6.0.jar:/home/Library/Caches/Coursier/v1/https/my-nexus.example.com/repository/my-maven-public/com/twitter/hpack/1.0.2/hpack-1.0.2.jar:/home/Library/Caches/Coursier/v1/https/my-nexus.example.com/repository/my-maven-public/org/typelevel/cats-core_3/2.9.0/cats-core_3-2.9.0.jar:/home/Library/Caches/Coursier/v1/https/my-nexus.example.com/repository/my-maven-public/org/typelevel/cats-effect-std_3/3.5.1/cats-effect-std_3-3.5.1.jar:/home/Library/Caches/Coursier/v1/https/my-nexus.example.com/repository/my-maven-public/org/typelevel/cats-effect_3/3.5.0/cats-effect_3-3.5.0.jar:/home/Library/Caches/Coursier/v1/https/my-nexus.example.com/repository/my-maven-public/org/typelevel/case-insensitive_3/1.4.0/case-insensitive_3-1.4.0.jar:/home/Library/Caches/Coursier/v1/https/my-nexus.example.com/repository/my-maven-public/org/typelevel/cats-parse_3/0.3.10/cats-parse_3-0.3.10.jar:/home/Library/Caches/Coursier/v1/https/my-nexus.example.com/repository/my-maven-public/org/http4s/http4s-crypto_3/0.2.4/http4s-crypto_3-0.2.4.jar:/home/Library/Caches/Coursier/v1/https/my-nexus.example.com/repository/my-maven-public/co/fs2/fs2-core_3/3.7.0/fs2-core_3-3.7.0.jar:/home/Library/Caches/Coursier/v1/https/my-nexus.example.com/repository/my-maven-public/co/fs2/fs2-io_3/3.7.0/fs2-io_3-3.7.0.jar:/home/Library/Caches/Coursier/v1/https/my-nexus.example.com/repository/my-maven-public/com/comcast/ip4s-core_3/3.3.0/ip4s-core_3-3.3.0.jar:/home/Library/Caches/Coursier/v1/https/my-nexus.example.com/repository/my-maven-public/org/typelevel/literally_3/1.1.0/literally_3-1.1.0.jar:/home/Library/Caches/Coursier/v1/https/my-nexus.example.com/repository/my-maven-public/org/scodec/scodec-bits_3/1.1.37/scodec-bits_3-1.1.37.jar:/home/Library/Caches/Coursier/v1/https/my-nexus.example.com/repository/my-maven-public/org/typelevel/vault_3/3.5.0/vault_3-3.5.0.jar:/home/Library/Caches/Coursier/v1/https/my-nexus.example.com/repository/my-maven-public/org/log4s/log4s_3/1.10.0/log4s_3-1.10.0.jar:/home/Library/Caches/Coursier/v1/https/my-nexus.example.com/repository/my-maven-public/org/apache/zookeeper/zookeeper-jute/3.8.3/zookeeper-jute-3.8.3.jar:/home/Library/Caches/Coursier/v1/https/my-nexus.example.com/repository/my-maven-public/org/apache/yetus/audience-annotations/0.12.0/audience-annotations-0.12.0.jar:/home/Library/Caches/Coursier/v1/https/my-nexus.example.com/repository/my-maven-public/io/netty/netty-handler/4.1.94.Final/netty-handler-4.1.94.Final.jar:/home/Library/Caches/Coursier/v1/https/my-nexus.example.com/repository/my-maven-public/io/netty/netty-transport-native-epoll/4.1.94.Final/netty-transport-native-epoll-4.1.94.Final.jar:/home/.m2/repository/org/rocksdb/rocksdbjni/7.1.2/rocksdbjni-7.1.2.jar:/home/.m2/repository/org/reactivestreams/reactive-streams/1.0.4/reactive-streams-1.0.4.jar:/home/.m2/repository/com/google/guava/failureaccess/1.0.1/failureaccess-1.0.1.jar:/home/.m2/repository/com/google/guava/listenablefuture/9999.0-empty-to-avoid-conflict-with-guava/listenablefuture-9999.0-empty-to-avoid-conflict-with-guava.jar:/home/.m2/repository/org/checkerframework/checker-qual/3.5.0/checker-qual-3.5.0.jar:/home/.m2/repository/org/javassist/javassist/3.24.0-GA/javassist-3.24.0-GA.jar:/home/.m2/repository/com/carrotsearch/java-sizeof/0.0.5/java-sizeof-0.0.5.jar:/home/.m2/repository/org/codehaus/janino/janino/3.0.8/janino-3.0.8.jar:/home/.m2/repository/org/springframework/boot/spring-boot/3.0.6/spring-boot-3.0.6.jar:/home/.m2/repository/org/springframework/boot/spring-boot-autoconfigure/3.0.6/spring-boot-autoconfigure-3.0.6.jar:/home/.m2/repository/org/springframework/boot/spring-boot-starter-logging/3.0.6/spring-boot-starter-logging-3.0.6.jar:/home/.m2/repository/jakarta/annotation/jakarta.annotation-api/2.1.1/jakarta.annotation-api-2.1.1.jar:/home/.m2/repository/org/springframework/spring-core/6.0.8/spring-core-6.0.8.jar:/home/.m2/repository/org/apache/tomcat/embed/tomcat-embed-core/10.1.8/tomcat-embed-core-10.1.8.jar:/home/.m2/repository/org/apache/tomcat/embed/tomcat-embed-el/10.1.8/tomcat-embed-el-10.1.8.jar:/home/.m2/repository/org/apache/tomcat/embed/tomcat-embed-websocket/10.1.8/tomcat-embed-websocket-10.1.8.jar:/home/.m2/repository/org/springframework/spring-beans/6.0.8/spring-beans-6.0.8.jar:/home/.m2/repository/org/springframework/spring-aop/6.0.8/spring-aop-6.0.8.jar:/home/.m2/repository/org/springframework/spring-expression/6.0.8/spring-expression-6.0.8.jar:/home/.m2/repository/io/micrometer/micrometer-commons/1.10.6/micrometer-commons-1.10.6.jar:/home/Library/Caches/Coursier/v1/https/my-nexus.example.com/repository/my-maven-public/org/typelevel/cats-kernel_3/2.9.0/cats-kernel_3-2.9.0.jar:/home/Library/Caches/Coursier/v1/https/my-nexus.example.com/repository/my-maven-public/org/typelevel/cats-effect-kernel_3/3.5.1/cats-effect-kernel_3-3.5.1.jar:/home/Library/Caches/Coursier/v1/https/my-nexus.example.com/repository/my-maven-public/io/netty/netty-common/4.1.94.Final/netty-common-4.1.94.Final.jar:/home/Library/Caches/Coursier/v1/https/my-nexus.example.com/repository/my-maven-public/io/netty/netty-resolver/4.1.94.Final/netty-resolver-4.1.94.Final.jar:/home/Library/Caches/Coursier/v1/https/my-nexus.example.com/repository/my-maven-public/io/netty/netty-buffer/4.1.94.Final/netty-buffer-4.1.94.Final.jar:/home/Library/Caches/Coursier/v1/https/my-nexus.example.com/repository/my-maven-public/io/netty/netty-transport/4.1.94.Final/netty-transport-4.1.94.Final.jar:/home/Library/Caches/Coursier/v1/https/my-nexus.example.com/repository/my-maven-public/io/netty/netty-transport-native-unix-common/4.1.94.Final/netty-transport-native-unix-common-4.1.94.Final.jar:/home/Library/Caches/Coursier/v1/https/my-nexus.example.com/repository/my-maven-public/io/netty/netty-codec/4.1.94.Final/netty-codec-4.1.94.Final.jar:/home/Library/Caches/Coursier/v1/https/my-nexus.example.com/repository/my-maven-public/io/netty/netty-transport-classes-epoll/4.1.94.Final/netty-transport-classes-epoll-4.1.94.Final.jar:/home/.m2/repository/org/codehaus/janino/commons-compiler/3.0.8/commons-compiler-3.0.8.jar:/home/.m2/repository/org/apache/logging/log4j/log4j-to-slf4j/2.19.0/log4j-to-slf4j-2.19.0.jar:/home/.m2/repository/org/slf4j/jul-to-slf4j/2.0.7/jul-to-slf4j-2.0.7.jar:/home/.m2/repository/org/springframework/spring-jcl/6.0.8/spring-jcl-6.0.8.jar:/home/.m2/repository/org/apache/logging/log4j/log4j-api/2.19.0/log4j-api-2.19.0.jar -d /home/projects/target/scala-3.3.1/classes -deprecation true -feature true -java-output-version 17 [info] [info] tree: EmptyTree [info] tree position: : [info] tree type: [info] symbol: val [info] call site: package in module class [info] [info] == Source file context for tree position == [info] [error] ## Exception when compiling 52 sources to /home/projects/target/scala-3.3.1/classes [error] java.lang.AssertionError: assertion failed [error] scala.runtime.Scala3RunTime$.assertFailed(Scala3RunTime.scala:11) [error] dotty.tools.dotc.core.TypeOps$.dominators$1(TypeOps.scala:248) [error] dotty.tools.dotc.core.TypeOps$.approximateOr$1(TypeOps.scala:382) [error] dotty.tools.dotc.core.TypeOps$.orDominator(TypeOps.scala:395) [error] dotty.tools.dotc.core.Types$OrType.join(Types.scala:3435) [error] dotty.tools.dotc.core.Types$OrType.widenUnionWithoutNull(Types.scala:3451) [error] dotty.tools.dotc.core.Types$Type.widenUnion(Types.scala:1296) [error] dotty.tools.dotc.core.ConstraintHandling.widenOr$1(ConstraintHandling.scala:652) [error] dotty.tools.dotc.core.ConstraintHandling.widenInferred(ConstraintHandling.scala:668) [error] dotty.tools.dotc.core.ConstraintHandling.widenInferred$(ConstraintHandling.scala:29) [error] dotty.tools.dotc.core.TypeComparer.widenInferred(TypeComparer.scala:30) [error] dotty.tools.dotc.core.ConstraintHandling.instanceType(ConstraintHandling.scala:707) [error] dotty.tools.dotc.core.ConstraintHandling.instanceType$(ConstraintHandling.scala:29) [error] dotty.tools.dotc.core.TypeComparer.instanceType(TypeComparer.scala:30) [error] dotty.tools.dotc.core.TypeComparer$.instanceType(TypeComparer.scala:3010) [error] dotty.tools.dotc.core.Types$TypeVar.instantiate(Types.scala:4809) [error] dotty.tools.dotc.typer.Inferencing$IsFullyDefinedAccumulator.instantiate(Inferencing.scala:162) [error] dotty.tools.dotc.typer.Inferencing$IsFullyDefinedAccumulator.apply(Inferencing.scala:189) [error] dotty.tools.dotc.typer.Inferencing$IsFullyDefinedAccumulator.apply(Inferencing.scala:169) [error] dotty.tools.dotc.core.Types$TypeAccumulator.op$proxy24$1(Types.scala:6198) [error] dotty.tools.dotc.core.Types$TypeAccumulator.foldArgs$3(Types.scala:6198) [error] dotty.tools.dotc.core.Types$TypeAccumulator.foldOver(Types.scala:6202) [error] dotty.tools.dotc.typer.Inferencing$IsFullyDefinedAccumulator.apply(Inferencing.scala:202) [error] dotty.tools.dotc.typer.Inferencing$IsFullyDefinedAccumulator.process(Inferencing.scala:216) [error] dotty.tools.dotc.typer.Inferencing$.isFullyDefined(Inferencing.scala:30) [error] dotty.tools.dotc.typer.Inferencing$.fullyDefinedType(Inferencing.scala:45) [error] dotty.tools.dotc.typer.Namer.lhsType$1(Namer.scala:1933) [error] dotty.tools.dotc.typer.Namer.inferredResultType(Namer.scala:1944) [error] dotty.tools.dotc.typer.Namer.inferredType$1(Namer.scala:1691) [error] dotty.tools.dotc.typer.Namer.valOrDefDefSig(Namer.scala:1698) [error] dotty.tools.dotc.typer.Namer$Completer.typeSig(Namer.scala:787) [error] dotty.tools.dotc.typer.Namer$Completer.completeInCreationContext(Namer.scala:934) [error] dotty.tools.dotc.typer.Namer$Completer.complete(Namer.scala:814) [error] dotty.tools.dotc.core.SymDenotations$SymDenotation.completeFrom(SymDenotations.scala:174) [error] dotty.tools.dotc.core.Denotations$Denotation.completeInfo$1(Denotations.scala:187) [error] dotty.tools.dotc.core.Denotations$Denotation.info(Denotations.scala:189) [error] dotty.tools.dotc.core.SymDenotations$SymDenotation.ensureCompleted(SymDenotations.scala:393) [error] dotty.tools.dotc.typer.Typer.retrieveSym(Typer.scala:2989) [error] dotty.tools.dotc.typer.Typer.typedNamed$1(Typer.scala:3014) [error] dotty.tools.dotc.typer.Typer.typedUnadapted(Typer.scala:3111) [error] dotty.tools.dotc.typer.Typer.typed(Typer.scala:3184) [error] dotty.tools.dotc.typer.Typer.typed(Typer.scala:3188) [error] dotty.tools.dotc.typer.Typer.traverse$1(Typer.scala:3210) [error] dotty.tools.dotc.typer.Typer.typedStats(Typer.scala:3256) [error] dotty.tools.dotc.typer.Typer.typedBlockStats(Typer.scala:1159) [error] dotty.tools.dotc.typer.Typer.typedBlock(Typer.scala:1163) [error] dotty.tools.dotc.typer.Typer.typedUnnamed$1(Typer.scala:3056) [error] dotty.tools.dotc.typer.Typer.typedUnadapted(Typer.scala:3112) [error] dotty.tools.dotc.typer.Typer.typed(Typer.scala:3184) [error] dotty.tools.dotc.typer.Typer.typed(Typer.scala:3188) [error] dotty.tools.dotc.typer.Typer.typedExpr(Typer.scala:3300) [error] dotty.tools.dotc.typer.Typer.caseRest$1(Typer.scala:1870) [error] dotty.tools.dotc.typer.Typer.typedCase(Typer.scala:1886) [error] dotty.tools.dotc.typer.Typer.typedCases$$anonfun$1(Typer.scala:1816) [error] dotty.tools.dotc.core.Decorators$.loop$1(Decorators.scala:94) [error] dotty.tools.dotc.core.Decorators$.mapconserve(Decorators.scala:110) [error] dotty.tools.dotc.typer.Typer.typedCases(Typer.scala:1818) [error] dotty.tools.dotc.typer.Typer.$anonfun$34(Typer.scala:1808) [error] dotty.tools.dotc.typer.Applications.harmonic(Applications.scala:2338) [error] dotty.tools.dotc.typer.Applications.harmonic$(Applications.scala:352) [error] dotty.tools.dotc.typer.Typer.harmonic(Typer.scala:116) [error] dotty.tools.dotc.typer.Typer.typedMatchFinish(Typer.scala:1808) [error] dotty.tools.dotc.typer.Typer.typedMatch(Typer.scala:1742) [error] dotty.tools.dotc.typer.Typer.typedUnnamed$1(Typer.scala:3062) [error] dotty.tools.dotc.typer.Typer.typedUnadapted(Typer.scala:3112) [error] dotty.tools.dotc.typer.Typer.typed(Typer.scala:3184) [error] dotty.tools.dotc.typer.Typer.typed(Typer.scala:3188) [error] dotty.tools.dotc.typer.Typer.typedExpr(Typer.scala:3300) [error] dotty.tools.dotc.typer.Typer.typedBlock(Typer.scala:1166) [error] dotty.tools.dotc.typer.Typer.typedUnnamed$1(Typer.scala:3056) [error] dotty.tools.dotc.typer.Typer.typedUnadapted(Typer.scala:3112) [error] dotty.tools.dotc.typer.Typer.typed(Typer.scala:3184) [error] dotty.tools.dotc.typer.Typer.typed(Typer.scala:3188) [error] dotty.tools.dotc.typer.Typer.typedExpr(Typer.scala:3300) [error] dotty.tools.dotc.typer.Typer.$anonfun$57(Typer.scala:2486) [error] dotty.tools.dotc.inlines.PrepareInlineable$.dropInlineIfError(PrepareInlineable.scala:243) [error] dotty.tools.dotc.typer.Typer.typedDefDef(Typer.scala:2486) [error] dotty.tools.dotc.typer.Typer.typedNamed$1(Typer.scala:3024) [error] dotty.tools.dotc.typer.Typer.typedUnadapted(Typer.scala:3111) [error] dotty.tools.dotc.typer.Typer.typed(Typer.scala:3184) [error] dotty.tools.dotc.typer.Typer.typed(Typer.scala:3188) [error] dotty.tools.dotc.typer.Typer.traverse$1(Typer.scala:3210) [error] dotty.tools.dotc.typer.Typer.typedStats(Typer.scala:3256) [error] dotty.tools.dotc.typer.Typer.typedBlockStats(Typer.scala:1159) [error] dotty.tools.dotc.typer.Typer.typedBlock(Typer.scala:1163) [error] dotty.tools.dotc.typer.Typer.typedUnnamed$1(Typer.scala:3056) [error] dotty.tools.dotc.typer.Typer.typedUnadapted(Typer.scala:3112) [error] dotty.tools.dotc.typer.Typer.typed(Typer.scala:3184) [error] dotty.tools.dotc.typer.Typer.typed(Typer.scala:3188) [error] dotty.tools.dotc.typer.Typer.typedFunctionValue(Typer.scala:1626) [error] dotty.tools.dotc.typer.Typer.typedFunction(Typer.scala:1377) [error] dotty.tools.dotc.typer.Typer.typedUnnamed$1(Typer.scala:3058) [error] dotty.tools.dotc.typer.Typer.typedUnadapted(Typer.scala:3112) [error] dotty.tools.dotc.typer.Typer.typed(Typer.scala:3184) [error] dotty.tools.dotc.typer.Typer.typed(Typer.scala:3188) [error] dotty.tools.dotc.typer.Typer.typedExpr(Typer.scala:3300) [error] dotty.tools.dotc.typer.Typer.typedBlock(Typer.scala:1166) [error] dotty.tools.dotc.typer.Typer.typedUnnamed$1(Typer.scala:3056) [error] dotty.tools.dotc.typer.Typer.typedUnadapted(Typer.scala:3112) [error] dotty.tools.dotc.typer.ProtoTypes$FunProto.$anonfun$7(ProtoTypes.scala:495) [error] dotty.tools.dotc.typer.ProtoTypes$FunProto.cacheTypedArg(ProtoTypes.scala:418) [error] dotty.tools.dotc.typer.ProtoTypes$FunProto.typedArg(ProtoTypes.scala:496) [error] dotty.tools.dotc.typer.Applications$ApplyToUntyped.typedArg(Applications.scala:897) [error] dotty.tools.dotc.typer.Applications$ApplyToUntyped.typedArg(Applications.scala:897) [error] dotty.tools.dotc.typer.Applications$Application.addTyped$1(Applications.scala:589) [error] dotty.tools.dotc.typer.Applications$Application.matchArgs(Applications.scala:653) [error] dotty.tools.dotc.typer.Applications$Application.init(Applications.scala:492) [error] dotty.tools.dotc.typer.Applications$TypedApply.(Applications.scala:779) [error] dotty.tools.dotc.typer.Applications$ApplyToUntyped.(Applications.scala:896) [error] dotty.tools.dotc.typer.Applications.ApplyTo(Applications.scala:1126) [error] dotty.tools.dotc.typer.Applications.ApplyTo$(Applications.scala:352) [error] dotty.tools.dotc.typer.Typer.ApplyTo(Typer.scala:116) [error] dotty.tools.dotc.typer.Applications.simpleApply$1(Applications.scala:969) [error] dotty.tools.dotc.typer.Applications.realApply$1$$anonfun$2(Applications.scala:1052) [error] dotty.tools.dotc.typer.Typer.tryEither(Typer.scala:3324) [error] dotty.tools.dotc.typer.Applications.realApply$1(Applications.scala:1063) [error] dotty.tools.dotc.typer.Applications.typedApply(Applications.scala:1101) [error] dotty.tools.dotc.typer.Applications.typedApply$(Applications.scala:352) [error] dotty.tools.dotc.typer.Typer.typedApply(Typer.scala:116) [error] dotty.tools.dotc.typer.Typer.typedUnnamed$1(Typer.scala:3048) [error] dotty.tools.dotc.typer.Typer.typedUnadapted(Typer.scala:3112) [error] dotty.tools.dotc.typer.Typer.typed(Typer.scala:3184) [error] dotty.tools.dotc.typer.Typer.typed(Typer.scala:3188) [error] dotty.tools.dotc.typer.Typer.typedExpr(Typer.scala:3300) [error] dotty.tools.dotc.typer.Typer.$anonfun$57(Typer.scala:2486) [error] dotty.tools.dotc.inlines.PrepareInlineable$.dropInlineIfError(PrepareInlineable.scala:243) [error] dotty.tools.dotc.typer.Typer.typedDefDef(Typer.scala:2486) [error] dotty.tools.dotc.typer.Typer.typedNamed$1(Typer.scala:3024) [error] dotty.tools.dotc.typer.Typer.typedUnadapted(Typer.scala:3111) [error] dotty.tools.dotc.typer.Typer.typed(Typer.scala:3184) [error] dotty.tools.dotc.typer.Typer.typed(Typer.scala:3188) [error] dotty.tools.dotc.typer.Typer.traverse$1(Typer.scala:3210) [error] dotty.tools.dotc.typer.Typer.typedStats(Typer.scala:3256) [error] dotty.tools.dotc.typer.Typer.typedClassDef(Typer.scala:2669) [error] dotty.tools.dotc.typer.Typer.typedTypeOrClassDef$1(Typer.scala:3036) [error] dotty.tools.dotc.typer.Typer.typedNamed$1(Typer.scala:3040) [error] dotty.tools.dotc.typer.Typer.typedUnadapted(Typer.scala:3111) [error] dotty.tools.dotc.typer.Typer.typed(Typer.scala:3184) [error] dotty.tools.dotc.typer.Typer.typed(Typer.scala:3188) [error] dotty.tools.dotc.typer.Typer.traverse$1(Typer.scala:3210) [error] dotty.tools.dotc.typer.Typer.typedStats(Typer.scala:3256) [error] dotty.tools.dotc.typer.Typer.typedPackageDef(Typer.scala:2812) [error] dotty.tools.dotc.typer.Typer.typedUnnamed$1(Typer.scala:3081) [error] dotty.tools.dotc.typer.Typer.typedUnadapted(Typer.scala:3112) [error] dotty.tools.dotc.typer.Typer.typed(Typer.scala:3184) [error] dotty.tools.dotc.typer.Typer.typed(Typer.scala:3188) [error] dotty.tools.dotc.typer.Typer.typedExpr(Typer.scala:3300) [error] dotty.tools.dotc.typer.TyperPhase.typeCheck$$anonfun$1(TyperPhase.scala:44) [error] dotty.tools.dotc.typer.TyperPhase.typeCheck$$anonfun$adapted$1(TyperPhase.scala:54) [error] scala.Function0.apply$mcV$sp(Function0.scala:42) [error] dotty.tools.dotc.core.Phases$Phase.monitor(Phases.scala:440) [error] dotty.tools.dotc.typer.TyperPhase.typeCheck(TyperPhase.scala:54) [error] dotty.tools.dotc.typer.TyperPhase.runOn$$anonfun$3(TyperPhase.scala:88) [error] scala.runtime.function.JProcedure1.apply(JProcedure1.java:15) [error] scala.runtime.function.JProcedure1.apply(JProcedure1.java:10) [error] scala.collection.immutable.List.foreach(List.scala:333) [error] dotty.tools.dotc.typer.TyperPhase.runOn(TyperPhase.scala:88) [error] dotty.tools.dotc.Run.runPhases$1$$anonfun$1(Run.scala:246) [error] scala.runtime.function.JProcedure1.apply(JProcedure1.java:15) [error] scala.runtime.function.JProcedure1.apply(JProcedure1.java:10) [error] scala.collection.ArrayOps$.foreach$extension(ArrayOps.scala:1321) [error] dotty.tools.dotc.Run.runPhases$1(Run.scala:262) [error] dotty.tools.dotc.Run.compileUnits$$anonfun$1(Run.scala:270) [error] dotty.tools.dotc.Run.compileUnits$$anonfun$adapted$1(Run.scala:279) [error] dotty.tools.dotc.util.Stats$.maybeMonitored(Stats.scala:67) [error] dotty.tools.dotc.Run.compileUnits(Run.scala:279) [error] dotty.tools.dotc.Run.compileSources(Run.scala:194) [error] dotty.tools.dotc.Run.compile(Run.scala:179) [error] dotty.tools.dotc.Driver.doCompile(Driver.scala:37) [error] dotty.tools.xsbt.CompilerBridgeDriver.run(CompilerBridgeDriver.java:88) [error] dotty.tools.xsbt.CompilerBridge.run(CompilerBridge.java:22) [error] sbt.internal.inc.AnalyzingCompiler.compile(AnalyzingCompiler.scala:91) [error] sbt.internal.inc.MixedAnalyzingCompiler.$anonfun$compile$7(MixedAnalyzingCompiler.scala:193) [error] scala.runtime.java8.JFunction0$mcV$sp.apply(JFunction0$mcV$sp.java:23) [error] sbt.internal.inc.MixedAnalyzingCompiler.timed(MixedAnalyzingCompiler.scala:248) [error] sbt.internal.inc.MixedAnalyzingCompiler.$anonfun$compile$4(MixedAnalyzingCompiler.scala:183) [error] sbt.internal.inc.MixedAnalyzingCompiler.$anonfun$compile$4$adapted(MixedAnalyzingCompiler.scala:163) [error] sbt.internal.inc.JarUtils$.withPreviousJar(JarUtils.scala:239) [error] sbt.internal.inc.MixedAnalyzingCompiler.compileScala$1(MixedAnalyzingCompiler.scala:163) [error] sbt.internal.inc.MixedAnalyzingCompiler.compile(MixedAnalyzingCompiler.scala:211) [error] sbt.internal.inc.IncrementalCompilerImpl.$anonfun$compileInternal$1(IncrementalCompilerImpl.scala:534) [error] sbt.internal.inc.IncrementalCompilerImpl.$anonfun$compileInternal$1$adapted(IncrementalCompilerImpl.scala:534) [error] sbt.internal.inc.Incremental$.$anonfun$apply$5(Incremental.scala:180) [error] sbt.internal.inc.Incremental$.$anonfun$apply$5$adapted(Incremental.scala:178) [error] sbt.internal.inc.Incremental$$anon$2.run(Incremental.scala:464) [error] sbt.internal.inc.IncrementalCommon$CycleState.next(IncrementalCommon.scala:116) [error] sbt.internal.inc.IncrementalCommon$$anon$1.next(IncrementalCommon.scala:56) [error] sbt.internal.inc.IncrementalCommon$$anon$1.next(IncrementalCommon.scala:52) [error] sbt.internal.inc.IncrementalCommon.cycle(IncrementalCommon.scala:263) [error] sbt.internal.inc.Incremental$.$anonfun$incrementalCompile$8(Incremental.scala:419) [error] sbt.internal.inc.Incremental$.withClassfileManager(Incremental.scala:506) [error] sbt.internal.inc.Incremental$.incrementalCompile(Incremental.scala:406) [error] sbt.internal.inc.Incremental$.apply(Incremental.scala:172) [error] sbt.internal.inc.IncrementalCompilerImpl.compileInternal(IncrementalCompilerImpl.scala:534) [error] sbt.internal.inc.IncrementalCompilerImpl.$anonfun$compileIncrementally$1(IncrementalCompilerImpl.scala:488) [error] sbt.internal.inc.IncrementalCompilerImpl.handleCompilationError(IncrementalCompilerImpl.scala:332) [error] sbt.internal.inc.IncrementalCompilerImpl.compileIncrementally(IncrementalCompilerImpl.scala:425) [error] sbt.internal.inc.IncrementalCompilerImpl.compile(IncrementalCompilerImpl.scala:137) [error] sbt.Defaults$.compileIncrementalTaskImpl(Defaults.scala:2371) [error] sbt.Defaults$.$anonfun$compileIncrementalTask$2(Defaults.scala:2321) [error] sbt.internal.server.BspCompileTask$.$anonfun$compute$1(BspCompileTask.scala:31) [error] sbt.internal.io.Retry$.apply(Retry.scala:47) [error] sbt.internal.io.Retry$.apply(Retry.scala:29) [error] sbt.internal.io.Retry$.apply(Retry.scala:24) [error] sbt.internal.server.BspCompileTask$.compute(BspCompileTask.scala:31) [error] sbt.Defaults$.$anonfun$compileIncrementalTask$1(Defaults.scala:2319) [error] scala.Function1.$anonfun$compose$1(Function1.scala:49) [error] sbt.internal.util.$tilde$greater.$anonfun$$u2219$1(TypeFunctions.scala:63) [error] sbt.std.Transform$$anon$4.work(Transform.scala:69) [error] sbt.Execute.$anonfun$submit$2(Execute.scala:283) [error] sbt.internal.util.ErrorHandling$.wideConvert(ErrorHandling.scala:24) [error] sbt.Execute.work(Execute.scala:292) [error] sbt.Execute.$anonfun$submit$1(Execute.scala:283) [error] sbt.ConcurrentRestrictions$$anon$4.$anonfun$submitValid$1(ConcurrentRestrictions.scala:265) [error] sbt.CompletionService$$anon$2.call(CompletionService.scala:65) [error] java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264) [error] java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) [error] java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264) [error] java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) [error] java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) [error] java.base/java.lang.Thread.run(Thread.java:833) [error] [error] stack trace is suppressed; run last Compile / compileIncremental for the full output [error] (Compile / compileIncremental) java.lang.AssertionError: assertion failed [error] Total time: 7 s, completed Mar 1, 2024, 5:57:17 PM ```
udalrich commented 4 months ago

Randomly commenting lines to see when it starts failing normally, it appears the problem is related to this.

import akka.actor.typed.{ ActorRef, Behavior }

class RootActor:
  def buildBehavior() : Behavior[Nothing]

  case class Init(x: Int)
  trait B
  trait C 
  trait D
  trait E
  trait F
  trait X
  trait Y 
  trait Z

  type Message1 = Init | B | C
  type Message2 = Init | D | E | F
  type Message3 = Init | X | Y | Z

  def foo(x: ActorRef[Message1], y: ActorRef[Message2]): ActoRef[Message3] = ???

  val actor: ActorRef[Message1] = ???

  // Note that we are passing the wrong type for the second argument.  This should be a compile error
  val actorFoo = foo(actor, actor)

  val otherActor: ActorRef[String] = ???

  val list = List(otherActor, actorFoo)
  // Comment out this line to get compiler errors rather than a compiler crash.
  Start(list)

object Start:
  def apply(actors: List[ActorRef[Init]) = ???

It looks like some combination of algebraic types and mismatched arguments is breaking it.

To be clear, the above code should not compile, but I should get error messages pointing to the lines with the errors rather than an sbt stack trace.

udalrich commented 4 months ago

After fixing some of those errors, I found that I was also getting sbt to crash with

  val a : ActorRef[Message1]
  val b : ActorRef[Message2]
  // val c: ActorRef[Message3]

  val list = List(a, b, c)

where the only definition of c is in a comment. Removing the comment did not affect it.

ivan-klass commented 4 months ago

Not sure, but #19789 might be related - ActorRef[Message1] | ActorRef[Message2] | ActorRef[Message3] is list element here

Gedochao commented 4 months ago

We need to minimize this to an example which doesn't depend on Akka to start working on this.