Skip to content

[TRACKER] PR #361 #368

@jaibugbot

Description

@jaibugbot
Emailed In Reported Version Latest Broken Version Latest Broken Platforms Fix Version
beta-0.1.096 beta-0.2.010 windows, linux -

Description

parse_int throws "cast bounds check failed" instead of returning ok=false

Buggy Code

#import "Basic";
#import "String";

main :: () {
	src := "1230";
	val, ok := parse_int(*src, u8);

	print("% / %\n", val, ok);
}

Workarounds

cast,trunc() after parse_int + pray for no integer owerflow

Latest Test Outputs


windows
Compiler Output
   Creating library C:/Users/Private/Desktop/testo_runner/_work/JaiCommunityBugTrackerDev/JaiCommunityBugTrackerDev/compiler_bugs/.build/368_361_REC0.lib and object C:/Users/Private/Desktop/testo_runner/_work/JaiCommunityBugTrackerDev/JaiCommunityBugTrackerDev/compiler_bugs/.build/368_361_REC0.exp
Running linker: "C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.39.33519\bin\Hostx64\x64\link.exe" /nologo C:/Users/Private/Desktop/testo_runner/_work/JaiCommunityBugTrackerDev/JaiCommunityBugTrackerDev/compiler_bugs/.build/368_361_REC0_0_w2.obj C:/Users/Private/Desktop/testo_runner/_work/JaiCommunityBugTrackerDev/JaiCommunityBugTrackerDev/compiler_bugs/.build/368_361_REC0_1_w2.obj C:/Users/Private/Desktop/testo_runner/_work/JaiCommunityBugTrackerDev/JaiCommunityBugTrackerDev/compiler_bugs/.build/368_361_REC0_2_w2.obj C:/Users/Private/Desktop/testo_runner/_work/JaiCommunityBugTrackerDev/JaiCommunityBugTrackerDev/compiler_bugs/.build/368_361_REC0_3_w2.obj /OUT:C:/Users/Private/Desktop/testo_runner/_work/JaiCommunityBugTrackerDev/JaiCommunityBugTrackerDev/compiler_bugs/368_361_REC0.exe /MACHINE:AMD64 /INCREMENTAL:NO /DEBUG /IMPLIB:C:/Users/Private/Desktop/testo_runner/_work/JaiCommunityBugTrackerDev/JaiCommunityBugTrackerDev/compiler_bugs/.build/368_361_REC0.lib /libpath:"C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.39.33519\lib\x64" /libpath:"C:\Program Files (x86)\Windows Kits\10\Lib\10.0.22000.0\um\x64" /libpath:"C:\Program Files (x86)\Windows Kits\10\Lib\10.0.22000.0\ucrt\x64" -nodefaultlib kernel32.lib DbgHelp.lib libcmt.lib vcruntime.lib ucrt.lib

Stats for Workspace 2 ("Target Program"):
Lexer lines processed: 10838 (17424 including blank lines, comments.)
Front-end time: 0.056732 seconds.
llvm      time: 0.083803 seconds.

Compiler  time: 0.140534 seconds.
Link      time: 0.311138 seconds.
Total     time: 0.451672 seconds.

Runtime Error Output
Cast bounds check failed.  Number must be in [0, 255]; it was 1230.  Site is C:/jai/modules/String/module.jai:1200.
Panic.
A breakpoint was hit, but no debugger is attached.

Printing the stack trace:
handle_exception                  C:\jai\modules\Runtime_Support_Crash_Handler.jai:361
... (skipping OS-internal procedures)
debug_break                       C:\jai\modules\Runtime_Support.jai:462
my_panic                          C:\jai\modules\Runtime_Support.jai:364
__cast_bounds_check_fail          C:\jai\modules\Runtime_Support.jai:218
parse_int(T=u8)                   C:\jai\modules\String\module.jai:1200
main                              C:\Users\Private\Desktop\testo_runner\_work\JaiCommunityBugTrackerDev\JaiCommunityBugTrackerDev\compiler_bugs\368_361_REC0.jai:6

linux
Compiler Output
Running linker: /home/ubuntu/Desktop/Jai/jai-beta-0.2.010//bin/lld-linux -flavor Gnu --eh-frame-hdr -export-dynamic -o /home/ubuntu/Desktop/actions-runner/_work/JaiCommunityBugTrackerDev/JaiCommunityBugTrackerDev/compiler_bugs/368_361_REC0 /home/ubuntu/Desktop/actions-runner/_work/JaiCommunityBugTrackerDev/JaiCommunityBugTrackerDev/compiler_bugs/.build/368_361_REC0_0_w2.o /home/ubuntu/Desktop/actions-runner/_work/JaiCommunityBugTrackerDev/JaiCommunityBugTrackerDev/compiler_bugs/.build/368_361_REC0_1_w2.o /home/ubuntu/Desktop/actions-runner/_work/JaiCommunityBugTrackerDev/JaiCommunityBugTrackerDev/compiler_bugs/.build/368_361_REC0_2_w2.o /home/ubuntu/Desktop/actions-runner/_work/JaiCommunityBugTrackerDev/JaiCommunityBugTrackerDev/compiler_bugs/.build/368_361_REC0_3_w2.o /lib/x86_64-linux-gnu/crt1.o /lib/x86_64-linux-gnu/crti.o /lib/x86_64-linux-gnu/crtn.o -L /home/ubuntu/Desktop/actions-runner/_work/JaiCommunityBugTrackerDev/JaiCommunityBugTrackerDev --dynamic-linker /lib64/ld-linux-x86-64.so.2 -rpath='$ORIGIN' -L /usr/lib/x86_64-linux-gnu/libfakeroot -L /usr/local/lib -L /usr/local/lib/x86_64-linux-gnu -L /lib/x86_64-linux-gnu -L /usr/lib/x86_64-linux-gnu -L /lib64 -L /lib -L /usr/lib64 -L /usr/lib -L /home/ubuntu/Desktop/Jai/jai-beta-0.2.010/modules/ --start-group /lib/x86_64-linux-gnu/libc.so --end-group

Stats for Workspace 2 ("Target Program"):
Lexer lines processed: 11298 (18991 including blank lines, comments.)
Front-end time: 0.092832 seconds.
llvm      time: 0.179246 seconds.

Compiler  time: 0.272077 seconds.
Link      time: 0.000444 seconds.
Total     time: 0.272521 seconds.

Runtime Error Output
Cast bounds check failed.  Number must be in [0, 255]; it was 1230.  Site is /home/ubuntu/Desktop/Jai/jai-beta-0.2.010/modules/String/module.jai:1200.
Panic.
Breakpoint hit. Stack trace:
compiler_bugs/368_361_REC0(debug_break_5000000a0+0x29) [0x22c6d9]
compiler_bugs/368_361_REC0(my_panic_500000097+0x54) [0x21efb4]
compiler_bugs/368_361_REC0(__cast_bounds_check_fail_50000008f+0x582) [0x21ebb2]
compiler_bugs/368_361_REC0(parse_int_1700000009+0x1ef) [0x221c6f]
compiler_bugs/368_361_REC0(__program_main+0x185) [0x23f9a5]
compiler_bugs/368_361_REC0(main+0xa6) [0x2284a6]
/lib/x86_64-linux-gnu/libc.so.6(+0x29d90) [0x789caa029d90]
/lib/x86_64-linux-gnu/libc.so.6(__libc_start_main+0x80) [0x789caa029e40]
compiler_bugs/368_361_REC0(_start+0x25) [0x248555]


History V1

Version Windows Linux Mac
beta-0.2.010 ❌ - ExitCode 1 ❌ - ExitCode 1 -
beta-0.2.009 ❌ - ExitCode 1 ❌ - ExitCode 1 -
beta-0.2.008 ❌ - ExitCode 1 ❌ - ExitCode 1 -
beta-0.2.007 ❌ - ExitCode 1 ❌ - ExitCode 1 -
beta-0.2.006 ❌ - ExitCode 1 ❌ - ExitCode 1 -
beta-0.2.005 ❌ - ExitCode 1 ❌ - ExitCode 1 -
beta-0.2.004 ❌ - ExitCode 1 ❌ - ExitCode 1 -
beta-0.2.003 ❌ - ExitCode 1 ❌ - ExitCode 1 -
beta-0.2.002 ❌ - ExitCode 1 ❌ - ExitCode 1 -
beta-0.2.001 ❌ - ExitCode 1 ❌ - ExitCode 1 -
beta-0.1.096 ❌ - ExitCode 1 ❌ - ExitCode 1 -

Metadata

Metadata

Assignees

No one assigned

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions