Details
-
Type:
Bug
-
Status:
Closed
-
Priority:
Major
-
Resolution: Fixed
-
Affects Version/s: JRuby 1.1.3
-
Fix Version/s: JRuby 1.1.5
-
Component/s: Miscellaneous
-
Labels:None
-
Number of attachments :
Description
Note the difference between these two traces:
Ruby:
./test2.rb:3: unhandled exception from test1.rb:2:in `require' from test1.rb:2
JRuby:
/Users/headius/NetBeansProjects/jruby/./test2.rb:3:in `(unknown)': unhandled exception from /Users/headius/NetBeansProjects/jruby/./test2.rb:2:in `require' from test1.rb:2:in `(unknown)'
LoadService is currently expanding paths to their full absolute path (and in some cases, to their canonical non-symlinked path) before passing the file off to be parsed and loaded. This is largely why backtraces, trace events, compiled package names, and so on have the full path. Tom Enebo fixed the parser in the last release to not use long paths, and it seems that currently the only remaining issue is in the load process.
We should correct this by feeding to the parser only the filename that Ruby users would expect to see (<load path entry>/<filename>) even if we use an expanded version to load the physical file.
Tom started down the rabbit hole but it was too large a change too late in 1.1.4 cycle. 1.1.5 hopefully.