Skip to content
This repository has been archived by the owner on Aug 20, 2024. It is now read-only.

Internal error when running test #2484

Open
hutch31 opened this issue Feb 27, 2022 · 1 comment
Open

Internal error when running test #2484

hutch31 opened this issue Feb 27, 2022 · 1 comment

Comments

@hutch31
Copy link

hutch31 commented Feb 27, 2022

What is the current behavior?

When running a newly created test, I receive an internal error from firrtl generation

What is the expected behavior?

Generation should complete correctly as per other tests

Steps to Reproduce

Check out public chisel-packetlib repository at firrtl-bug-report tag:
https://github.com/hutch31/chisel-packetlib/tree/firrtl-bug-report

Run test "should work with multiple pools"

Reported Error

Internal Error! Please file an issue at https://github.com/ucb-bar/firrtl/issues
firrtl.FirrtlInternalException: Internal Error! Please file an issue at https://github.com/ucb-bar/firrtl/issues
at firrtl.Utils$.error(Utils.scala:472)
at firrtl.Utils$.throwInternalError(Utils.scala:163)
at firrtl.stage.phases.CatchExceptions.transform(CatchExceptions.scala:38)
at firrtl.stage.phases.CatchExceptions.transform(CatchExceptions.scala:17)
at firrtl.options.phases.DeletedWrapper.internalTransform(DeletedWrapper.scala:38)
at firrtl.options.phases.DeletedWrapper.internalTransform(DeletedWrapper.scala:15)
at firrtl.options.Translator.transform(Phase.scala:248)
at firrtl.options.Translator.transform$(Phase.scala:248)
at firrtl.options.phases.DeletedWrapper.transform(DeletedWrapper.scala:15)
at firrtl.options.DependencyManager.$anonfun$transform$3(DependencyManager.scala:278)
at scala.collection.LinearSeqOptimized.foldLeft(LinearSeqOptimized.scala:126)
at scala.collection.LinearSeqOptimized.foldLeft$(LinearSeqOptimized.scala:122)
at scala.collection.immutable.List.foldLeft(List.scala:89)
at firrtl.options.DependencyManager.transform(DependencyManager.scala:269)
at firrtl.options.DependencyManager.transform$(DependencyManager.scala:255)
at firrtl.options.PhaseManager.transform(DependencyManager.scala:436)
at firrtl.stage.FirrtlStage.run(FirrtlStage.scala:38)
at firrtl.options.Stage$$anon$1.transform(Stage.scala:43)
at firrtl.options.Stage$$anon$1.transform(Stage.scala:43)
at firrtl.options.phases.DeletedWrapper.internalTransform(DeletedWrapper.scala:38)
at firrtl.options.phases.DeletedWrapper.internalTransform(DeletedWrapper.scala:15)
at firrtl.options.Translator.transform(Phase.scala:248)
at firrtl.options.Translator.transform$(Phase.scala:248)
at firrtl.options.phases.DeletedWrapper.transform(DeletedWrapper.scala:15)
at firrtl.options.Stage.$anonfun$transform$5(Stage.scala:47)
at scala.collection.LinearSeqOptimized.foldLeft(LinearSeqOptimized.scala:126)
at scala.collection.LinearSeqOptimized.foldLeft$(LinearSeqOptimized.scala:122)
at scala.collection.immutable.List.foldLeft(List.scala:89)
at firrtl.options.Stage.$anonfun$transform$3(Stage.scala:47)
at logger.Logger$.$anonfun$makeScope$2(Logger.scala:166)
at scala.util.DynamicVariable.withValue(DynamicVariable.scala:62)
at logger.Logger$.makeScope(Logger.scala:164)
at firrtl.options.Stage.transform(Stage.scala:47)
at chisel3.stage.phases.MaybeFirrtlStage.$anonfun$transform$2(MaybeFirrtlStage.scala:22)
at scala.Option.getOrElse(Option.scala:189)
at chisel3.stage.phases.MaybeFirrtlStage.transform(MaybeFirrtlStage.scala:22)
at chisel3.stage.phases.MaybeFirrtlStage.transform(MaybeFirrtlStage.scala:13)
at firrtl.options.phases.DeletedWrapper.internalTransform(DeletedWrapper.scala:38)
at firrtl.options.phases.DeletedWrapper.internalTransform(DeletedWrapper.scala:15)
at firrtl.options.Translator.transform(Phase.scala:248)
at firrtl.options.Translator.transform$(Phase.scala:248)
at firrtl.options.phases.DeletedWrapper.transform(DeletedWrapper.scala:15)
at firrtl.options.DependencyManager.$anonfun$transform$3(DependencyManager.scala:278)
at scala.collection.LinearSeqOptimized.foldLeft(LinearSeqOptimized.scala:126)
at scala.collection.LinearSeqOptimized.foldLeft$(LinearSeqOptimized.scala:122)
at scala.collection.immutable.List.foldLeft(List.scala:89)
at firrtl.options.DependencyManager.transform(DependencyManager.scala:269)
at firrtl.options.DependencyManager.transform$(DependencyManager.scala:255)
at firrtl.options.PhaseManager.transform(DependencyManager.scala:436)
at chisel3.stage.ChiselStage.run(ChiselStage.scala:46)

Your environment

  • Chisel Verions: 3.4.2
  • OS: Windows 11, Amazon Corretto Java 1.8.0_312
  • Verilator version: n/a
@hutch31
Copy link
Author

hutch31 commented Mar 10, 2022

The test in question fails because the numPools parameter is set to 2, which is the only value for which the test fails. While numPools == 1 is special cased and generates different code, the code path is identical for numPools >= 2. I tested from values 3 up to 8 and all compile and simulate correctly, so I cannot identify any particular code path which causes this to fail.

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant