Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

OpenVAF encountered a problem and has crashed! #141

Open
SengerM opened this issue Aug 6, 2024 · 2 comments
Open

OpenVAF encountered a problem and has crashed! #141

SengerM opened this issue Aug 6, 2024 · 2 comments

Comments

@SengerM
Copy link

SengerM commented Aug 6, 2024

Hello, I am trying to compile the Stanford RRAM Model v1.0.0 using OpenVAF and getting this:

$ openvaf rram_v_1_0_0.va 
OpenVAF encountered a problem and has crashed!

A log file has been generated at "/tmp/openvaf-crash-1722959390.log".
To help us fix the problem, please open an issue at https://github.com/pascalkuthe/OpenVAF/
or send an email to [email protected] and attach the log file.

This is the log file:

OpenVAF 23.5.0
Opts {
    dry_run: false,
    defines: [],
    codegen_opts: [],
    lints: [],
    input: "rram_v_1_0_0.va",
    output: Path {
        lib_file: "rram_v_1_0_0.osdi",
    },
    include: [],
    opt_lvl: Aggressive,
    target: Target {
        llvm_target: "x86_64-unknown-linux-gnu",
        pointer_width: 64,
        arch: "x86_64",
        data_layout: "e-m:e-p270:32:32-p271:32:32-p272:64:64-i64:64-f80:128-n8:16:32:64-S128",
        options: TargetOptions {
            is_builtin: true,
            cpu: "x86-64",
            features: "",
            linker_flavor: Ld,
            pre_link_args: {
                Ld: [
                    "--no-add-needed",
                    "--hash-style=gnu",
                    "-m",
                    "elf_x86_64",
                ],
            },
            post_link_args: {},
            import_lib: [],
            is_like_windows: false,
            is_like_osx: false,
        },
    },
    target_cpu: "native",
}
Panic occurred in file '/root/project/lib/bitset/src/lib.rs' at line 133
index out of bounds: the len is 4 but the index is 67108863
   0: 0x55b13c32a2d2 - rust_begin_unwind
                at /rustc/897e37553bba8b42751c67658967889d11ecd120/library/std/src/panicking.rs:584
   0: 0x55b13c34d0f3 - core::panicking::panic_fmt::h8d17ca1073d9a733
                at /rustc/897e37553bba8b42751c67658967889d11ecd120/library/core/src/panicking.rs:142
   0: 0x55b13c34d032 - core::panicking::panic_bounds_check::h8a412b863558c16a
                at /rustc/897e37553bba8b42751c67658967889d11ecd120/library/core/src/panicking.rs:84
   0..   5: 0x55b139f11904 - <usize as core::slice::index::SliceIndex<[T]>>::index_mut::hf9e8f2c093e71e6a
                at /rustc/897e37553bba8b42751c67658967889d11ecd120/library/core/src/slice/index.rs:256
                 - core::slice::index::<impl core::ops::index::IndexMut<I> for [T]>::index_mut::hf73a2e28b025047e
                at /rustc/897e37553bba8b42751c67658967889d11ecd120/library/core/src/slice/index.rs:30
                 - <alloc::vec::Vec<T,A> as core::ops::index::IndexMut<I>>::index_mut::hda978e33776f0f11
                at /rustc/897e37553bba8b42751c67658967889d11ecd120/library/alloc/src/vec/mod.rs:2640
                 - bitset::BitSet<T>::insert::h4a229aa15f30c1e3
                at /root/project/lib/bitset/src/lib.rs:133
                 - sim_back::context::Context::compute_outputs::h53dab5c6cc42fd56
                at /root/project/openvaf/sim_back/src/context.rs:120
   0: 0x55b139ec43e1 - sim_back::dae::builder::Builder::new::h44f55d6486be44ef
                at /root/project/openvaf/sim_back/src/dae/builder.rs:63
   0: 0x55b139f07528 - sim_back::dae::DaeSystem::new::h40f0ec87bfea73ef
                at /root/project/openvaf/sim_back/src/dae.rs:51
   0: 0x55b139ed1e12 - sim_back::CompiledModule::new::h1111bae6815237d3
                at /root/project/openvaf/sim_back/src/lib.rs:69
   0..   4: 0x55b139e5cd58 - osdi::compile::{{closure}}::h6255df890f95b02d
                at /root/project/openvaf/osdi/src/lib.rs:48
                 - core::iter::adapters::map::map_fold::{{closure}}::hf7d0804368c54846
                at /rustc/897e37553bba8b42751c67658967889d11ecd120/library/core/src/iter/adapters/map.rs:84
                 - core::iter::traits::iterator::Iterator::fold::he331c36edfc922ca
                at /rustc/897e37553bba8b42751c67658967889d11ecd120/library/core/src/iter/traits/iterator.rs:2414
                 - <core::iter::adapters::map::Map<I,F> as core::iter::traits::iterator::Iterator>::fold::hcee8e3112ce14494
                at /rustc/897e37553bba8b42751c67658967889d11ecd120/library/core/src/iter/adapters/map.rs:124
   0..   4: 0x55b139e7d058 - core::iter::traits::iterator::Iterator::for_each::h09c34e56ba8b94c7
                at /rustc/897e37553bba8b42751c67658967889d11ecd120/library/core/src/iter/traits/iterator.rs:831
                 - <alloc::vec::Vec<T,A> as alloc::vec::spec_extend::SpecExtend<T,I>>::spec_extend::h2ae79678e936700d
                at /rustc/897e37553bba8b42751c67658967889d11ecd120/library/alloc/src/vec/spec_extend.rs:40
                 - <alloc::vec::Vec<T> as alloc::vec::spec_from_iter_nested::SpecFromIterNested<T,I>>::from_iter::h45540ffab24b2fdf
                at /rustc/897e37553bba8b42751c67658967889d11ecd120/library/alloc/src/vec/spec_from_iter_nested.rs:62
                 - <alloc::vec::Vec<T> as alloc::vec::spec_from_iter::SpecFromIter<T,I>>::from_iter::h2219e024b8618cfc
                at /rustc/897e37553bba8b42751c67658967889d11ecd120/library/alloc/src/vec/spec_from_iter.rs:33
   0..   3: 0x55b139e4c4e8 - <alloc::vec::Vec<T> as core::iter::traits::collect::FromIterator<T>>::from_iter::he09325dee4619f17
                at /rustc/897e37553bba8b42751c67658967889d11ecd120/library/alloc/src/vec/mod.rs:2649
                 - core::iter::traits::iterator::Iterator::collect::hff2d6cd2966ab765
                at /rustc/897e37553bba8b42751c67658967889d11ecd120/library/core/src/iter/traits/iterator.rs:1836
                 - osdi::compile::hf75acb2778f3c53d
                at /root/project/openvaf/osdi/src/lib.rs:45
   0: 0x55b139e1643d - openvaf::compile::had96608649ded0ec
                at /root/project/openvaf/openvaf/src/lib.rs:172
   0..   2: 0x55b139dc57b5 - openvaf::wrapped_main::h1987f15b4982d9bd
                at /root/project/openvaf/openvaf-driver/src/main.rs:83
                 - openvaf::main::h550f8d9dc44e20ec
                at /root/project/openvaf/openvaf-driver/src/main.rs:36
   0: 0x55b139dbaaf3 - core::ops::function::FnOnce::call_once::hfd18939bfb5e3e05
                at /rustc/897e37553bba8b42751c67658967889d11ecd120/library/core/src/ops/function.rs:248
                 - std::sys_common::backtrace::__rust_begin_short_backtrace::h6538b7e68ee8c0c4
                at /rustc/897e37553bba8b42751c67658967889d11ecd120/library/std/src/sys_common/backtrace.rs:122

I fixed some simple syntax errors in the rram_v_1_0_0.va source file, and I changed line 146 from gap_random_ddt = $rdist_normal(rand_seed, 0, 1) * deltaGap / (1 + exp((T_crit - T_cur)/T_smth)); to gap_random_ddt = deltaGap / (1 + exp((T_crit - T_cur)/T_smth)); because $rdist_normal is not implemented yet, but this is not important for now.

@gjcoram
Copy link

gjcoram commented Oct 28, 2024

I assume this is the syntax you fixed:
parameter integer model_switch = 0 from[0, 1];
should be
parameter integer model_switch = 0 from[0 : 1];

@gjcoram
Copy link

gjcoram commented Oct 28, 2024

I also note that 'gap' is used:
gamma = gamma_ini - beta * pow((( gap )/1e-9), 3);
before it is set
gap = idt(gap_ddt+gap_random_ddt, gap_ini);

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants