Matty wrote:
> Howdy,
>
> I received the following error today when I attempted to run a DTrace
> script that uses the Java hotspot provider:
>
> $ dtrace -s dbmethodprofile.d
> dtrace: failed to compile script methods.d: line 15: probe description
> :::method-entry does not match any probes
>
Not sure what your script is doing, but did you try writing it like this:
hotspot$target:::method-entry { ... }
... and executing like this:
dtrace -s dbmethodprofile.d -p <pid>
Does that work?
> The Java process that I was attempting to trace was started with the
> "-XX:+DTraceMethodProbes" option, so the method-* probes should be
> available. When I did a bit of digging, I noticed that the hotspot
> probes were still enabled after the process exited:
>
> $ ps -ef | grep java
> root 6988 6803 0 01:43:53 pts/1 0:00 grep java
>
> $ dtrace -l | grep hotspot |more
> 3515 hotspot10316 libjvm.so
> __1cTClassLoadingServiceTnotify_class_loaded6FpnNinstanceKlass_b_v_
> clas
> s-loaded
> 3516 hotspot10316 libjvm.so
> __1cTClassLoadingServiceVnotify_class_unloaded6FpnNinstanceKlass__v_
> cla
> ss-unloaded
> 3517 hotspot10316 libjvm.so
> __1cHnmethodbFpost_compiled_method_load_event6M_v_
> compiled-method-load
> 3518 hotspot10316 libjvm.so
> __1cHnmethodbBpost_compiled_method_unload6M_v_ compiled-method-unload
> 3519 hotspot10316 libjvm.so
> __1cHnmethodbAmake_not_entrant_or_zombie6Mi_v_ compiled-method-unload
> 3520 hotspot10316 libjvm.so
> __1cVVM_ParallelGCSystemGCEdoit6M_v_ gc-begin
> 3521 hotspot10316 libjvm.so
> __1cbMVM_ParallelGCFailedPermanentAllocationEdoit6M_v_ gc-begin
> 3522 hotspot10316 libjvm.so
> __1cbDVM_ParallelGCFailedAllocationEdoit6M_v_ gc-begin
> 3523 hotspot10316 libjvm.so __1cRVM_GenCollectFullEdoit6M_v_
> gc-begin
> 3524 hotspot10316 libjvm.so
> __1cbAVM_GenCollectForAllocationEdoit6M_v_ gc-begin
> < ..... >
>
What was the pid of the java process that went away? Could it be that a
different process (10316) is running and providing those probes?
libjvm.so and the hotspot provider aren't necessarily only linked to the
'java' executable - browsers and other launchers can load libjvm.so and
this would register probes like this as well.
> I checked on another box, and the hotspot probes disappeared after the
> Java process exited. Has anyone encountered this bizarre scenario
> before? I checked the OpenSolaris and Java bug database, but wasn't
> able to find an issue that matched the symptoms listed above. The
> software in question is Java 6 update 3 and X64 Solaris 10 update 3.
> If this is a known issue, could someone reply with the bugid? If this
> is an unknown issue, I will open a ticket with Sun support (I made
> sure to snag a core file prior to rebooting the server to remove the
> ghost probes).
>
> Thanks for any insight,
> - Ryan
>
_______________________________________________
dtrace-discuss mailing list
[email protected]