Code Monkey home page Code Monkey logo

Comments (3)

stlankes avatar stlankes commented on May 13, 2024

Hm, difficult to say. I looked in the history and it changed a lot. For instance, I revised the Interface to the PCI drivers and its initialization. We should create a process to monitor the performance changes.

from hermit-rs.

jbreitbart avatar jbreitbart commented on May 13, 2024

I guess just building old version from git is a reasonable way to identify when it happened. Chances are, that it is just a bug as it seems not to be related to any of the features. Or maybe the features are not yet implemented perfectly.

Anyhow, git bisect[0] should be able to help. even though I am not sure how well it works with submodules.

[0] https://git-scm.com/docs/git-bisect

from hermit-rs.

jbreitbart avatar jbreitbart commented on May 13, 2024

So, I gave it a try, but I failed to build old versions of this repo. Here is what I did:

  1. Get an old commit hash by calling somthing like git rev-list -n 1 --before="2020-08-10 13:37" master
  2. Cheking out that commit with git checkout <hash> && git submodule update
  3. Setting an old compiler for that directory via rustup override set nightly-2020-07-01
  4. Build with cargo clean && cargo build -Z build-std=std,core,alloc,panic_abort --target x86_64-unknown-hermit

Is that fine or am I missing something? When I follow these steps I get signal: 11, SIGSEGV: invalid memory reference from rustc. Here is the complete error message

  error: could not compile `rusty-hermit`

  Caused by:
    process didn't exit successfully: `rustc --crate-name hermit --edition=2018 src/lib.rs --error-format=json --json=diagnostic-rendered-ansi --crate-type staticlib --emit=dep-info,link -C opt-level=1 -C panic=abort -C embed-bitcode=no -C debuginfo=2 -C debug-assertions=on --cfg 'feature="acpi"' --cfg 'feature="default"' --cfg 'feature="pci"' -C metadata=cb82b3bd2931e5a5 -C extra-filename=-cb82b3bd2931e5a5 --out-dir /home/jbreitbart/temp/h/rusty-hermit/target/x86_64-unknown-hermit/debug/build/hermit-sys-34dd046e24681a92/out/target/x86_64-unknown-hermit-kernel/debug/deps --target x86_64-unknown-hermit-kernel -C incremental=/home/jbreitbart/temp/h/rusty-hermit/target/x86_64-unknown-hermit/debug/build/hermit-sys-34dd046e24681a92/out/target/x86_64-unknown-hermit-kernel/debug/incremental -L dependency=/home/jbreitbart/temp/h/rusty-hermit/target/x86_64-unknown-hermit/debug/build/hermit-sys-34dd046e24681a92/out/target/x86_64-unknown-hermit-kernel/debug/deps -L dependency=/home/jbreitbart/temp/h/rusty-hermit/target/x86_64-unknown-hermit/debug/build/hermit-sys-34dd046e24681a92/out/target/debug/deps --extern 'noprelude:alloc=/home/jbreitbart/temp/h/rusty-hermit/target/x86_64-unknown-hermit/debug/build/hermit-sys-34dd046e24681a92/out/target/x86_64-unknown-hermit-kernel/debug/deps/liballoc-6700b37dcd2cb618.rlib' --extern bitflags=/home/jbreitbart/temp/h/rusty-hermit/target/x86_64-unknown-hermit/debug/build/hermit-sys-34dd046e24681a92/out/target/x86_64-unknown-hermit-kernel/debug/deps/libbitflags-8906d5332f6e55fb.rlib --extern 'noprelude:compiler_builtins=/home/jbreitbart/temp/h/rusty-hermit/target/x86_64-unknown-hermit/debug/build/hermit-sys-34dd046e24681a92/out/target/x86_64-unknown-hermit-kernel/debug/deps/libcompiler_builtins-8c90b50ae572c4b5.rlib' --extern 'noprelude:core=/home/jbreitbart/temp/h/rusty-hermit/target/x86_64-unknown-hermit/debug/build/hermit-sys-34dd046e24681a92/out/target/x86_64-unknown-hermit-kernel/debug/deps/libcore-215ed17ad95cbdff.rlib' --extern log=/home/jbreitbart/temp/h/rusty-hermit/target/x86_64-unknown-hermit/debug/build/hermit-sys-34dd046e24681a92/out/target/x86_64-unknown-hermit-kernel/debug/deps/liblog-aac0c3535167ff43.rlib --extern multiboot=/home/jbreitbart/temp/h/rusty-hermit/target/x86_64-unknown-hermit/debug/build/hermit-sys-34dd046e24681a92/out/target/x86_64-unknown-hermit-kernel/debug/deps/libmultiboot-874de2c4013bf80d.rlib --extern num=/home/jbreitbart/temp/h/rusty-hermit/target/x86_64-unknown-hermit/debug/build/hermit-sys-34dd046e24681a92/out/target/x86_64-unknown-hermit-kernel/debug/deps/libnum-5b5c297c932dd375.rlib --extern num_derive=/home/jbreitbart/temp/h/rusty-hermit/target/x86_64-unknown-hermit/debug/build/hermit-sys-34dd046e24681a92/out/target/debug/deps/libnum_derive-030eb7efc88f88d8.so --extern num_traits=/home/jbreitbart/temp/h/rusty-hermit/target/x86_64-unknown-hermit/debug/build/hermit-sys-34dd046e24681a92/out/target/x86_64-unknown-hermit-kernel/debug/deps/libnum_traits-b65ba7142768480e.rlib --extern x86=/home/jbreitbart/temp/h/rusty-hermit/target/x86_64-unknown-hermit/debug/build/hermit-sys-34dd046e24681a92/out/target/x86_64-unknown-hermit-kernel/debug/deps/libx86-8b2b5c4cc34191e3.rlib -Z unstable-options` (signal: 11, SIGSEGV: invalid memory reference)


  --- stderr
  thread 'main' panicked at 'assertion failed: output.status.success()', hermit-sys/build.rs:51:5
  stack backtrace:
     0: std::panicking::begin_panic
               at /home/jbreitbart/.rustup/toolchains/nightly-2020-09-12-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/std/src/panicking.rs:505
     1: build_script_build::build_hermit
               at ./build.rs:51
     2: build_script_build::build
               at ./build.rs:97
     3: build_script_build::main
               at ./build.rs:154
     4: core::ops::function::FnOnce::call_once
               at /home/jbreitbart/.rustup/toolchains/nightly-2020-09-12-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/core/src/ops/function.rs:227
  note: Some details are omitted, run with `RUST_BACKTRACE=full` for a verbose backtrace.

from hermit-rs.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo 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.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.