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]

Reply via email to