modular
modular copied to clipboard
[BUG]: mojo crash: Assertion 'this->_M_is_engaged()' failed.
Bug description
mojo crashes on the following invalid code.
$ cat test.mojo
from algorithm import parallelize
fn a() :
let b = 0
fn c(d: Int):
b
parallelize[c]
Steps to reproduce
$ mojo test.mojo
/path/to/test.mojo:5:13: warning: 'Int' value is unused
b
^
_ =
/usr/bin/../lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/optional:438: _Tp &std::_Optional_base_impl<mlir::OpBuilder, std::_Optional_base<mlir::OpBuilder, true, true>>::_M_get() [_Tp = mlir::OpBuilder, _Dp = std::_Optional_base<mlir::OpBuilder, true, true>]: Assertion 'this->_M_is_engaged()' failed.
[28814:28814:20240123,164835.516257:ERROR file_io_posix.cc:144] open /sys/devices/system/cpu/cpu0/cpufreq/scaling_cur_freq: No such file or directory (2)
[28814:28814:20240123,164835.516401:ERROR file_io_posix.cc:144] open /sys/devices/system/cpu/cpu0/cpufreq/scaling_max_freq: No such file or directory (2)
Please submit a bug report to https://github.com/modularml/mojo/issues and include the crash backtrace along with all the relevant source codes.
Stack dump:
0. Program arguments: mojo test.mojo
1. Crash resolving decl body at loc("/path/to/test.mojo":2:1)
>> fn a() :
^.......
>> let b = 0
>> fn c(d: Int):
>> b
>> parallelize[c]
..................<
2. Crash parsing statement at loc("/path/to/test.mojo":6:5)
>> parallelize[c]
^.............<
#0 0x000055918faceee7 (/home/jwzeng/.modular/pkg/packages.modular.com_mojo/bin/mojo+0x60fee7)
#1 0x000055918faccabe (/home/jwzeng/.modular/pkg/packages.modular.com_mojo/bin/mojo+0x60dabe)
#2 0x000055918facf5bf (/home/jwzeng/.modular/pkg/packages.modular.com_mojo/bin/mojo+0x6105bf)
#3 0x00007fa5e230d520 (/lib/x86_64-linux-gnu/libc.so.6+0x42520)
#4 0x00007fa5e23619fc pthread_kill (/lib/x86_64-linux-gnu/libc.so.6+0x969fc)
#5 0x00007fa5e230d476 gsignal (/lib/x86_64-linux-gnu/libc.so.6+0x42476)
#6 0x00007fa5e22f37f3 abort (/lib/x86_64-linux-gnu/libc.so.6+0x287f3)
#7 0x000055918ff6ec58 (/home/jwzeng/.modular/pkg/packages.modular.com_mojo/bin/mojo+0xaafc58)
#8 0x000055918ff679fb (/home/jwzeng/.modular/pkg/packages.modular.com_mojo/bin/mojo+0xaa89fb)
#9 0x000055918ff62a49 (/home/jwzeng/.modular/pkg/packages.modular.com_mojo/bin/mojo+0xaa3a49)
#10 0x000055918ff72b94 (/home/jwzeng/.modular/pkg/packages.modular.com_mojo/bin/mojo+0xab3b94)
#11 0x000055918ff6956e (/home/jwzeng/.modular/pkg/packages.modular.com_mojo/bin/mojo+0xaaa56e)
#12 0x000055918ff7c2f5 (/home/jwzeng/.modular/pkg/packages.modular.com_mojo/bin/mojo+0xabd2f5)
#13 0x000055918ff7a41b (/home/jwzeng/.modular/pkg/packages.modular.com_mojo/bin/mojo+0xabb41b)
#14 0x000055918ff692d9 (/home/jwzeng/.modular/pkg/packages.modular.com_mojo/bin/mojo+0xaaa2d9)
#15 0x000055918ff9f2bc (/home/jwzeng/.modular/pkg/packages.modular.com_mojo/bin/mojo+0xae02bc)
#16 0x000055918ff9c0d8 (/home/jwzeng/.modular/pkg/packages.modular.com_mojo/bin/mojo+0xadd0d8)
#17 0x000055918ff9bf76 (/home/jwzeng/.modular/pkg/packages.modular.com_mojo/bin/mojo+0xadcf76)
#18 0x000055918ff3b7c9 (/home/jwzeng/.modular/pkg/packages.modular.com_mojo/bin/mojo+0xa7c7c9)
#19 0x000055918ff55bce (/home/jwzeng/.modular/pkg/packages.modular.com_mojo/bin/mojo+0xa96bce)
#20 0x000055918ff563d8 (/home/jwzeng/.modular/pkg/packages.modular.com_mojo/bin/mojo+0xa973d8)
#21 0x000055918fefc7f4 (/home/jwzeng/.modular/pkg/packages.modular.com_mojo/bin/mojo+0xa3d7f4)
#22 0x000055918fefcb60 (/home/jwzeng/.modular/pkg/packages.modular.com_mojo/bin/mojo+0xa3db60)
#23 0x000055918fa977bf (/home/jwzeng/.modular/pkg/packages.modular.com_mojo/bin/mojo+0x5d87bf)
#24 0x000055918fa83c6b (/home/jwzeng/.modular/pkg/packages.modular.com_mojo/bin/mojo+0x5c4c6b)
#25 0x000055918fa968c9 (/home/jwzeng/.modular/pkg/packages.modular.com_mojo/bin/mojo+0x5d78c9)
#26 0x000055918fa7d352 (/home/jwzeng/.modular/pkg/packages.modular.com_mojo/bin/mojo+0x5be352)
#27 0x00007fa5e22f4d90 (/lib/x86_64-linux-gnu/libc.so.6+0x29d90)
#28 0x00007fa5e22f4e40 __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x29e40)
#29 0x000055918fa7c92e (/home/jwzeng/.modular/pkg/packages.modular.com_mojo/bin/mojo+0x5bd92e)
Aborted
System information
- Ubuntu 22.04.3 LTS (WSL 2)
- mojo 0.6.3 (f58f8b94)
- modular 0.3.1 (589ce200)
It seems like a duplicate of #1309.
Does this still reproduce for you with v0.7.0?
@ematejska, This bug seems to have been fixed on mojo. The results of my retest are as follows.
$ cat test.mojo
from algorithm import parallelize
fn a() :
let b = 0
fn c(d: Int):
b
parallelize[c]
$
$ mojo test.mojo
/path/to/test.mojo:5:13: warning: 'Int' value is unused
b
^
_ =
/path/to/test.mojo:6:17: error: cannot pass 'fn(d = Int) escaping -> None' value, parameter expected 'fn(Int, /) capturing -> None'
parallelize[c]
^
mojo: error: failed to parse the provided Mojo
My system information:
- Ubuntu 22.04.3 LTS (WSL 2)
- mojo 0.7.0 (af002202)
- modular 0.4.1 (2d8afe15)