Report abuse


			
diff --git a/src/org/jruby/runtime/ThreadContext.java b/src/org/jruby/runtime/ThreadContext.java
index 097bcf4..0e6e158 100644
--- a/src/org/jruby/runtime/ThreadContext.java
+++ b/src/org/jruby/runtime/ThreadContext.java
@@ -346,14 +346,17 @@ public final class ThreadContext {
             expandFramesIfNecessary();
         }
     }

     private void popFrame() {
         Frame frame = frameStack[frameIndex];
         frameIndex--;
         setFile(frame.getFile());
         setLine(frame.getLine());
+
+        // reset frame data to avoid memory leaks
+        frame.updateFrame(null, null, null, Block.NULL_BLOCK, null, 0, null);
     }

     private void popFrameReal(Frame oldFrame) {
         Frame frame = frameStack[frameIndex];
         frameStack[frameIndex] = oldFrame;