JDK-8235218 : Minimal VM is broken after JDK-8173361
  • Type: Bug
  • Component: hotspot
  • Sub-Component: jvmti
  • Priority: P4
  • Status: Resolved
  • Resolution: Fixed
  • Submitted: 2019-12-03
  • Updated: 2023-09-04
  • Resolved: 2019-12-03
The Version table provides details related to the release that this issue/RFE will be addressed.

Unresolved : Release in which this issue/RFE will be addressed.
Resolved: Release in which this issue/RFE has been resolved.
Fixed : Release in which this issue/RFE has been fixed. The release containing this fix may be available for download as an Early Access Release or a General Availability Release.

To download the current JDK release, click here.
JDK 11 JDK 13 JDK 14 JDK 8 Other
11.0.10Fixed 13.0.6Fixed 14 b26Fixed 8u401Fixed openjdk8u352Fixed
Related Reports
Duplicate :  
Relates :  
Description
Updating support/src.zip
/home/fool/workspace/jdk/build/linux-x86_64-minimal-release/hotspot/variant-minimal/libjvm/objs/serviceThread.o: In function `ServiceThread::oops_do(OopClosure*, CodeBlobClosure*)':
/home/fool/workspace/jdk/src/hotspot/share/runtime/serviceThread.cpp:199: undefined reference to `JvmtiDeferredEvent::oops_do(OopClosure*, CodeBlobClosure*)'
/home/fool/workspace/jdk/src/hotspot/share/runtime/serviceThread.cpp:202: undefined reference to `JvmtiDeferredEventQueue::oops_do(OopClosure*, CodeBlobClosure*)'
/home/fool/workspace/jdk/build/linux-x86_64-minimal-release/hotspot/variant-minimal/libjvm/objs/serviceThread.o: In function `ServiceThread::nmethods_do(CodeBlobClosure*)':
/home/fool/workspace/jdk/src/hotspot/share/runtime/serviceThread.cpp:210: undefined reference to `JvmtiDeferredEvent::nmethods_do(CodeBlobClosure*)'
/home/fool/workspace/jdk/src/hotspot/share/runtime/serviceThread.cpp:213: undefined reference to `JvmtiDeferredEventQueue::nmethods_do(CodeBlobClosure*)'
collect2: error: ld returned 1 exit status
lib/CompileJvm.gmk:176: recipe for target '/home/fool/workspace/jdk/build/linux-x86_64-minimal-release/support/modules_libs/java.base/minimal/libjvm.so' failed
make[3]: *** [/home/fool/workspace/jdk/build/linux-x86_64-minimal-release/support/modules_libs/java.base/minimal/libjvm.so] Error 1
make[3]: *** Waiting for unfinished jobs....
/home/fool/workspace/jdk/build/linux-x86_64-minimal-release/hotspot/variant-minimal/libjvm/objs/serviceThread.o: In function `ServiceThread::oops_do(OopClosure*, CodeBlobClosure*)':
/home/fool/workspace/jdk/src/hotspot/share/runtime/serviceThread.cpp:199: undefined reference to `JvmtiDeferredEvent::oops_do(OopClosure*, CodeBlobClosure*)'
/home/fool/workspace/jdk/src/hotspot/share/runtime/serviceThread.cpp:202: undefined reference to `JvmtiDeferredEventQueue::oops_do(OopClosure*, CodeBlobClosure*)'
/home/fool/workspace/jdk/build/linux-x86_64-minimal-release/hotspot/variant-minimal/libjvm/objs/serviceThread.o: In function `ServiceThread::nmethods_do(CodeBlobClosure*)':
/home/fool/workspace/jdk/src/hotspot/share/runtime/serviceThread.cpp:210: undefined reference to `JvmtiDeferredEvent::nmethods_do(CodeBlobClosure*)'
/home/fool/workspace/jdk/src/hotspot/share/runtime/serviceThread.cpp:213: undefined reference to `JvmtiDeferredEventQueue::nmethods_do(CodeBlobClosure*)'
collect2: error: ld returned 1 exit status
lib/CompileGtest.gmk:58: recipe for target '/home/fool/workspace/jdk/build/linux-x86_64-minimal-release/hotspot/variant-minimal/libjvm/gtest/libjvm.so' failed
make[3]: *** [/home/fool/workspace/jdk/build/linux-x86_64-minimal-release/hotspot/variant-minimal/libjvm/gtest/libjvm.so] Error 1
make/Main.gmk:268: recipe for target 'hotspot-minimal-libs' failed
make[2]: *** [hotspot-minimal-libs] Error 2
make[2]: *** Waiting for unfinished jobs....

Comments
Fix request (8u) I would like to backport this as follow up of JDK-8173361, only a different context. Only a build fix, so no risk.
31-05-2022

A pull request was submitted for review. URL: https://git.openjdk.java.net/jdk8u-dev/pull/19 Date: 2022-03-21 06:51:21 +0000
21-03-2022

Fix request (13u) Requesting backport to 13u as follow-up fix for JDK-8173361 that is already included to 13u. The patch applies cleanly. Minimal VM is built successfully after applying the patch.
18-01-2021

Fix request (11u) I would like to downport this as follow up of JDK-8173361. Applies clean. Only a build fix, so no risk.
13-11-2020

URL: https://hg.openjdk.java.net/jdk/jdk/rev/37434b8a1e8e User: jiefu Date: 2019-12-03 07:00:19 +0000
03-12-2019

RFR: https://mail.openjdk.java.net/pipermail/hotspot-dev/2019-December/040145.html
03-12-2019

It might be fixed by ``` diff -r d8b5e32ffa2f src/hotspot/share/prims/jvmtiImpl.hpp --- a/src/hotspot/share/prims/jvmtiImpl.hpp Mon Dec 02 10:42:27 2019 -0800 +++ b/src/hotspot/share/prims/jvmtiImpl.hpp Tue Dec 03 09:28:00 2019 +0800 @@ -482,9 +482,9 @@ // Actually posts the event. void post() NOT_JVMTI_RETURN; // Sweeper support to keep nmethods from being zombied while in the queue. - void nmethods_do(CodeBlobClosure* cf); + void nmethods_do(CodeBlobClosure* cf) NOT_JVMTI_RETURN; // GC support to keep nmethod from being unloaded while in the queue. - void oops_do(OopClosure* f, CodeBlobClosure* cf); + void oops_do(OopClosure* f, CodeBlobClosure* cf) NOT_JVMTI_RETURN; }; /** @@ -519,9 +519,9 @@ static void enqueue(const JvmtiDeferredEvent& event) NOT_JVMTI_RETURN; static JvmtiDeferredEvent dequeue() NOT_JVMTI_RETURN_(JvmtiDeferredEvent()); // Sweeper support to keep nmethods from being zombied while in the queue. - static void nmethods_do(CodeBlobClosure* cf); + static void nmethods_do(CodeBlobClosure* cf) NOT_JVMTI_RETURN; // GC support to keep nmethod from being unloaded while in the queue. - static void oops_do(OopClosure* f, CodeBlobClosure* cf); + static void oops_do(OopClosure* f, CodeBlobClosure* cf) NOT_JVMTI_RETURN; }; // Utility macro that checks for NULL pointers: ```
03-12-2019