flix / flix

The Flix Programming Language
https://flix.dev/
Other
2.08k stars 150 forks source link

Benchmark.flix triggers crash #7828

Open magnus-madsen opened 3 weeks ago

magnus-madsen commented 3 weeks ago

@mlutze Can you take a look? It used to work. But I guess the file was not under unit testing?

mlutze commented 3 weeks ago

Can you share the input program and stack trace?

magnus-madsen commented 3 weeks ago

Input is just the file. Stack trace is:

ca.uwaterloo.flix.util.InternalCompilerException: Unexpected type: 'Error'.
    at ca.uwaterloo.flix.language.phase.unification.BoolFormula$.fromEffType(BoolFormula.scala:144)
    at ca.uwaterloo.flix.language.phase.unification.BoolFormula$.fromEffType(BoolFormula.scala:138)
    at ca.uwaterloo.flix.language.phase.unification.BoolFormula$.fromEffType(BoolFormula.scala:138)
    at ca.uwaterloo.flix.language.phase.unification.BoolFormula$.fromEffType(BoolFormula.scala:138)
    at ca.uwaterloo.flix.language.phase.unification.BoolFormula$.fromEffType(BoolFormula.scala:138)
    at ca.uwaterloo.flix.language.phase.unification.BoolFormula$.fromEffType(BoolFormula.scala:138)
    at ca.uwaterloo.flix.language.phase.unification.BoolFormula$.fromEffType(BoolFormula.scala:138)
    at ca.uwaterloo.flix.language.phase.unification.TypeMinimization$.minimizeBoolAlg(TypeMinimization.scala:103)
    at ca.uwaterloo.flix.language.phase.unification.TypeMinimization$.minimizeType(TypeMinimization.scala:35)
    at ca.uwaterloo.flix.language.phase.typer.ConstraintSolver$.$anonfun$resolveOne$5(ConstraintSolver.scala:317)
    at ca.uwaterloo.flix.util.Result.map(Result.scala:46)
    at ca.uwaterloo.flix.util.Result.map$(Result.scala:45)
    at ca.uwaterloo.flix.util.Result$Ok.map(Result.scala:94)
    at ca.uwaterloo.flix.language.phase.typer.ConstraintSolver$.resolveOne(ConstraintSolver.scala:308)
    at ca.uwaterloo.flix.language.phase.typer.ConstraintSolver$.tryResolve$1(ConstraintSolver.scala:252)
    at ca.uwaterloo.flix.language.phase.typer.ConstraintSolver$.resolveOneOf(ConstraintSolver.scala:262)
    at ca.uwaterloo.flix.language.phase.typer.ConstraintSolver$.resolve(ConstraintSolver.scala:228)
    at ca.uwaterloo.flix.language.phase.typer.ConstraintSolver$.visitSpec(ConstraintSolver.scala:110)
    at ca.uwaterloo.flix.language.phase.typer.ConstraintSolver$.visitDef(ConstraintSolver.scala:56)
    at ca.uwaterloo.flix.language.phase.Typer$.visitDef(Typer.scala:173)
    at ca.uwaterloo.flix.language.phase.Typer$.$anonfun$visitDefs$1(Typer.scala:159)
    at ca.uwaterloo.flix.util.ParOps$.$anonfun$parTraverseValues$1(ParOps.scala:106)
    at ca.uwaterloo.flix.util.ParOps$.$anonfun$parMap$2(ParOps.scala:64)
    at java.base/java.util.concurrent.ForkJoinTask$RunnableExecuteAction.exec(ForkJoinTask.java:1423)
    at java.base/java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java:387)
    at java.base/java.util.concurrent.ForkJoinPool$WorkQueue.topLevelExec(ForkJoinPool.java:1312)
    at java.base/java.util.concurrent.ForkJoinPool.scan(ForkJoinPool.java:1843)
    at java.base/java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:1808)
    at java.base/java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:188)
mlutze commented 3 weeks ago

That's weird, it's part of the standard library

magnus-madsen commented 3 weeks ago

Maybe its when I include it a second time. Very confused now.