mojo
mojo copied to clipboard
[BUG]: Parsing crash when `cast` was not called
Bug description
Using X.cast[TYPE]
without ()
at the end results parsing crash, instead of useful tips
Console output from mojo run
Assertion failed: (argVal && "we handled ORValue above"), function checkOneOperand, file OverloadFitness.cpp, line 768.
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 run /Users/toiletsandpaper/Documents/mojo_test/base_types.mojo
1. Crash resolving decl body at loc("/Users/toiletsandpaper/Documents/mojo_test/base_types.mojo":4:1)
>> fn main() raises:
^................
>> let a: Int32 = 12
>> let b: Int32 = 15
>>
>> print(
2. Crash parsing statement at loc("/Users/toiletsandpaper/Documents/mojo_test/base_types.mojo":8:5)
>> print(
^.....
>> sum(a.cast[DType.int64], b.cast[DType.int64])
>> )
.....<
#0 0x000000010219e664 llvm_strlcpy (/Users/toiletsandpaper/.modular/pkg/packages.modular.com_mojo/bin/mojo+0x1000c6664)
#1 0x000000010219c7c4 llvm_strlcpy (/Users/toiletsandpaper/.modular/pkg/packages.modular.com_mojo/bin/mojo+0x1000c47c4)
#2 0x000000010219ed04 llvm_strlcpy (/Users/toiletsandpaper/.modular/pkg/packages.modular.com_mojo/bin/mojo+0x1000c6d04)
#3 0x000000018b67da24 (/usr/lib/system/libsystem_platform.dylib+0x18046da24)
#4 0x000000018b64dcc0 (/usr/lib/system/libsystem_pthread.dylib+0x18043dcc0)
#5 0x000000018b559a40 (/usr/lib/system/libsystem_c.dylib+0x180349a40)
#6 0x000000018b558d30 (/usr/lib/system/libsystem_c.dylib+0x180348d30)
#7 0x00000001048320a8 mbedtls_ssl_handshake_server_step (/Users/toiletsandpaper/.modular/pkg/packages.modular.com_mojo/bin/mojo+0x10275a0a8)
#8 0x0000000102515d7c llvm_strlcpy (/Users/toiletsandpaper/.modular/pkg/packages.modular.com_mojo/bin/mojo+0x10043dd7c)
#9 0x0000000102517b1c llvm_strlcpy (/Users/toiletsandpaper/.modular/pkg/packages.modular.com_mojo/bin/mojo+0x10043fb1c)
#10 0x0000000102516e64 llvm_strlcpy (/Users/toiletsandpaper/.modular/pkg/packages.modular.com_mojo/bin/mojo+0x10043ee64)
#11 0x00000001024b5754 llvm_strlcpy (/Users/toiletsandpaper/.modular/pkg/packages.modular.com_mojo/bin/mojo+0x1003dd754)
#12 0x00000001024eeed4 llvm_strlcpy (/Users/toiletsandpaper/.modular/pkg/packages.modular.com_mojo/bin/mojo+0x100416ed4)
#13 0x0000000102515c24 llvm_strlcpy (/Users/toiletsandpaper/.modular/pkg/packages.modular.com_mojo/bin/mojo+0x10043dc24)
#14 0x0000000102517b1c llvm_strlcpy (/Users/toiletsandpaper/.modular/pkg/packages.modular.com_mojo/bin/mojo+0x10043fb1c)
#15 0x0000000102516e64 llvm_strlcpy (/Users/toiletsandpaper/.modular/pkg/packages.modular.com_mojo/bin/mojo+0x10043ee64)
#16 0x00000001024b5754 llvm_strlcpy (/Users/toiletsandpaper/.modular/pkg/packages.modular.com_mojo/bin/mojo+0x1003dd754)
#17 0x00000001024b82f8 llvm_strlcpy (/Users/toiletsandpaper/.modular/pkg/packages.modular.com_mojo/bin/mojo+0x1003e02f8)
#18 0x00000001024fbac8 llvm_strlcpy (/Users/toiletsandpaper/.modular/pkg/packages.modular.com_mojo/bin/mojo+0x100423ac8)
#19 0x00000001024f13f4 llvm_strlcpy (/Users/toiletsandpaper/.modular/pkg/packages.modular.com_mojo/bin/mojo+0x1004193f4)
#20 0x00000001024fb6a0 llvm_strlcpy (/Users/toiletsandpaper/.modular/pkg/packages.modular.com_mojo/bin/mojo+0x1004236a0)
#21 0x00000001024f15f4 llvm_strlcpy (/Users/toiletsandpaper/.modular/pkg/packages.modular.com_mojo/bin/mojo+0x1004195f4)
#22 0x0000000102524c3c llvm_strlcpy (/Users/toiletsandpaper/.modular/pkg/packages.modular.com_mojo/bin/mojo+0x10044cc3c)
#23 0x0000000102522b2c llvm_strlcpy (/Users/toiletsandpaper/.modular/pkg/packages.modular.com_mojo/bin/mojo+0x10044ab2c)
#24 0x00000001025229c8 llvm_strlcpy (/Users/toiletsandpaper/.modular/pkg/packages.modular.com_mojo/bin/mojo+0x10044a9c8)
#25 0x00000001024cb790 llvm_strlcpy (/Users/toiletsandpaper/.modular/pkg/packages.modular.com_mojo/bin/mojo+0x1003f3790)
#26 0x00000001024dc5b4 llvm_strlcpy (/Users/toiletsandpaper/.modular/pkg/packages.modular.com_mojo/bin/mojo+0x1004045b4)
#27 0x00000001024dcc58 llvm_strlcpy (/Users/toiletsandpaper/.modular/pkg/packages.modular.com_mojo/bin/mojo+0x100404c58)
#28 0x00000001024e4878 llvm_strlcpy (/Users/toiletsandpaper/.modular/pkg/packages.modular.com_mojo/bin/mojo+0x10040c878)
#29 0x00000001024e4b98 llvm_strlcpy (/Users/toiletsandpaper/.modular/pkg/packages.modular.com_mojo/bin/mojo+0x10040cb98)
#30 0x00000001020e6980 _mh_execute_header (/Users/toiletsandpaper/.modular/pkg/packages.modular.com_mojo/bin/mojo+0x10000e980)
#31 0x00000001020f64d8 _mh_execute_header (/Users/toiletsandpaper/.modular/pkg/packages.modular.com_mojo/bin/mojo+0x10001e4d8)
#32 0x00000001020e10a0 _mh_execute_header (/Users/toiletsandpaper/.modular/pkg/packages.modular.com_mojo/bin/mojo+0x1000090a0)
#33 0x000000018b2cd0e0
[95985:4267206:20240222,162449.059581:WARNING crash_report_exception_handler.cc:257] UniversalExceptionRaise: (os/kern) failure (5)
zsh: abort mojo run "/Users/toiletsandpaper/Documents/mojo_test/base_types.mojo"
❯ uname -a
Darwin MacBook-Pro-Ilya.local 23.3.0 Darwin Kernel Version 23.3.0: Wed Dec 20 21:30:27 PST 2023; root:xnu-10002.81.5~7/RELEASE_ARM64_T8103 arm64
Steps to reproduce
-
cause crash
+
everything works fine
fn sum(a: Int64, b: Int64) -> Int64:
return a + b
fn main() raises:
let a: Int32 = 12
let b: Int32 = 15
print(
- sum(a.cast[DType.int64], b.cast[DType.int64])
+ sum(a.cast[DType.int64](), b.cast[DType.int64]())
)
System information
- What OS did you do install Mojo on?
- MacOS Sonoma 14.3 on M1 chip
- Provide version information for Mojo by pasting the output of `mojo -v`
- mojo 0.7.0 (af002202)
- Provide Modular CLI version by pasting the output of `modular -v`
- modular 0.4.1 (2d8afe15)