# circt-opt reduced.mlir -firrtl-lower-classes
Assertion failed: (!NodePtr->isKnownSentinel()), function operator*, file ilist_iterator.h, line 168.
PLEASE submit a bug report to https://github.com/llvm/circt and include the crash backtrace.
Stack dump without symbol names (ensure you have llvm-symbolizer in your PATH or set the environment var `LLVM_SYMBOLIZER_PATH` to point to it):
0 circt-opt 0x0000000102cea234 llvm::sys::PrintStackTrace(llvm::raw_ostream&, int) + 56
1 circt-opt 0x0000000102ce7e40 llvm::sys::RunSignalHandlers() + 204
2 circt-opt 0x0000000102cead40 SignalHandler(int, __siginfo*, void*) + 328
3 libsystem_platform.dylib 0x0000000180e93744 _sigtramp + 56
4 libsystem_pthread.dylib 0x0000000180e898d8 pthread_kill + 296
5 libsystem_c.dylib 0x0000000180d90644 abort + 148
6 libsystem_c.dylib 0x0000000180d8f8a0 err + 0
7 circt-opt 0x0000000105335d5c llvm::yaml::Scanner::peekNext() (.cold.4) + 0
8 circt-opt 0x00000001034b3d04 auto void mlir::parallelForEach<llvm::DenseMapIterator<circt::om::ClassLike, (anonymous namespace)::ClassLoweringState, llvm::DenseMapInfo<circt::om::ClassLike, void>, llvm::detail::DenseMapPair<circt::om::ClassLike, (anonymous namespace)::ClassLoweringState>, false>, (anonymous namespace)::LowerClassesPass::runOnOperation()::$_1>(mlir::MLIRContext*, llvm::DenseMapIterator<circt::om::ClassLike, (anonymous namespace)::ClassLoweringState, llvm::DenseMapInfo<circt::om::ClassLike, void>, llvm::detail::DenseMapPair<circt::om::ClassLike, (anonymous namespace)::ClassLoweringState>, false>, llvm::DenseMapIterator<circt::om::ClassLike, (anonymous namespace)::ClassLoweringState, llvm::DenseMapInfo<circt::om::ClassLike, void>, llvm::detail::DenseMapPair<circt::om::ClassLike, (anonymous namespace)::ClassLoweringState>, false>, (anonymous namespace)::LowerClassesPass::runOnOperation()::$_1&&)::'lambda'(llvm::DenseMapIterator<circt::om::ClassLike, (anonymous namespace)::ClassLoweringState, llvm::DenseMapInfo<circt::om::ClassLike, void>, llvm::detail::DenseMapPair<circt::om::ClassLike, (anonymous namespace)::ClassLoweringState>, false>&&)::operator()<llvm::detail::DenseMapPair<circt::om::ClassLike, (anonymous namespace)::ClassLoweringState>&>(llvm::DenseMapIterator<circt::om::ClassLike, (anonymous namespace)::ClassLoweringState, llvm::DenseMapInfo<circt::om::ClassLike, void>, llvm::detail::DenseMapPair<circt::om::ClassLike, (anonymous namespace)::ClassLoweringState>, false>&&) const + 3648
9 circt-opt 0x00000001034b415c llvm::detail::UniqueFunctionBase<void>::UniqueFunctionBase<llvm::LogicalResult mlir::failableParallelForEach<llvm::DenseMapIterator<circt::om::ClassLike, (anonymous namespace)::ClassLoweringState, llvm::DenseMapInfo<circt::om::ClassLike, void>, llvm::detail::DenseMapPair<circt::om::ClassLike, (anonymous namespace)::ClassLoweringState>, false>, void mlir::parallelForEach<llvm::DenseMapIterator<circt::om::ClassLike, (anonymous namespace)::ClassLoweringState, llvm::DenseMapInfo<circt::om::ClassLike, void>, llvm::detail::DenseMapPair<circt::om::ClassLike, (anonymous namespace)::ClassLoweringState>, false>, (anonymous namespace)::LowerClassesPass::runOnOperation()::$_1>(mlir::MLIRContext*, llvm::DenseMapIterator<circt::om::ClassLike, (anonymous namespace)::ClassLoweringState, llvm::DenseMapInfo<circt::om::ClassLike, void>, llvm::detail::DenseMapPair<circt::om::ClassLike, (anonymous namespace)::ClassLoweringState>, false>, llvm::DenseMapIterator<circt::om::ClassLike, (anonymous namespace)::ClassLoweringState, llvm::DenseMapInfo<circt::om::ClassLike, void>, llvm::detail::DenseMapPair<circt::om::ClassLike, (anonymous namespace)::ClassLoweringState>, false>, (anonymous namespace)::LowerClassesPass::runOnOperation()::$_1&&)::'lambda'(llvm::DenseMapIterator<circt::om::ClassLike, (anonymous namespace)::ClassLoweringState, llvm::DenseMapInfo<circt::om::ClassLike, void>, llvm::detail::DenseMapPair<circt::om::ClassLike, (anonymous namespace)::ClassLoweringState>, false>&&)>(mlir::MLIRContext*, llvm::DenseMapIterator<circt::om::ClassLike, (anonymous namespace)::ClassLoweringState, llvm::DenseMapInfo<circt::om::ClassLike, void>, llvm::detail::DenseMapPair<circt::om::ClassLike, (anonymous namespace)::ClassLoweringState>, false>, llvm::DenseMapIterator<circt::om::ClassLike, (anonymous namespace)::ClassLoweringState, llvm::DenseMapInfo<circt::om::ClassLike, void>, llvm::detail::DenseMapPair<circt::om::ClassLike, (anonymous namespace)::ClassLoweringState>, false>, (anonymous namespace)::LowerClassesPass::runOnOperation()::$_1&&)::'lambda'(), llvm::LogicalResult mlir::failableParallelForEach<llvm::DenseMapIterator<circt::om::ClassLike, (anonymous namespace)::ClassLoweringState, llvm::DenseMapInfo<circt::om::ClassLike, void>, llvm::detail::DenseMapPair<circt::om::ClassLike, (anonymous namespace)::ClassLoweringState>, false>, void mlir::parallelForEach<llvm::DenseMapIterator<circt::om::ClassLike, (anonymous namespace)::ClassLoweringState, llvm::DenseMapInfo<circt::om::ClassLike, void>, llvm::detail::DenseMapPair<circt::om::ClassLike, (anonymous namespace)::ClassLoweringState>, false>, (anonymous namespace)::LowerClassesPass::runOnOperation()::$_1>(mlir::MLIRContext*, llvm::DenseMapIterator<circt::om::ClassLike, (anonymous namespace)::ClassLoweringState, llvm::DenseMapInfo<circt::om::ClassLike, void>, llvm::detail::DenseMapPair<circt::om::ClassLike, (anonymous namespace)::ClassLoweringState>, false>, llvm::DenseMapIterator<circt::om::ClassLike, (anonymous namespace)::ClassLoweringState, llvm::DenseMapInfo<circt::om::ClassLike, void>, llvm::detail::DenseMapPair<circt::om::ClassLike, (anonymous namespace)::ClassLoweringState>, false>, (anonymous namespace)::LowerClassesPass::runOnOperation()::$_1&&)::'lambda'(llvm::DenseMapIterator<circt::om::ClassLike, (anonymous namespace)::ClassLoweringState, llvm::DenseMapInfo<circt::om::ClassLike, void>, llvm::detail::DenseMapPair<circt::om::ClassLike, (anonymous namespace)::ClassLoweringState>, false>&&)>(mlir::MLIRContext*, llvm::DenseMapIterator<circt::om::ClassLike, (anonymous namespace)::ClassLoweringState, llvm::DenseMapInfo<circt::om::ClassLike, void>, llvm::detail::DenseMapPair<circt::om::ClassLike, (anonymous namespace)::ClassLoweringState>, false>, llvm::DenseMapIterator<circt::om::ClassLike, (anonymous namespace)::ClassLoweringState, llvm::DenseMapInfo<circt::om::ClassLike, void>, llvm::detail::DenseMapPair<circt::om::ClassLike, (anonymous namespace)::ClassLoweringState>, false>, (anonymous namespace)::LowerClassesPass::runOnOperation()::$_1&&)::'lambda'()>(llvm::DenseMapIterator<circt::om::ClassLike, (anonymous namespace)::ClassLoweringState, llvm::DenseMapInfo<circt::om::ClassLike, void>, llvm::detail::DenseMapPair<circt::om::ClassLike, (anonymous namespace)::ClassLoweringState>, false>, llvm::detail::UniqueFunctionBase<void>::CalledAs<(anonymous namespace)::LowerClassesPass::runOnOperation()::$_1>)::'lambda'(llvm::detail::UniqueFunctionBase<void> const*)::__invoke(llvm::detail::UniqueFunctionBase<void> const*) + 368
10 circt-opt 0x00000001033fcf14 std::__1::__deferred_assoc_state<void, std::__1::__async_func<llvm::unique_function<void ()>>>::__execute() + 28
11 libc++.1.dylib 0x0000000180dc0114 std::__1::__assoc_sub_state::wait() + 56
12 circt-opt 0x0000000102c9706c llvm::StdThreadPool::processTasks(llvm::ThreadPoolTaskGroup*) + 872
13 circt-opt 0x0000000102c98a00 void* llvm::thread::ThreadProxy<std::__1::tuple<llvm::StdThreadPool::grow(int)::$_0>>(void*) + 148
14 libsystem_pthread.dylib 0x0000000180e89c58 _pthread_start + 136
15 libsystem_pthread.dylib 0x0000000180e84c1c thread_start + 8
zsh: abort circt-opt reduced.mlir -firrtl-lower-classes
I ran into the following assertion failure in
LowerClasses: