-
Bug
-
Resolution: Duplicate
-
P4
-
18
Saw some failure in the
PtrQueueBufferAllocatorTest stress_free_list_allocator test.
# Internal Error (/home/runner/work/jdk/jdk/jdk/test/hotspot/gtest/gc/shared/test_ptrQueueBufferAllocator.cpp:115), pid=1882, tid=1882
# assert(_completed_list.empty()) failed: completed list not empty
#
# JRE version: OpenJDK Runtime Environment (18.0) (fastdebug build 18-internal+0-tschatzl-b8e67fe8065556ad603220ccec731de25ef55b48)
# Java VM: OpenJDK Server VM (fastdebug 18-internal+0-tschatzl-b8e67fe8065556ad603220ccec731de25ef55b48, mixed mode, tiered, g1 gc, linux-x86)
# Problematic frame:
# V [libjvm.so+0x501237] PtrQueueBufferAllocatorTest_stress_free_list_allocator_vm_Test::TestBody()+0xfe7
This seems to be a test issue: there is no provision that guarantees that the "ProcessorThread" pops one element after getting the shutdown command via a flag.
I.e. this code:
virtual void main_run() {
while (true) {
BufferNode* node = _cbl->pop();
if (node != NULL) {
_allocator->release(node);
} else if (!Atomic::load_acquire(_continue_running)) {
return;
}
ThreadBlockInVM tbiv(this); // Safepoint check.
}
}
exits prematurely if the _continue_running flag is set but this particular loop iteration did not manage to pop a element.
This is a failure from github actions, so no particular other artifacts available than the attached hs_err file.
Seen exactly once on linux-x86, but this does not seem platform specific.
PtrQueueBufferAllocatorTest stress_free_list_allocator test.
# Internal Error (/home/runner/work/jdk/jdk/jdk/test/hotspot/gtest/gc/shared/test_ptrQueueBufferAllocator.cpp:115), pid=1882, tid=1882
# assert(_completed_list.empty()) failed: completed list not empty
#
# JRE version: OpenJDK Runtime Environment (18.0) (fastdebug build 18-internal+0-tschatzl-b8e67fe8065556ad603220ccec731de25ef55b48)
# Java VM: OpenJDK Server VM (fastdebug 18-internal+0-tschatzl-b8e67fe8065556ad603220ccec731de25ef55b48, mixed mode, tiered, g1 gc, linux-x86)
# Problematic frame:
# V [libjvm.so+0x501237] PtrQueueBufferAllocatorTest_stress_free_list_allocator_vm_Test::TestBody()+0xfe7
This seems to be a test issue: there is no provision that guarantees that the "ProcessorThread" pops one element after getting the shutdown command via a flag.
I.e. this code:
virtual void main_run() {
while (true) {
BufferNode* node = _cbl->pop();
if (node != NULL) {
_allocator->release(node);
} else if (!Atomic::load_acquire(_continue_running)) {
return;
}
ThreadBlockInVM tbiv(this); // Safepoint check.
}
}
exits prematurely if the _continue_running flag is set but this particular loop iteration did not manage to pop a element.
This is a failure from github actions, so no particular other artifacts available than the attached hs_err file.
Seen exactly once on linux-x86, but this does not seem platform specific.
- duplicates
-
JDK-8273381 Assert in PtrQueueBufferAllocatorTest.stress_free_list_allocator_vm
-
- Resolved
-