Skip to content

julia 1.12 breaks something in C structs with arrays inside #129

@vfonov

Description

@vfonov
using CBinding

c``

c"""
struct test_struct
{
  int a[3];
};
"""

c"struct test_struct"(
            a=(1,2,3)
        )

Causes following error:

Internal error: during type inference of
store!(Main.var"(c\"struct test_struct\")", Type{Tuple{CBinding.Carray{Int32, 3, S} where S, CBinding.Carray{Int32, 3, 12}, Nothing, 0, 0, -1}}, Tuple{Int64, Int64, Int64})
Encountered unexpected error in runtime:
AssertionError(msg="unhandled TypeVar / Vararg")
_limit_type_size at ./../usr/share/julia/Compiler/src/typelimits.jl:87
__limit_type_size at ./../usr/share/julia/Compiler/src/typelimits.jl:219
__limit_type_size at ./../usr/share/julia/Compiler/src/typelimits.jl:202
_limit_type_size at ./../usr/share/julia/Compiler/src/typelimits.jl:169
__limit_type_size at ./../usr/share/julia/Compiler/src/typelimits.jl:219
_limit_type_size at ./../usr/share/julia/Compiler/src/typelimits.jl:136
__limit_type_size at ./../usr/share/julia/Compiler/src/typelimits.jl:219
_limit_type_size at ./../usr/share/julia/Compiler/src/typelimits.jl:169
__limit_type_size at ./../usr/share/julia/Compiler/src/typelimits.jl:219
_limit_type_size at ./../usr/share/julia/Compiler/src/typelimits.jl:109
__limit_type_size at ./../usr/share/julia/Compiler/src/typelimits.jl:219
_limit_type_size at ./../usr/share/julia/Compiler/src/typelimits.jl:109
__limit_type_size at ./../usr/share/julia/Compiler/src/typelimits.jl:219
_limit_type_size at ./../usr/share/julia/Compiler/src/typelimits.jl:109
__limit_type_size at ./../usr/share/julia/Compiler/src/typelimits.jl:219
_limit_type_size at ./../usr/share/julia/Compiler/src/typelimits.jl:109
__limit_type_size at ./../usr/share/julia/Compiler/src/typelimits.jl:219
_limit_type_size at ./../usr/share/julia/Compiler/src/typelimits.jl:106
__limit_type_size at ./../usr/share/julia/Compiler/src/typelimits.jl:219
_limit_type_size at ./../usr/share/julia/Compiler/src/typelimits.jl:106
__limit_type_size at ./../usr/share/julia/Compiler/src/typelimits.jl:219
_limit_type_size at ./../usr/share/julia/Compiler/src/typelimits.jl:106
__limit_type_size at ./../usr/share/julia/Compiler/src/typelimits.jl:219
_limit_type_size at ./../usr/share/julia/Compiler/src/typelimits.jl:106
__limit_type_size at ./../usr/share/julia/Compiler/src/typelimits.jl:219
_limit_type_size at ./../usr/share/julia/Compiler/src/typelimits.jl:106
__limit_type_size at ./../usr/share/julia/Compiler/src/typelimits.jl:219
_limit_type_size at ./../usr/share/julia/Compiler/src/typelimits.jl:106
__limit_type_size at ./../usr/share/julia/Compiler/src/typelimits.jl:219
_limit_type_size at ./../usr/share/julia/Compiler/src/typelimits.jl:106
limit_type_size at ./../usr/share/julia/Compiler/src/typelimits.jl:21
abstract_call_method at ./../usr/share/julia/Compiler/src/abstractinterpretation.jl:667
infercalls at ./../usr/share/julia/Compiler/src/abstractinterpretation.jl:167
abstract_call_gf_by_type at ./../usr/share/julia/Compiler/src/abstractinterpretation.jl:338
abstract_call_known at ./../usr/share/julia/Compiler/src/abstractinterpretation.jl:2782
abstract_call at ./../usr/share/julia/Compiler/src/abstractinterpretation.jl:2889
abstract_call at ./../usr/share/julia/Compiler/src/abstractinterpretation.jl:2882 [inlined]
abstract_call at ./../usr/share/julia/Compiler/src/abstractinterpretation.jl:3042
abstract_eval_call at ./../usr/share/julia/Compiler/src/abstractinterpretation.jl:3060 [inlined]
abstract_eval_statement_expr at ./../usr/share/julia/Compiler/src/abstractinterpretation.jl:3389
abstract_eval_basic_statement at ./../usr/share/julia/Compiler/src/abstractinterpretation.jl:3830 [inlined]
abstract_eval_basic_statement at ./../usr/share/julia/Compiler/src/abstractinterpretation.jl:3787 [inlined]
typeinf_local at ./../usr/share/julia/Compiler/src/abstractinterpretation.jl:4337
jfptr_typeinf_local_116659.1 at /home/vfonov/.julia/juliaup/julia-1.12.0+0.x64.linux.gnu/lib/julia/sys.so (unknown line)
typeinf at ./../usr/share/julia/Compiler/src/abstractinterpretation.jl:4495
typeinf_ext at ./../usr/share/julia/Compiler/src/typeinfer.jl:1259
typeinf_ext_toplevel at ./../usr/share/julia/Compiler/src/typeinfer.jl:1442 [inlined]
typeinf_ext_toplevel at ./../usr/share/julia/Compiler/src/typeinfer.jl:1451
jfptr_typeinf_ext_toplevel_117555.1 at /home/vfonov/.julia/juliaup/julia-1.12.0+0.x64.linux.gnu/lib/julia/sys.so (unknown line)
jl_apply at /cache/build/builder-amdci4-0/julialang/julia-release-1-dot-12/src/julia.h:2387 [inlined]
jl_type_infer at /cache/build/builder-amdci4-0/julialang/julia-release-1-dot-12/src/gf.c:462
jl_compile_method_internal at /cache/build/builder-amdci4-0/julialang/julia-release-1-dot-12/src/gf.c:3512
_jl_invoke at /cache/build/builder-amdci4-0/julialang/julia-release-1-dot-12/src/gf.c:4002 [inlined]
ijl_apply_generic at /cache/build/builder-amdci4-0/julialang/julia-release-1-dot-12/src/gf.c:4210
initproperty at /home/vfonov/.julia/packages/CBinding/nBAFM/src/aggregates.jl:40
#_#43 at /home/vfonov/.julia/packages/CBinding/nBAFM/src/aggregates.jl:19 [inlined]
Caggregate at /home/vfonov/.julia/packages/CBinding/nBAFM/src/aggregates.jl:10 [inlined]
Caggregate at /home/vfonov/.julia/packages/CBinding/nBAFM/src/aggregates.jl:10
unknown function (ip: 0x738b6c197ba2) at (unknown file)
jl_apply at /cache/build/builder-amdci4-0/julialang/julia-release-1-dot-12/src/julia.h:2387 [inlined]
do_call at /cache/build/builder-amdci4-0/julialang/julia-release-1-dot-12/src/interpreter.c:123
eval_value at /cache/build/builder-amdci4-0/julialang/julia-release-1-dot-12/src/interpreter.c:243
eval_stmt_value at /cache/build/builder-amdci4-0/julialang/julia-release-1-dot-12/src/interpreter.c:194 [inlined]
eval_body at /cache/build/builder-amdci4-0/julialang/julia-release-1-dot-12/src/interpreter.c:707
jl_interpret_toplevel_thunk at /cache/build/builder-amdci4-0/julialang/julia-release-1-dot-12/src/interpreter.c:898
top-level scope at /home/vfonov/.julia/dev/Minc2/examples/dummy.jl:27
jl_toplevel_eval_flex at /cache/build/builder-amdci4-0/julialang/julia-release-1-dot-12/src/toplevel.c:1035
jl_toplevel_eval_flex at /cache/build/builder-amdci4-0/julialang/julia-release-1-dot-12/src/toplevel.c:975
ijl_toplevel_eval at /cache/build/builder-amdci4-0/julialang/julia-release-1-dot-12/src/toplevel.c:1047
ijl_toplevel_eval_in at /cache/build/builder-amdci4-0/julialang/julia-release-1-dot-12/src/toplevel.c:1092
eval at ./boot.jl:489
include_string at ./loading.jl:2843
_include at ./loading.jl:2903
include at ./Base.jl:306
exec_options at ./client.jl:317
_start at ./client.jl:550
jfptr__start_85044.1 at /home/vfonov/.julia/juliaup/julia-1.12.0+0.x64.linux.gnu/lib/julia/sys.so (unknown line)
jl_apply at /cache/build/builder-amdci4-0/julialang/julia-release-1-dot-12/src/julia.h:2387 [inlined]
true_main at /cache/build/builder-amdci4-0/julialang/julia-release-1-dot-12/src/jlapi.c:971
jl_repl_entrypoint at /cache/build/builder-amdci4-0/julialang/julia-release-1-dot-12/src/jlapi.c:1139
main at /cache/build/builder-amdci4-0/julialang/julia-release-1-dot-12/cli/loader_exe.c:58
unknown function (ip: 0x738b89a2a1c9) at /lib/x86_64-linux-gnu/libc.so.6
__libc_start_main at /lib/x86_64-linux-gnu/libc.so.6 (unknown line)
unknown function (ip: 0x4010b8) at /workspace/srcdir/glibc-2.17/csu/../sysdeps/x86_64/start.S

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions