solang icon indicating copy to clipboard operation
solang copied to clipboard

[ICE]: Assigning values to the arrays within a structure array causes an error.

Open Subway2023 opened this issue 9 months ago • 0 comments

Version: v0.3.3: v0.3.3-70-g32a45ea1 Description: An error occurred when assigning a value to x[0].x[0] = 42;. The location where the error occurred can be found in main branch Link.

contract C {
    struct S { uint[2**30] x; uint[2**50] y; }
    S[2**20] x;

    function mutate() public {
        x[0].x[0] = 42;
    }
}
  20: solang::emit::binary::Binary::llvm_type
             at /mnt/sdd1/sbw/crossCompilerFuzz/compiler/solang/src/emit/binary.rs:967:26
  21: solang::emit::solana::SolanaTarget::sparse_entry
             at /mnt/sdd1/sbw/crossCompilerFuzz/compiler/solang/src/emit/solana/mod.rs:505:25
  22: solang::emit::solana::SolanaTarget::sparse_lookup_function
             at /mnt/sdd1/sbw/crossCompilerFuzz/compiler/solang/src/emit/solana/mod.rs:551:24
  23: solang::emit::solana::SolanaTarget::sparse_lookup
             at /mnt/sdd1/sbw/crossCompilerFuzz/compiler/solang/src/emit/solana/mod.rs:1053:22
  24: solang::emit::solana::target::<impl solang::emit::TargetRuntime for solang::emit::solana::SolanaTarget>::storage_subscript
             at /mnt/sdd1/sbw/crossCompilerFuzz/compiler/solang/src/emit/solana/target.rs:272:13
  25: solang::emit::expression::expression
             at /mnt/sdd1/sbw/crossCompilerFuzz/compiler/solang/src/emit/expression.rs:1374:17
  26: solang::emit::expression::expression
             at /mnt/sdd1/sbw/crossCompilerFuzz/compiler/solang/src/emit/expression.rs:173:24
  27: solang::emit::expression::expression
             at /mnt/sdd1/sbw/crossCompilerFuzz/compiler/solang/src/emit/expression.rs:1371:29
  28: solang::emit::instructions::process_instruction
             at /mnt/sdd1/sbw/crossCompilerFuzz/compiler/solang/src/emit/instructions.rs:139:28
  29: solang::emit::cfg::emit_cfg
             at /mnt/sdd1/sbw/crossCompilerFuzz/compiler/solang/src/emit/cfg.rs:211:13
  30: solang::emit::functions::emit_functions
             at /mnt/sdd1/sbw/crossCompilerFuzz/compiler/solang/src/emit/functions.rs:49:9
  31: solang::emit::solana::SolanaTarget::build
             at /mnt/sdd1/sbw/crossCompilerFuzz/compiler/solang/src/emit/solana/mod.rs:73:9
  32: solang::emit::binary::Binary::build
             at /mnt/sdd1/sbw/crossCompilerFuzz/compiler/solang/src/emit/binary.rs:185:31
  33: solang::emit::<impl solang::sema::ast::Contract>::binary
             at /mnt/sdd1/sbw/crossCompilerFuzz/compiler/solang/src/emit/mod.rs:376:9
  34: solang::contract_results
             at /mnt/sdd1/sbw/crossCompilerFuzz/compiler/solang/src/bin/solang.rs:414:18
  35: solang::compile
             at /mnt/sdd1/sbw/crossCompilerFuzz/compiler/solang/src/bin/solang.rs:272:17
  36: solang::main
             at /mnt/sdd1/sbw/crossCompilerFuzz/compiler/solang/src/bin/solang.rs:59:13
  37: core::ops::function::FnOnce::call_once
             at /root/.rustup/toolchains/nightly-2024-09-30-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/core/src/ops/function.rs:250:5

Subway2023 avatar Mar 17 '25 03:03 Subway2023