Danny Milosavljevic

Results 68 comments of Danny Milosavljevic

``` $ gdb --args /gnu/store/gpc2m2f79rsgy15m65x0s5av7a41rp8b-mrustc-0.8.0/bin/mrustc src/tools/cargo/src/crates-io/lib.rs --crate-name crates_io --crate-type rlib --crate-tag 0_9_0 -g --cfg debug_assertions -O -o output/cargo-build/libcrates_io-0_9_0.hir -L output/cargo-build --extern curl=output/cargo-build/libcurl-0_4_6.hir --extern error_chain=output/cargo-build/liberror_chain-0_10_0.hir --extern serde=output/cargo-build/libserde-1_0_6.hir --extern serde_derive=output/cargo-build/libserde_derive-1_0_6.hir --extern serde_json=output/cargo-build/libserde_json-1_0_2.hir...

#109 may be related, but just fixing it didn't fix the crash.

We've reduced the crash to the following smaller test case: ``` $ gdb --args guix-build-rust-1.19.0.drv-0/rustc-1.19.0-src/output/cargo-build/libserde_derive-1_0_6.hir-plugin 'derive#Deserialize' (gdb) r < ~/i686 Starting program: /tmp/guix-build-rust-1.19.0.drv-0/rustc-1.19.0-src/output/cargo-build/libserde_derive-1_0_6.hir-plugin derive#Deserialize < ~/i686 [Thread debugging using libthread_db...

Same with current git master of mrustc, commit 7b6fa5c6e7d6838c2479280dd3f8d14a43c13899.

Could you post the generated C code (the output of mrustc) of the working libserde_derive? The failing C code is attached to the post at http://lists.gnu.org/archive/html/guix-devel/2019-02/msg00055.html (Currently using gcc is...

Oops, with mrustc master, the failure is different! Then, it fails on ``` output/rustc-build/rustc -C "linker=/gnu/store/n2p1zs14y89lwkg9da68y12pc10c6sw9-gcc-5.5.0/bin/gcc" "-Z" "force-unstable-if-unmarked" "-L" "output/target-libs" "src/libcore/lib.rs" "-o" "output/target-libs/libcore.rlib" ``` with SIGABORT. ``` $ gdb --args...

Could be. How can I debug it further?

I can do the legwork, but where do I start? Can I use valgrind memcheck on mrustc?

Without valgrind, with current mrustc master (commit 3f44cece3931baccea9835b08bd5ad11aa59dab0)'s compiled rust 1.19.0, I get SIGFPE on the const evaluator now :) With valgrind, I get SIGABRT: ``` $ /gnu/store/s00li9knmnhly6whh08x2c6w3xqipvvs-profile/bin/valgrind --tool=memcheck "output/rustc-build/rustc"...

mrustc master-compiled rustc 1.19.0 as of mrustc commit 3f44cece3931baccea9835b08bd5ad11aa59dab0 doesn't work on x86_64 either, and fails with pretty similar error. In a way that's good because I have much better...