Report abuse

This is a quick fix that restores method names in stack traces.
E.g.  "hello".sub(/l/, 5) ==>

stacktrace.rb:3:in `sub': can't convert Fixnum into String (TypeError)
        from stacktrace.rb:3

diff --git a/src/org/jruby/runtime/ThreadContext.java b/src/org/jruby/runtime/ThreadContext.java
index cdfdda4..c907dd0 100644
--- a/src/org/jruby/runtime/ThreadContext.java
+++ b/src/org/jruby/runtime/ThreadContext.java
@@ -530,12 +530,12 @@ public final class ThreadContext {
     }

     private static void addBackTraceElement(RubyArray backtrace, Frame frame, Frame previousFrame) {
-        if (frame.getName() != null &&
-                frame.getName().equals(previousFrame.getName()) &&
-                frame.getFile().equals(previousFrame.getFile()) &&
-                frame.getLine() == previousFrame.getLine()) {
-            return;
-        }
+//        if (frame.getName() != null &&
+//                frame.getName().equals(previousFrame.getName()) &&
+//                frame.getFile().equals(previousFrame.getFile()) &&
+//                frame.getLine() == previousFrame.getLine()) {
+//            return;
+//        }

         StringBuffer buf = new StringBuffer(60);
         buf.append(frame.getFile()).append(':').append(frame.getLine() + 1);