Skip to content

Misaligned pointer dereference after moving to Rust 1.71.1 #231

@qinsoon

Description

@qinsoon

OpenJDK supplies unaligned address as an edge. This becomes an error in debug build in Rust 1.71.1

thread '<unnamed>' panicked at 'misaligned pointer dereference: address must be a multiple of 0x8 but is 0x7f569d60ed36', /home/runner/.cargo/git/checkouts/mmtk-core-89cdc7bf360cce7f/e88caa1/src/util/address.rs:220:9
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace
thread '<unnamed>' panicked at 'panic in a function that cannot unwind', library/core/src/panicking.rs:126:5
stack backtrace:
   0:     0x7f56b2035861 - std::backtrace_rs::backtrace::libunwind::trace::h782cc21a5acaf6cb
                               at /rustc/eb26296b556cef10fb713a38f3d16b9886080f26/library/std/src/../../backtrace/src/backtrace/libunwind.rs:93:5
   1:     0x7f56b2035861 - std::backtrace_rs::backtrace::trace_unsynchronized::hc579eb24ab204515
                               at /rustc/eb26296b556cef10fb713a38f3d16b9886080f26/library/std/src/../../backtrace/src/backtrace/mod.rs:66:5
   2:     0x7f56b2035861 - std::sys_common::backtrace::_print_fmt::h7223525cfdbacda2
                               at /rustc/eb26296b556cef10fb713a38f3d16b9886080f26/library/std/src/sys_common/backtrace.rs:65:5
   3:     0x7f56b2035861 - <std::sys_common::backtrace::_print::DisplayBacktrace as core::fmt::Display>::fmt::hbd7d55b7108d2ab8
                               at /rustc/eb26296b556cef10fb713a38f3d16b9886080f26/library/std/src/sys_common/backtrace.rs:44:22
   4:     0x7f56b205945f - core::fmt::rt::Argument::fmt::hb4f4a02b9bd9dd49
                               at /rustc/eb26296b556cef10fb713a38f3d16b9886080f26/library/core/src/fmt/rt.rs:138:9
   5:     0x7f56b205945f - core::fmt::write::h6d54cd7c9e155ec5
                               at /rustc/eb26296b556cef10fb713a38f3d16b9886080f26/library/core/src/fmt/mod.rs:1094:21
   6:     0x7f56b20332f1 - std::io::Write::write_fmt::h6a453a71c692f63b
                               at /rustc/eb26296b556cef10fb713a38f3d16b9886080f26/library/std/src/io/mod.rs:1713:15
   7:     0x7f56b2035675 - std::sys_common::backtrace::_print::h1cbaa8b42678f928
                               at /rustc/eb26296b556cef10fb713a38f3d16b9886080f26/library/std/src/sys_common/backtrace.rs:47:5
   8:     0x7f56b2035675 - std::sys_common::backtrace::print::h4ddf81241a51b337
                               at /rustc/eb26296b556cef10fb713a38f3d16b9886080f26/library/std/src/sys_common/backtrace.rs:34:9
   9:     0x7f56b2036b17 - std::panicking::default_hook::{{closure}}::hff91f1f484ade5cd
  10:     0x7f56b2036904 - std::panicking::default_hook::h21f14afd59f7aef9
                               at /rustc/eb26296b556cef10fb713a38f3d16b9886080f26/library/std/src/panicking.rs:288:9
  11:     0x7f56b2036fcc - std::panicking::rust_panic_with_hook::h45f66047b14c555c
                               at /rustc/eb26296b556cef10fb713a38f3d16b9886080f26/library/std/src/panicking.rs:705:13
  12:     0x7f56b2036e81 - std::panicking::begin_panic_handler::{{closure}}::h49d1a88ef0908eb4
                               at /rustc/eb26296b556cef10fb713a38f3d16b9886080f26/library/std/src/panicking.rs:595:13
  13:     0x7f56b2035c96 - std::sys_common::backtrace::__rust_end_short_backtrace::hccebf9e57f8cc425
                               at /rustc/eb26296b556cef10fb713a38f3d16b9886080f26/library/std/src/sys_common/backtrace.rs:151:18
  14:     0x7f56b2036c12 - rust_begin_unwind
                               at /rustc/eb26296b556cef10fb713a38f3d16b9886080f26/library/std/src/panicking.rs:593:5
  15:     0x7f56b1b75513 - core::panicking::panic_nounwind_fmt::had64f2fa8a941230
                               at /rustc/eb26296b556cef10fb713a38f3d16b9886080f26/library/core/src/panicking.rs:96:14
  16:     0x7f56b1b755b7 - core::panicking::panic_nounwind::h1336efe2f0ded733
                               at /rustc/eb26296b556cef10fb713a38f3d16b9886080f26/library/core/src/panicking.rs:126:5
  17:     0x7f56b1b75743 - core::panicking::panic_cannot_unwind::h85e36282315b87dd
                               at /rustc/eb26296b556cef10fb713a38f3d16b9886080f26/library/core/src/panicking.rs:188:5
  18:     0x7f56b1d4daf1 - mmtk::util::address::Address::load::h8c2efe70f2f1a3d7
                               at /home/runner/.cargo/git/checkouts/mmtk-core-89cdc7bf360cce7f/e88caa1/src/util/address.rs:219:5
  19:     0x7f56b1d519ae - <mmtk::util::address::Address as mmtk::vm::edge_shape::Edge>::load::hd91eb17da28743a0
                               at /home/runner/.cargo/git/checkouts/mmtk-core-89cdc7bf360cce7f/e88caa1/src/vm/edge_shape.rs:111:18
  20:     0x7f56b1c4430e - <mmtk::scheduler::gc_work::PlanProcessEdges<VM,P,_> as mmtk::scheduler::gc_work::ProcessEdgesWork>::process_edge::hb46d68b9fea26e3f
                               at /home/runner/.cargo/git/checkouts/mmtk-core-89cdc7bf360cce7f/e88caa1/src/scheduler/gc_work.rs:952:22
  21:     0x7f56b1c7a2f8 - mmtk::scheduler::gc_work::ProcessEdgesWork::process_edges::h1569d0f6386cc2f9
                               at /home/runner/.cargo/git/checkouts/mmtk-core-89cdc7bf360cce7f/e88caa1/src/scheduler/gc_work.rs:630:13
  22:     0x7f56b1c6cc8a - mmtk::scheduler::gc_work::<impl mmtk::scheduler::work::GCWork<<E as mmtk::scheduler::gc_work::ProcessEdgesWork>::VM> for E>::do_work::h20265683a775229e
                               at /home/runner/.cargo/git/checkouts/mmtk-core-89cdc7bf360cce7f/e88caa1/src/scheduler/gc_work.rs:638:9
  23:     0x7f56b1c5f3e2 - mmtk::scheduler::work::GCWork::do_work_with_stat::h330368050049846f
                               at /home/runner/.cargo/git/checkouts/mmtk-core-89cdc7bf360cce7f/e88caa1/src/scheduler/work.rs:29:9
  24:     0x7f56b1b83341 - mmtk::scheduler::worker::GCWorker<VM>::run::h075e028b9bd74bca
                               at /home/runner/.cargo/git/checkouts/mmtk-core-89cdc7bf360cce7f/e88caa1/src/scheduler/worker.rs:387:13
  25:     0x7f56b1c346a5 - mmtk::memory_manager::start_worker::hf7d7624d1228741a
                               at /home/runner/.cargo/git/checkouts/mmtk-core-89cdc7bf360cce7f/e88caa1/src/memory_manager.rs:458:5
  26:     0x7f56b1ccdab6 - start_worker
                               at /home/runner/work/mmtk-openjdk/mmtk-openjdk/mmtk/src/api.rs:188:5
  27:     0x7f56b3b4b61b - _ZN6Thread8call_runEv
                               at /home/runner/work/mmtk-openjdk/mmtk-openjdk/repos/openjdk/src/hotspot/share/runtime/thread.cpp:402:12
  28:     0x7f56b384c2e6 - thread_native_entry
                               at /home/runner/work/mmtk-openjdk/mmtk-openjdk/repos/openjdk/src/hotspot/os/linux/os_linux.cpp:826:19
  29:     0x7f56b43a2b43 - <unknown>
  30:     0x7f56b4434a00 - <unknown>
  31:                0x0 - <unknown>
thread caused non-unwinding panic. aborting.

See https://github.com/mmtk/mmtk-openjdk/actions/runs/5897566635/job/15997373087?pr=230.

Metadata

Metadata

Assignees

Labels

bugSomething isn't working

Type

No type

Projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions