-
Notifications
You must be signed in to change notification settings - Fork 937
Closed
Labels
Description
Describe the bug
I was doing some testing for VM/VMX across different architectures & encountered some crashes for synchronous events such as MALLOC & ALLOC
#0 StackFrame::unwindStub (entry=0xf1fe03970880, name=name@entry=0xf1fe1c5408d0 "adapters", pc=@0xf1fe1b49d8e8: 266073284216960, sp=@0xf1fe1b49d8e0: 266073681812448, fp=@0xf1fe1b49d8d8: 266073703994512, this=0xf1fe1b49d8f8) at src/stackFrame_aarch64.cpp:40
40 return (uintptr_t)REG(regs[30], lr);
[Current thread is 1 (Thread 0xf1fe1b49f1a0 (LWP 14592))]
#0 StackFrame::unwindStub (entry=0xf1fe03970880, name=name@entry=0xf1fe1c5408d0 "adapters", pc=@0xf1fe1b49d8e8: 266073284216960, sp=@0xf1fe1b49d8e0: 266073681812448, fp=@0xf1fe1b49d8d8: 266073703994512, this=0xf1fe1b49d8f8) at src/stackFrame_aarch64.cpp:40
#1 0x0000f1fe1b1eac60 in StackWalker::walkVM (ucontext=ucontext@entry=0x0, frames=0xf1fe158b3a00, max_depth=2048, detail=detail@entry=VM_NORMAL, pc=<optimized out>, sp=<optimized out>, fp=<optimized out>) at src/stackWalker.cpp:370
#2 0x0000f1fe1b1f0b4c in StackWalker::walkVM (ucontext=0x0, detail=VM_NORMAL, max_depth=<optimized out>, frames=0xf1fe158b3a00) at src/stackWalker.cpp:203
#3 StackWalker::walkVM (detail=VM_NORMAL, max_depth=<optimized out>, frames=0xf1fe158b3a00, ucontext=0x0) at src/stackWalker.cpp:201
#4 Profiler::recordSample (this=0xf1fe1402cbb0, ucontext=ucontext@entry=0x0, counter=266073679010412, counter@entry=40, event_type=event_type@entry=MALLOC_SAMPLE, event=0xf1fe1b49db80, event@entry=0xf1fe1b49db60) at src/profiler.cpp:652
#5 0x0000f1fe1b1f1a6c in MallocTracer::recordMalloc (size=40, address=0xf1fe145993a0) at src/profiler.h:186
#6 MallocTracer::recordMalloc (address=0xf1fe145993a0, size=40) at src/mallocTracer.cpp:186
#7 0x0000f1fe1b1f1af0 in malloc_hook (size=40) at src/mallocTracer.cpp:37
#8 0x0000f1fe1c16f2d0 in os::malloc(unsigned long, MemTag, NativeCallStack const&) () from /home/ubuntu/.sdkman/candidates/java/24.0.1-amzn/lib/server/libjvm.so
#9 0x0000f1fe1b98a700 in AllocateHeap(unsigned long, MemTag, AllocFailStrategy::AllocFailEnum) () from /home/ubuntu/.sdkman/candidates/java/24.0.1-amzn/lib/server/libjvm.so
#10 0x0000f1fe1c23cfc8 in AdapterHandlerLibrary::new_entry(AdapterFingerPrint*, unsigned char*, unsigned char*, unsigned char*, unsigned char*) () from /home/ubuntu/.sdkman/candidates/java/24.0.1-amzn/lib/server/libjvm.so
#11 0x0000f1fe1c248d60 in SharedRuntime::generate_i2c2i_adapters(MacroAssembler*, int, int, BasicType const*, VMRegPair const*, AdapterFingerPrint*) () from /home/ubuntu/.sdkman/candidates/java/24.0.1-amzn/lib/server/libjvm.so
#12 0x0000f1fe1c23d49c in AdapterHandlerLibrary::create_adapter(AdapterBlob*&, int, BasicType*, bool) () from /home/ubuntu/.sdkman/candidates/java/24.0.1-amzn/lib/server/libjvm.so
#13 0x0000f1fe1c242a20 in AdapterHandlerLibrary::get_adapter(methodHandle const&) () from /home/ubuntu/.sdkman/candidates/java/24.0.1-amzn/lib/server/libjvm.so
#14 0x0000f1fe1c0fee34 in Method::make_adapters(methodHandle const&, JavaThread*) () from /home/ubuntu/.sdkman/candidates/java/24.0.1-amzn/lib/server/libjvm.so
#15 0x0000f1fe1c0fef98 in Method::link_method(methodHandle const&, JavaThread*) () from /home/ubuntu/.sdkman/candidates/java/24.0.1-amzn/lib/server/libjvm.so
#16 0x0000f1fe1bd9f990 in InstanceKlass::link_methods(JavaThread*) () from /home/ubuntu/.sdkman/candidates/java/24.0.1-amzn/lib/server/libjvm.so
#17 0x0000f1fe1bd9fd9c in InstanceKlass::link_class_impl(JavaThread*) () from /home/ubuntu/.sdkman/candidates/java/24.0.1-amzn/lib/server/libjvm.so
#18 0x0000f1fe1bda4934 in InstanceKlass::initialize_impl(JavaThread*) () from /home/ubuntu/.sdkman/candidates/java/24.0.1-amzn/lib/server/libjvm.so
#19 0x0000f1fe1be6d048 in get_method_id(JNIEnv_*, _jclass*, char const*, char const*, bool, JavaThread*) [clone .isra.0] () from /home/ubuntu/.sdkman/candidates/java/24.0.1-amzn/lib/server/libjvm.so
#20 0x0000f1fe1be6d3ec in jni_GetStaticMethodID () from /home/ubuntu/.sdkman/candidates/java/24.0.1-amzn/lib/server/libjvm.so
#21 0x0000f1fe1cc64368 in JavaMain () from /home/ubuntu/.sdkman/candidates/java/24.0.1-amzn/bin/../lib/libjli.so
#22 0x0000f1fe1cc678dc in ThreadJavaMain () from /home/ubuntu/.sdkman/candidates/java/24.0.1-amzn/bin/../lib/libjli.so
#23 0x0000f1fe1ca8595c in start_thread (arg=0xf1fe1ccbc200) at ./nptl/pthread_create.c:447
#24 0x0000f1fe1caeba4c in thread_start () at ../sysdeps/unix/sysv/linux/aarch64/clone3.S:76
This happened when running on an AWS EC2 instance with the following details
- Instance type = c8g.2xlarge
- AMI name = ubuntu/images/hvm-ssd-gp3/ubuntu-noble-24.04-arm64-server-20250610
- JAVA = OpenJDK Runtime Environment Corretto-24.0.1.9.1 (build 24.0.1+9-FR)
- GCC = gcc (Ubuntu 13.3.0-6ubuntu2~24.04) 13.3.0
Expected vs. actual behavior
VMX shouldn't crash for nativemem & other events
Reproduction Steps
Create an EC2 instance with the details provided & just do make test
Additional Information/Context
No response
Async-profiler version
latest
Environment details
No response