Comments (4)
Unfortunately, I can't reproduce this on:
Where to find more information and get into contact when you encounter a bug:
Website: https://odin-lang.org
GitHub: https://github.com/odin-lang/Odin/issues
Useful information to add to a bug report:
Odin: dev-2024-07:f9ef951b2
OS: macOS Sonoma 14.5 (build: 23F79, kernel: 23.5.0)
CPU: Apple M1
RAM: 8192 MiB
Backend: LLVM 18.1.4
Maybe it is the LLVM version difference, let me check.
from odin.
Ah yep, that's it, I reproduce this on LLVM 14.
from odin.
Ok the reason for the bus error was an error message over 4kb not fitting on the stack buffer used for printing it, here is the first snippet of that error message:
LLVM Error:
Call parameter type does not match function signature!
i8 (<{ i64, i64 }>, <{ i64, i64 }>)* @runtime.string_eq
i8* call void @main.spall_enter(i8 (<{ i64, i64 }>, <{ i64, i64 }>)* @runtime.string_eq, i8* %4, %runtime.Source_Code_Location* @"ggv$1f2")
Call parameter type does not match function signature!
i8 (<{ i64, i64 }>, <{ i64, i64 }>)* @runtime.string_eq
i8* call void @main.spall_exit(i8 (<{ i64, i64 }>, <{ i64, i64 }>)* @runtime.string_eq, i8* %4, %runtime.Source_Code_Location* @"ggv$1f3")
Call parameter type does not match function signature!
i8 (i8*, i8*, i64)* @runtime.memory_equal
i8* call void @main.spall_enter(i8 (i8*, i8*, i64)* @runtime.memory_equal, i8* %23, %runtime.Source_Code_Location* @"ggv$1b8")
Call parameter type does not match function signature!
i8 (i8*, i8*, i64)* @runtime.memory_equal
i8* call void @main.spall_exit(i8 (i8*, i8*, i64)* @runtime.memory_equal, i8* %23, %runtime.Source_Code_Location* @"ggv$1b9")
Call parameter type does not match function signature!
i8 (i8*, i8*, i64)* @runtime.memory_equal
i8* call void @main.spall_exit(i8 (i8*, i8*, i64)* @runtime.memory_equal, i8* %23, %runtime.Source_Code_Location* @"ggv$1ba")
Call parameter type does not match function signature!
i8 (i8*, i8*, i64)* @runtime.memory_equal
i8* call void @main.spall_exit(i8 (i8*, i8*, i64)* @runtime.memory_equal, i8* %23, %runtime.Source_Code_Location* @"ggv$1bb")
Call parameter type does not match function signature!
i8 (i8*, i8*, i64)* @runtime.memory_equal
i8* call void @main.spall_exit(i8 (i8*, i8*, i64)* @runtime.memory_equal, i8* %23, %runtime.Source_Code_Location* @"ggv$1bc")
Call parameter type does not match function signature!
i8 (<{ i64, i64 }>, <{ i64, i64 }>)* @runtime.string_eq
i8* call void @main.spall_exit(i8 (<{ i64, i64 }>, <{ i64, i64 }>)* @runtime.string_eq, i8* %4, %runtime.Source_Code_Location* @"ggv$1f4")
Call parameter type does not match function signature!
void (i8*)* @runtime._destroy_temp_allocator_fini-3953
i8* call void @main.spall_enter(void (i8*)* @runtime._destroy_temp_allocator_fini-3953, i8* %0, %runtime.Source_Code_Location* @"ggv$ae")
Call parameter type does not match function signature!
void (i8*)* @runtime._destroy_temp_allocator_fini-3953
i8* call void @main.spall_exit(void (i8*)* @runtime._destroy_temp_allocator_fini-3953, i8* %0, %runtime.Source_Code_Location* @"ggv$af")
Call parameter type does not match function signature!
<{ i64, i64 }> (i32, i8*)* @os.stream_from_handle
i8* call void @main.spall_enter(<{ i64, i64 }> (i32, i8*)* @os.stream_from_handle, i8* %2, %runtime.Source_Code_Location* @"ggv$44")
Call parameter type does not match function signature!
<{ i64, i64 }> (i32, i8*)* @os.stream_from_handle
i8* call void @main.spall_exit(<{ i64, i64 }> (i32, i8*)* @os.stream_from_handle, i8* %2, %runtime.Source_Code_Location* @"ggv$45")
Call parameter type does not match function signature!
<{ i64, i64 }> (i8*)* @runtime.heap_allocator
i8* call void @main.spall_enter(<{ i64, i64 }> (i8*)* @runtime.heap_allocator, i8* %1, %runtime.Source_Code_Location* @"ggv$46")
Call parameter type does not match function signature!
<{ i64, i64 }> (i8*)* @runtime.heap_allocator
i8* call void @main.spall_exit(<{ i64, i64 }> (i8*)* @runtime.heap_allocator, i8* %1, %runtime.Source_Code_Location* @"ggv$47")
Call parameter type does not match function signature!
i128 (i128, i128, i128*)* @runtime.udivmod128
i8* call void @main.spall_enter(i128 (i128, i128, i128*)* @runtime.udivmod128, i8* %5, %runtime.Source_Code_Location* @"ggv$48")
Call parameter type does not match function signature!
i128 (i128, i128, i128*)* @runtime.udivmod128
i8* call void @main.spall_exit(i128 (i128, i128, i128*)* @runtime.udivmod128, i8* %5, %runtime.Source_Code_Location* @"ggv$49")
Call parameter type does not match function signature!
i128 (i128, i128, i128*)* @runtime.udivmod128
i8* call void @main.spall_exit(i128 (i128, i128, i128*)* @runtime.udivmod128, i8* %5, %runtime.Source_Code_Location* @"ggv$4a")
Call parameter type does not match function signature!
i128 (i128%
from odin.
Should be fixed now
from odin.
Related Issues (20)
- Declaring proc that does nothing in defer block causes backend crash HOT 2
- or_else not compiling with function returning single bool or ptr value HOT 1
- `-vet-unused-variables` produces unnecessary errors when variable is used as a index HOT 8
- X11 bindings broken/annoying HOT 3
- Incorrect case selected in switch on Maybe(^T) HOT 2
- odin check fails to detect a type error HOT 1
- Segfault during type checking HOT 1
- Performing && or || on boolean arrays causes compiler to panic HOT 1
- "Maybe" assignment failing on struct initilization HOT 6
- Breaking from a loop in defer causes a compiler seg fault
- Suggest Slice Operator When Using [dynamic] on Polymorphic Type Parameter Looking for Slice
- A slice marked with @(rodata) can still be modified (and won't throw an error)
- When Accessing a Slice in an rodata struct, it can still be modified HOT 1
- @(rodata) doesn't work with slices of unions HOT 1
- Compiler crashes on an array of values with different types, which has "using"
- Using all implicit swizzle fields on a array pointer causes CPP assertion.
- Syntax errors when declaring a multi-line procedure
- Problems with precision when using `linalg.angle_between`
- JSON Parsing Issue (Float field)
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from odin.