This is the mail archive of the
systemtap@sourceware.org
mailing list for the systemtap project.
[Bug translator/6702] combination of "probe ... if()" and argument refering at return probe causes array overflow error.
- From: "fche at redhat dot com" <sourceware-bugzilla at sourceware dot org>
- To: systemtap at sources dot redhat dot com
- Date: 27 Jun 2008 16:10:53 -0000
- Subject: [Bug translator/6702] combination of "probe ... if()" and argument refering at return probe causes array overflow error.
- References: <20080627154801.6702.mhiramat@redhat.com>
- Reply-to: sourceware-bugzilla at sourceware dot org
------- Additional Comments From fche at redhat dot com 2008-06-27 16:10 -------
What we have here is a conflict between the rewriting of the
probe ... if () {}
block and the
probe foo.*.return { $saved_variable }
block.
One possible fix would be to change the latter, so that the synthetic
probe foo.*.call { save_that_variable }
probe also gets the same "if ()" condition prepended. That way, the
data gathering probe is also skipped if the condition is false. That
sounds rather natural.
The code in tapsets.cxx:4070ish taht creates the new probe_point for
the synthetic probe should thusly:
- add ".call" to replace ".return" (to be a proper dual, considering
the possibility of inline functions)
- copy the incoming probe-point's condition expression over
--
http://sourceware.org/bugzilla/show_bug.cgi?id=6702
------- You are receiving this mail because: -------
You are the assignee for the bug, or are watching the assignee.