mojo icon indicating copy to clipboard operation
mojo copied to clipboard

[BUG]: Parsing crash when `cast` was not called

Open toiletsandpaper opened this issue 1 year ago • 0 comments

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)

toiletsandpaper avatar Feb 22 '24 13:02 toiletsandpaper