On Tue, 15 Feb 2022 17:50:19 GMT, Zhengyu Gu <z...@openjdk.org> wrote:
>> src/jdk.jdwp.agent/share/native/libjdwp/classTrack.c line 215: >> >>> 213: classTrack_activate(JNIEnv *env) >>> 214: { >>> 215: struct bag* new_bag = bagCreateBag(sizeof(char*), 1000); >> >> I don't think there can be any race during activation but this change is >> harmless. > > I am not sure classTrack_activate() has the problem, but it is called outside > of initialization, inside debug loop ... so I assume that event callback > might happen. I agree. This code is called when the debug agent receives a CLASS_UNLOAD EventRequest (which the debug agent handles by requesting JVMTI GC_FINISH events). So there is nothing that prevents `classTrack_processUnloads()` from being called at the same time. ------------- PR: https://git.openjdk.java.net/jdk/pull/7461