This is the mail archive of the systemtap@sourceware.org mailing list for the systemtap project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[Bug translator/10294] .statement("*@FILE:NNN-MMM") line-range probes broken


------- Additional Comments From wenji dot huang at oracle dot com  2009-08-04 08:17 -------
Did tests, found that it's because of some unseen functions.
For example:
stap -p2 -e 'probe process("./stap").statement("*@main.cxx:375-375") {print(0)}' 
semantic error: Invalid line range (375-375), the end line number 375 < 145555936
semantic error: no match while resolving probe point
process("./stap").statement("*@main.cxx:375-375")
semantic error: no probes found

The focused function is 'basic_ostream'. We can't get the correct start line
number for this function. Even we skipped checking the line number, it will be 
also be failed when the running reaches dwarf_haspc (function, line_addr) != 1.

The line_addr is from dwarf_getsrc_file -> dwarf_lineaddr, related to 375. But
the PC border check of this->function terminated the loop. Only function
'basic_ostream' will be proceeded in iterate_over_srcfile_lines. So no probe
point is resolved.

And I wonder how to handle .statement("*@main.c:1-100") if the line range covers
more than two functions. Current stap only explores the first one 
and ignores the rest.

-- 


http://sourceware.org/bugzilla/show_bug.cgi?id=10294

------- You are receiving this mail because: -------
You are the assignee for the bug, or are watching the assignee.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]