Skip to content

ObjectReference is required to be word aligned. addr: 0x8000026 #291

Closed
@qinsoon

Description

@qinsoon

Reproduciable with v0.29.0. It is a bit strange that I didn't see the issue before. It would be good if anyone can try reproduce it and see if the issue actually exists.

MMTk OpenJDK: 1fcc9f1 (v0.29.0)
OpenJDK: 28e56ee32525c32c5a88391d0b01f24e5cd16c0f (as recorded in Cargo.toml with the biding commit)

Build:

export DEBUG_LEVEL=slowdebug && sh configure --disable-warnings-as-errors --with-debug-level=$DEBUG_LEVEL && make CONF=linux-x86_64-normal-server-$DEBUG_LEVEL THIRD_PARTY_HEAP=/home/yilin/Code/openjdk_workspace/mmtk-openjdk/openjdk

Run:

yilin@rat:~/Code/openjdk_workspace/openjdk$ RUST_BACKTRACE=1 build/linux-x86_64-normal-server-slowdebug/jdk/bin/java -XX:+UseThirdPartyHeap -jar /usr/share/benchmarks/dacapo/dacapo-23.11-chopin.jar fop
[2024-11-25T06:20:07Z INFO  mmtk::memory_manager] Initialized MMTk with GenImmix (DynamicHeapSize(6815744, 8391753728))
[2024-11-25T06:20:07Z INFO  mmtk::util::heap::gc_trigger] [POLL] nursery: Triggering collection (1670/1664 pages)
[2024-11-25T06:20:07Z INFO  mmtk::plan::generational::global] Nursery GC
[2024-11-25T06:20:07Z INFO  mmtk::plan::generational::immix::global] Nursery GC
[2024-11-25T06:20:07Z WARN  mmtk::util::heap::gc_trigger] Proportional nursery with min size 0.25 (1703936) is smaller than DEFAULT_MIN_NURSERY (2097152). Use DEFAULT_MIN_NURSERY instead.
[2024-11-25T06:20:07Z INFO  mmtk::scheduler::scheduler] End of GC (276/1664 pages, took 9 ms)
thread '<unnamed>' panicked at /home/yilin/.cargo/git/checkouts/mmtk-core-3306bdeb8eb4322b/8640ab8/src/util/address.rs:589:9:
ObjectReference is required to be word aligned.  addr: 0x817606c
stack backtrace:
   0: rust_begin_unwind
             at /rustc/aedd173a2c086e558c2b66d3743b344f977621a7/library/std/src/panicking.rs:647:5
   1: core::panicking::panic_fmt
             at /rustc/aedd173a2c086e558c2b66d3743b344f977621a7/library/core/src/panicking.rs:72:14
   2: mmtk::util::address::ObjectReference::from_raw_address
             at /home/yilin/.cargo/git/checkouts/mmtk-core-3306bdeb8eb4322b/8640ab8/src/util/address.rs:589:9
   3: mmtk::util::api_util::<impl core::convert::From<mmtk::util::api_util::NullableObjectReference> for core::option::Option<mmtk::util::address::ObjectReference>>::from
             at /home/yilin/.cargo/git/checkouts/mmtk-core-3306bdeb8eb4322b/8640ab8/src/util/api_util.rs:22:9
   4: <T as core::convert::Into<U>>::into
             at /rustc/aedd173a2c086e558c2b66d3743b344f977621a7/library/core/src/convert/mod.rs:758:9
   5: mmtk_object_reference_write_slow
             at /home/yilin/Code/openjdk_workspace/mmtk-openjdk/mmtk/src/api.rs:431:60
   6: _ZN21MMTkBarrierSetRuntime32object_reference_write_slow_callEPvS0_S0_
             at /home/yilin/Code/openjdk_workspace/mmtk-openjdk/openjdk/mmtkBarrierSet.cpp:144:37
   7: <unknown>
note: Some details are omitted, run with `RUST_BACKTRACE=full` for a verbose backtrace.
fatal runtime error: failed to initiate panic, error 5
Aborted (core dumped)

Metadata

Metadata

Assignees

No one assigned

    Labels

    C-bugCategory: Bug

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions