EventHook not firing for return events coming from inside a block
-----------------------------------------------------------------
Key: JRUBY-5859
URL: http://jira.codehaus.org/browse/JRUBY-5859
Project: JRuby
Issue Type: Bug
Components: Java Integration
Affects Versions: JRuby 1.6.2
Environment: jruby 1.6.2 on windows
Reporter: rich liebling
Attachments: JavaEventHook.java, jeh.jar, test.rb
While working on a fork of jruby-prof (to fix bugs and support threading, eg
profiling selected threads only) I noticed that call and return events are not
always balanced. The test case I provide here worked under jruby 1.5.6, but I
think jruby 1.5.6 still had the same issue under other conditions (for which I
am not providing a test case as I have not narrowed it down further).
I'm attaching the source files, but wanted to show what i mean:
def foo
[1,2,3].each do |i|
return i
end
end
Now, if i invoke foo, with an event hook active, i get these events:
c:\Users\rich\workspace\eventhooktest>jruby --debug test.rb
EVENT: line methodName: null
EVENT: call methodName: foo
EVENT: line methodName: foo
EVENT: c-call methodName: each
EVENT: line methodName: foo
EVENT: return methodName: foo
Note that there is no return event for the method 'each'.
BTW - I also tried, unsuccessfully, to use jruby to implement a concrete
EventHook class so my testcase could be all ruby. But, i could not make it
work, possibly/probably due to my error.
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
http://jira.codehaus.org/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira
---------------------------------------------------------------------
To unsubscribe from this list, please visit:
http://xircles.codehaus.org/manage_email