Yandong Yao
2007-Aug-08 01:25 UTC
[dtrace-discuss] ''probe does not match any probes'' error when using dappprof or dapptrace
Hi guys, When I execute "./dappprof -u ''libglade-2.0.so'' gedit" I got following errors: --------------------------------------------------------------- dtrace: invalid probe specifier #pragma D option quiet /* * Command line arguments */ inline int OPT_command = 1; inline int OPT_liball = 0; inline int OPT_elapsed = 1; inline int OPT_cpu = 0; inline int OPT_counts = 0; inline int OPT_totals = 0; inline int OPT_pid = 0; inline int PID = 0; inline string NAME = ""; dtrace:::BEGIN /! OPT_command/ { printf("Hit Ctrl-C to stop sampling...\n"); } /* * Save syscall entry info */ pid$target:libglade-2.0.so::entry { /* set function depth */ this->fdepth = ++fdepth[probefunc]; /* set start details */ self->start[probefunc,this->fdepth] = timestamp; self->vstart[probefunc,this->fdepth] = vtimestamp; /* count occurances */ OPT_counts && OPT_liball ? @Counts[probemod,probefunc] = count() : 1; OPT_counts && ! OPT_liball ? @Counts[probefunc] = count() : 1; OPT_counts && OPT_totals && OPT_liball ? @Counts["TOTAL:",""] = count() : 1; OPT_counts && OPT_totals && ! OPT_liball ? @Counts["TOTAL:"] = count() : 1; } /* * Print return data */ /* print 3 arg output - default */ pid$target:libglade-2.0.so::return /self->start[probefunc,fdepth[probefunc]]/ { /* fetch function depth */ this->fdepth = fdepth[probefunc]; /* calculate elapsed time */ this->elapsed = timestamp - self->start[probefunc,this->fdepth]; self->start[probefunc,this->fdepth] = 0; this->cpu = vtimestamp - self->vstart[probefunc,this->fdepth]; self->vstart[probefunc,this->fdepth] = 0; /* save elapsed times */ OPT_elapsed && OPT_liball ? @Elapsed[probemod,probefunc] = sum(this->elapsed) : 1; OPT_elapsed && ! OPT_liball ? @Elapsed[probefunc] = sum(this->elapsed) : 1; OPT_elapsed && OPT_totals && OPT_liball ? @Elapsed["TOTAL:",""] = sum(this->elapsed) : 1; OPT_elapsed && OPT_totals && ! OPT_liball ? @Elapsed["TOTAL:"] = sum(this->elapsed) : 1; /* save cpu times */ OPT_cpu && OPT_liball ? @CPU[probemod,probefunc] = sum(this->cpu) : 1; OPT_cpu && ! OPT_liball ? @CPU[probefunc] = sum(this->cpu) : 1; OPT_cpu && OPT_totals && OPT_liball ? @CPU["TOTAL:",""] = sum(this->cpu) : 1; OPT_cpu && OPT_totals && ! OPT_liball ? @CPU["TOTAL:"] = sum(this->cpu) : 1; } /* print counts */ dtrace:::END { /* print counts */ OPT_counts ? printf("\n%-49s %16s\n","CALL","COUNT") : 1; OPT_counts && OPT_liball ? printa("%-16s %-32s %@16d\n", at Counts) : 1; OPT_counts && ! OPT_liball ? printa("%-49s %@16d\n", at Counts) : 1; /* print elapsed times */ OPT_elapsed ? printf("\n%-49s %16s\n","CALL","ELAPSED") : 1; OPT_elapsed && OPT_liball ? printa("%-16s %-32s %@16d\n", at Elapsed) : 1; OPT_elapsed && ! OPT_liball ? printa("%-49s %@16d\n", at Elapsed) : 1; /* print cpu times */ OPT_cpu ? printf("\n%-49s %16s\n","CALL","CPU") : 1; OPT_cpu && OPT_liball ? printa("%-16s %-32s %@16d\n", at CPU) : 1; OPT_cpu && ! OPT_liball ? printa("%-49s %@16d\n", at CPU) : 1; } : probe description pid11070:libglade-2.0.so::entry does not match any probes ----------------------------------------------------- from http://mail.opensolaris.org/pipermail/dtrace-discuss/2006-November/002816.html, it seems that export LD_NOLAZYLOAD can resolve this problem, but it doesn''t work for me. and if execute ''./dappprof -U gedit'', I can only get functions data from a.out and ld.so.1, why? And suggestions or hints on this? Thank you in advance! Regards, Yandong -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://mail.opensolaris.org/pipermail/dtrace-discuss/attachments/20070808/7776396b/attachment.html>
Brendan Gregg - Sun Microsystems
2007-Aug-09 18:12 UTC
[dtrace-discuss] ''probe does not match any probes'' error when using dappprof or dapptrace
G''Day Yandong, On Wed, Aug 08, 2007 at 09:25:26AM +0800, Yandong Yao wrote:> > Hi guys, > > When I execute "./dappprof -u ''libglade-2.0.so'' gedit" > > I got following errors: > --------------------------------------------------------------- > dtrace: invalid probe specifier > #pragma D option quiet[...] Sorry about that, the error message isn''t so helpful - I''ll see if I can fix that for the next release.> from > http://mail.opensolaris.org/pipermail/dtrace-discuss/2006-November/002816.html, > it seems that export LD_NOLAZYLOAD can resolve this problem, but it > doesn''t work for me. > > and if execute ''./dappprof -U gedit'', I can only get functions data from > a.out and ld.so.1, why? > > And suggestions or hints on this? Thank you in advance!I''d try running gedit first, and then attaching dappprof. # gedit & [1] 245819 # pldd `pgrep -n gedit` | grep libglade-2 /usr/lib/libglade-2.0.so.0.0.7 # dtrace -ln ''pid$target:libglade-2::entry'' -p `pgrep -n gedit` ID PROVIDER MODULE FUNCTION NAME 132742 pid245819 libglade-2.0.so.0.0.7 glade_init entry 132743 pid245819 libglade-2.0.so.0.0.7 glade_module_check_version entry 132744 pid245819 libglade-2.0.so.0.0.7 glade_require entry 132745 pid245819 libglade-2.0.so.0.0.7 glade_provide entry 132746 pid245819 libglade-2.0.so.0.0.7 glade_xml_get_type entry [...] So far, so good. Now for dappprof, # /opt/DTT/dappprof -ce -u libglade-2 -p `pgrep -n gedit` Hit Ctrl-C to stop tracing... ^C CALL COUNT _glade_init_gtk_widgets 1 glade_xml_class_init 1 combo_box_set_items 2 entry_set_invisible_char 2 glade_module_check_version 2 glade_xml_handle_internal_child 2 notebook_build_children 2 glade_interface_destroy 3 glade_parser_end_document 3 glade_parser_parse_file 3 glade_parser_start_document 3 glade_provide 3 glade_xml_build_interface 3 glade_xml_construct 3 glade_xml_finalize 3 glade_xml_init 3 glade_xml_new 3 glade_require 5 glade_init 6 set_tooltip 8 glade_xml_handle_widget_prop 18 glade_xml_get_type 24 glade_flags_from_string 38 glade_register_custom_prop 72 invalidate_custom_prop_cache 72 glade_xml_get_widget 91 glade_parser_get_entity 94 glade_standard_build_children 117 glade_register_widget 118 handle_child 128 glade_enum_from_string 216 glade_standard_build_widget 265 glade_xml_build_widget 265 glade_xml_real_lookup_type 265 glade_xml_add_accessibility_info 267 glade_xml_set_common_params 267 remove_data_func 267 set_visible 267 flush_properties 283 create_widget_info 284 widget_info_free 284 get_custom_prop_info 293 get_build_data 534 glade_xml_set_packing_property 750 glade_xml_set_value_from_string 2652 alloc_propname 3103 glade_parser_end_element 3932 glade_parser_start_element 3932 alloc_string 6785 glade_parser_characters 7968 CALL ELAPSED entry_set_invisible_char 31862 glade_provide 32165 glade_parser_end_document 45006 glade_module_check_version 45389 glade_xml_init 60493 glade_require 108249 combo_box_set_items 158201 set_tooltip 216851 glade_xml_get_type 268052 glade_parser_start_document 346041 glade_flags_from_string 451362 glade_xml_handle_widget_prop 589695 glade_xml_get_widget 865624 glade_xml_handle_internal_child 912867 invalidate_custom_prop_cache 937464 glade_parser_get_entity 942860 glade_register_widget 1208097 widget_info_free 1360750 glade_enum_from_string 2244167 flush_properties 2282683 set_visible 2385174 remove_data_func 2389254 get_custom_prop_info 2527955 glade_register_custom_prop 2789868 glade_xml_real_lookup_type 3061939 handle_child 3251116 _glade_init_gtk_widgets 3795398 glade_xml_class_init 3849021 glade_init 3882425 get_build_data 4298796 glade_interface_destroy 4474869 glade_xml_add_accessibility_info 6029079 glade_xml_finalize 9543357 create_widget_info 11691135 glade_xml_set_common_params 12890914 glade_xml_set_packing_property 35744525 glade_xml_set_value_from_string 38465342 alloc_string 48139549 alloc_propname 68597070 glade_standard_build_children 73942123 glade_parser_characters 76507247 glade_parser_end_element 86057670 glade_standard_build_widget 96129860 glade_xml_build_widget 104513550 glade_parser_start_element 157024519 notebook_build_children 182015085 glade_parser_parse_file 555451667 glade_xml_build_interface 708660499 glade_xml_construct 1264238771 glade_xml_new 1269125769 Having to run gedit first and then use -p is a bit annoying - I''ll see if I can fix that too... no worries, Brendan -- Brendan [CA, USA]
Yandong Yao
2007-Aug-10 00:00 UTC
[dtrace-discuss] ''probe does not match any probes'' error when using dappprof or dapptrace
Hi Brendan, Thank you very much for your reply and your upcoming fix, I am really appreciated that. Regards, Yandong Brendan Gregg - Sun Microsystems ??:> G''Day Yandong, > > On Wed, Aug 08, 2007 at 09:25:26AM +0800, Yandong Yao wrote: > >> Hi guys, >> >> When I execute "./dappprof -u ''libglade-2.0.so'' gedit" >> >> I got following errors: >> --------------------------------------------------------------- >> dtrace: invalid probe specifier >> #pragma D option quiet >> > [...] > > Sorry about that, the error message isn''t so helpful - I''ll see if I can > fix that for the next release. > > >> from >> http://mail.opensolaris.org/pipermail/dtrace-discuss/2006-November/002816.html, >> it seems that export LD_NOLAZYLOAD can resolve this problem, but it >> doesn''t work for me. >> >> and if execute ''./dappprof -U gedit'', I can only get functions data from >> a.out and ld.so.1, why? >> >> And suggestions or hints on this? Thank you in advance! >> > > I''d try running gedit first, and then attaching dappprof. > > # gedit & > [1] 245819 > > # pldd `pgrep -n gedit` | grep libglade-2 > /usr/lib/libglade-2.0.so.0.0.7 > > # dtrace -ln ''pid$target:libglade-2::entry'' -p `pgrep -n gedit` > ID PROVIDER MODULE FUNCTION NAME > 132742 pid245819 libglade-2.0.so.0.0.7 glade_init entry > 132743 pid245819 libglade-2.0.so.0.0.7 glade_module_check_version entry > 132744 pid245819 libglade-2.0.so.0.0.7 glade_require entry > 132745 pid245819 libglade-2.0.so.0.0.7 glade_provide entry > 132746 pid245819 libglade-2.0.so.0.0.7 glade_xml_get_type entry > [...] > > So far, so good. Now for dappprof, > > # /opt/DTT/dappprof -ce -u libglade-2 -p `pgrep -n gedit` > Hit Ctrl-C to stop tracing... > ^C > > CALL COUNT > _glade_init_gtk_widgets 1 > glade_xml_class_init 1 > combo_box_set_items 2 > entry_set_invisible_char 2 > glade_module_check_version 2 > glade_xml_handle_internal_child 2 > notebook_build_children 2 > glade_interface_destroy 3 > glade_parser_end_document 3 > glade_parser_parse_file 3 > glade_parser_start_document 3 > glade_provide 3 > glade_xml_build_interface 3 > glade_xml_construct 3 > glade_xml_finalize 3 > glade_xml_init 3 > glade_xml_new 3 > glade_require 5 > glade_init 6 > set_tooltip 8 > glade_xml_handle_widget_prop 18 > glade_xml_get_type 24 > glade_flags_from_string 38 > glade_register_custom_prop 72 > invalidate_custom_prop_cache 72 > glade_xml_get_widget 91 > glade_parser_get_entity 94 > glade_standard_build_children 117 > glade_register_widget 118 > handle_child 128 > glade_enum_from_string 216 > glade_standard_build_widget 265 > glade_xml_build_widget 265 > glade_xml_real_lookup_type 265 > glade_xml_add_accessibility_info 267 > glade_xml_set_common_params 267 > remove_data_func 267 > set_visible 267 > flush_properties 283 > create_widget_info 284 > widget_info_free 284 > get_custom_prop_info 293 > get_build_data 534 > glade_xml_set_packing_property 750 > glade_xml_set_value_from_string 2652 > alloc_propname 3103 > glade_parser_end_element 3932 > glade_parser_start_element 3932 > alloc_string 6785 > glade_parser_characters 7968 > > CALL ELAPSED > entry_set_invisible_char 31862 > glade_provide 32165 > glade_parser_end_document 45006 > glade_module_check_version 45389 > glade_xml_init 60493 > glade_require 108249 > combo_box_set_items 158201 > set_tooltip 216851 > glade_xml_get_type 268052 > glade_parser_start_document 346041 > glade_flags_from_string 451362 > glade_xml_handle_widget_prop 589695 > glade_xml_get_widget 865624 > glade_xml_handle_internal_child 912867 > invalidate_custom_prop_cache 937464 > glade_parser_get_entity 942860 > glade_register_widget 1208097 > widget_info_free 1360750 > glade_enum_from_string 2244167 > flush_properties 2282683 > set_visible 2385174 > remove_data_func 2389254 > get_custom_prop_info 2527955 > glade_register_custom_prop 2789868 > glade_xml_real_lookup_type 3061939 > handle_child 3251116 > _glade_init_gtk_widgets 3795398 > glade_xml_class_init 3849021 > glade_init 3882425 > get_build_data 4298796 > glade_interface_destroy 4474869 > glade_xml_add_accessibility_info 6029079 > glade_xml_finalize 9543357 > create_widget_info 11691135 > glade_xml_set_common_params 12890914 > glade_xml_set_packing_property 35744525 > glade_xml_set_value_from_string 38465342 > alloc_string 48139549 > alloc_propname 68597070 > glade_standard_build_children 73942123 > glade_parser_characters 76507247 > glade_parser_end_element 86057670 > glade_standard_build_widget 96129860 > glade_xml_build_widget 104513550 > glade_parser_start_element 157024519 > notebook_build_children 182015085 > glade_parser_parse_file 555451667 > glade_xml_build_interface 708660499 > glade_xml_construct 1264238771 > glade_xml_new 1269125769 > > Having to run gedit first and then use -p is a bit annoying - I''ll > see if I can fix that too... > > no worries, > > Brendan > >