On Wed, 29 Oct 2025 20:43:24 GMT, Patricio Chilano Mateo <[email protected]> wrote:
>> src/hotspot/share/runtime/javaCalls.cpp line 61: >> >>> 59: assert(!thread->owns_locks(), "must release all locks when leaving >>> VM"); >>> 60: guarantee(thread->can_call_java(), "cannot make java calls from the >>> native compiler"); >>> 61: assert(!thread->preempting(), ""); >> >> I'm not sure why this is checked here, and there is no error message to tell >> me. If we did get here with `preempting` set what would that mean? > > This is a safety check since a thread marked as preempted should not be > making upcalls to Java. It should be bailing out from methods and returning > to the VM entry point. I found we could get here from the exception path > (from your other comment below) when there was no `NoPreemptMark` there. Okay then how about `"Unexpected Java upcall whilst processing preemption"` ? ------------- PR Review Comment: https://git.openjdk.org/jdk/pull/27802#discussion_r2476538796
