Closed ReaJason closed 4 months ago
arthas-boot.jar
as.sh
arthas-boot
What do you expected from the above steps?
没有异常信息,根据程序执行结果,程序执行结果与两者都不符
jad 运行结果为:
[arthas@306]$ jad com.ibm.ws.webcontainer.srt.SRTServletRequest getInputStream ClassLoader: +-org.eclipse.osgi.internal.baseadaptor.DefaultClassLoader@a03c0e1c[com.ibm.ws.webcontainer:8.1.0(id=208)] +-sun.misc.Launcher$AppClassLoader@ef458d3c +-sun.misc.Launcher$ExtClassLoader@dace7a39 Location: /opt/IBM/WebSphere/AppServer/plugins/com.ibm.ws.webcontainer.jar public ServletInputStream getInputStream() throws IOException { SRTServletRequest sRTServletRequest = this; try { /*1127*/ if (TraceComponent.isAnyTracingEnabled() && logger.isLoggable(Level.FINE)) { /*1128*/ logger.logp(Level.FINE, CLASS_NAME, "getInputStream", "this->" + sRTServletRequest + ": gotReader = " + sRTServletRequest._srtRequestHelper._gotReader); } /*1130*/ if (WCCustomProperties.CHECK_REQUEST_OBJECT_IN_USE) { /*1131*/ sRTServletRequest.checkRequestObjectInUse(); } /*1134*/ if (sRTServletRequest._srtRequestHelper._gotReader) { throw new IllegalStateException(nls.getString("Reader.already.obtained", "Reader already obtained")); } /*1144*/ if (WCCustomProperties.ENABLE_MULTI_READ_OF_POST_DATA && sRTServletRequest._srtRequestHelper._InputStreamClosed) { /*1146*/ sRTServletRequest._in.restart(); } /*1150*/ sRTServletRequest._srtRequestHelper._gotInputStream = true; /*1151*/ sRTServletRequest = sRTServletRequest._in; return sRTServletRequest; } finally { Object var2_2 = null; } } Affect(row-cnt:3) cost in 8373 ms.
dump 的结果如下:
public ServletInputStream getInputStream() throws IOException { SRTServletRequest var1 = this; Throwable var2; Object var6; label48: { WSServletInputStream var10000; try { if (TraceComponent.isAnyTracingEnabled() && logger.isLoggable(Level.FINE)) { logger.logp(Level.FINE, "com.ibm.ws.webcontainer.srt.SRTServletRequest", "getInputStream", "this->" + var1 + ": gotReader = " + var1._srtRequestHelper._gotReader); } if (WCCustomProperties.CHECK_REQUEST_OBJECT_IN_USE) { var1.checkRequestObjectInUse(); } if (var1._srtRequestHelper._gotReader) { throw new IllegalStateException(nls.getString("Reader.already.obtained", "Reader already obtained")); } if (WCCustomProperties.ENABLE_MULTI_READ_OF_POST_DATA && var1._srtRequestHelper._InputStreamClosed) { var1._in.restart(); } var1._srtRequestHelper._gotInputStream = true; var10000 = var1._in; } catch (Throwable var5) { var2 = var5; var6 = null; break label48; } var6 = var10000; var2 = null; } if (var2 != null) { Spy.onThrows("8a7b1f49-5994-4058-b8f3-92e5d4c50451", new Object[0], "com.ibm.ws.webcontainer.srt.SRTServletRequest", "getInputStream", var2); throw var2; } else { Spy.Result var3 = Spy.onAfter("8a7b1f49-5994-4058-b8f3-92e5d4c50451", new Object[0], "com.ibm.ws.webcontainer.srt.SRTServletRequest", "getInputStream", var6, this); if (var3.getRet() != null) { var6 = (ServletInputStream)var3.getRet(); } if (var2 != null) { throw var2; } else { return (ServletInputStream)var6; } } }
环境信息
arthas-boot.jar
或者as.sh
的版本: 3.6.9arthas-boot
的版本: java version "1.8.0_351"重现问题的步骤
期望的结果
What do you expected from the above steps?
实际运行的结果
没有异常信息,根据程序执行结果,程序执行结果与两者都不符
jad 运行结果为:
dump 的结果如下: