From b9199a58bd2235f89ff71f61bc2df6399076cfef Mon Sep 17 00:00:00 2001 From: Eugene Zhuravlev Date: Fri, 30 Sep 2011 18:45:11 +0200 Subject: [PATCH] workaround for "Unexpected JDWP Error: 32" - "opaque frame" JDI bug --- .../intellij/debugger/jdi/StackFrameProxyImpl.java | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/java/debugger/impl/src/com/intellij/debugger/jdi/StackFrameProxyImpl.java b/java/debugger/impl/src/com/intellij/debugger/jdi/StackFrameProxyImpl.java index dc01a3c46d91..01a6c14c14ec 100644 --- a/java/debugger/impl/src/com/intellij/debugger/jdi/StackFrameProxyImpl.java +++ b/java/debugger/impl/src/com/intellij/debugger/jdi/StackFrameProxyImpl.java @@ -261,6 +261,17 @@ public class StackFrameProxyImpl extends JdiProxy implements StackFrameProxy { } return Collections.emptyList(); } + catch (InternalException e) { + // From Oracle's forums: + // This could be a JPDA bug. Unexpected JDWP Error: 32 means that an 'opaque' frame was detected at the lower JPDA levels, + // typically a native frame. + if (e.errorCode() == 32 /*opaque frame JDI bug*/ ) { + return Collections.emptyList(); + } + else { + throw e; + } + } catch (InvalidStackFrameException e) { clearCaches(); return getArgumentValues();