[aarch64-port-dev ] Another AArch64 reproducer - jvmtiEnv->ForceEarlyReturn*() called from JVM TI agent cause HS crash
Andrew Haley
aph at redhat.com
Tue Oct 1 06:52:15 PDT 2013
On 09/20/2013 04:48 PM, Pavel Tisnovsky wrote:
> Hi Andrew,
>
> here's another AArch64 reproducer which uses jvmtiEnv->ForceEarlyReturn*() functionality
> from JVM TI interface. The reproducer is not complicated:
>
>
> 1) JVM TI agent setup breakpoints for all methods in Test33.java class which have name appropriate to
> regexp *method(). I used the easiest solution so please don't add/remove any lines in Test33.java,
> because line numbers are hardcoded in the agent in the array breakpoints.
>
> 2) breakpoints are set to the second line/second statement on all those methods.
>
> 3) Test33 is started and JVM TI agent is connected to JVM on startup.
>
> 4) when some breakpoint is reached, the corresponding jvmtiEnv->ForceEarlyReturn*() function
> is called (there are six functions depending of the type which is to be returned)
>
> 5) -> only first line/statement of each method should be executed, but in case of AArch64 JVM
> I got a HS crash (similar when I used JDWP instead of JVM TI).
>
> Please note that you would need to update the script compile.sh and test_aarch64.sh because
> there's a need to set a proper path to AArch64 JDK.
??
$ LD_LIBRARY_PATH=. /local/aarch64/jdk8/build/linux-aarch64-normal-client-slowdebug/images/j2sdk-image/jre/bin/java -classpath . -agentlib:jvmti=test test -platform.jvmtiSupported true
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib64/libthread_db.so.1".
[New Thread 0x7ffff6d83700 (LWP 17070)]
ON_LOAD_ENTRY() called
test_setup() called
Agent(test, true)
attach check begin
attach check ok
load library: jvmti
load library: jvmti loaded
connecting with otherJVMmode=true
connected with otherJVMmode=true
Agent_OnLoad invoked
Agent_isOnAttachMode invoked
prepare() called
can generate breakpoint events
prepare/setEventCallback ok
prepare/setEventNotificationMode ok
GetMethodLocation ok
SetBreakpoint ok
prepare() exits with ok status 0
breakpoint visited!!!
check() called
check() exits status 0
Andrew.
More information about the aarch64-port-dev
mailing list