I might be misunderstanding the code but the local variable, "hythread_monitor_t monitor;" is used as a parameter to a call to array_add(jvmti_monitor_table, monitor);. It seems that once jthread_raw_monitor_create() returns, the jvmti_monitor_table will end up with an invalid pointer. Is this correct?
-- Weldon Washburn Intel Enterprise Solutions Software Division