1. WAS 버전 : WebSphere ND v6.1
2. OS : All
3. Error 발생 시점 : 한번도 로딩되지 않았던, method 가 추가된 class 를 hot deploy 이후 Exception 발생
(단, 이 경우 해당 jar 파일의 다른 class 들이 한번이라도 load 된 경우에만 발생)
4. Error message :
[10. 11. 18 11:39:58:095 KST] 00000038 SinglePathCla E WSVR0120E: aaa.bbb.ccc.Dummy 처리 중에 오류가 발생했습니다.
java.io.EOFException: Unexpected end of ZLIB input stream
at java.util.zip.ZipFile$2.fill(ZipFile.java:378)
at java.util.zip.InflaterInputStream.read(InflaterInputStream.java:159)
at com.ibm.ws.classloader.SinglePathClassProvider.readFully(SinglePathClassProvider.java:620)
at com.ibm.ws.classloader.SinglePathClassProvider.access$000(SinglePathClassProvider.java:59)
at com.ibm.ws.classloader.SinglePathClassProvider$2.run(SinglePathClassProvider.java:364)
at com.ibm.ws.security.util.AccessController.doPrivileged(AccessController.java:63)
at com.ibm.ws.classloader.SinglePathClassProvider.getClassBytesFromJar(SinglePathClassProvider.java:342)
at com.ibm.ws.classloader.SinglePathClassProvider.getClassBytes(SinglePathClassProvider.java:286)
at com.ibm.ws.classloader.CompoundClassLoader.findClass(CompoundClassLoader.java:465)
at com.ibm.ws.classloader.CompoundClassLoader.loadClass(CompoundClassLoader.java:388)
at java.lang.ClassLoader.loadClass(ClassLoader.java:597)
at com.ibm.ws.classloader.CompoundClassLoader.loadClass(CompoundClassLoader.java:383)
at java.lang.ClassLoader.loadClass(ClassLoader.java:597)
at com.ibm.ws.jsp.webcontainerext.JSPExtensionClassLoader._loadClass(JSPExtensionClassLoader.java:103)
at com.ibm.ws.jsp.webcontainerext.JSPExtensionClassLoader.loadClass(JSPExtensionClassLoader.java:70)
at com.ibm.ws.jsp.webcontainerext.JSPExtensionClassLoader.loadClass(JSPExtensionClassLoader.java:52)
at java.lang.J9VMInternals.verifyImpl(Native Method)
at java.lang.J9VMInternals.verify(J9VMInternals.java:69)
at java.lang.J9VMInternals.initialize(J9VMInternals.java:131)
at java.lang.Class.newInstanceImpl(Native Method)
at java.lang.Class.newInstance(Class.java:1328)
at java.beans.Beans.instantiate(Beans.java:219)
FFDC 에 다음과 같은 Exception 발견
------Start of DE processing------ = [10. 11. 18 11:39:58:106 KST] , key = java.lang.ClassFormatError com.ibm.ws.webcontainer.weba
pp.WebAppServletManager.loadServlet 227
Exception = java.lang.ClassFormatError
Source = com.ibm.ws.webcontainer.webapp.WebAppServletManager.loadServlet
probeid = 227
Stack Dump = java.lang.ClassFormatError: (aaa/bbb/ccc/Dummy) attribute length less than attribute data at offset=455
at java.lang.ClassLoader.defineClassImpl(Native Method)
at java.lang.ClassLoader._m$mDefineClass(ClassLoader.java:258)
at java.lang.ClassLoader.defineClass(ClassLoader.java)
at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:151)
at com.ibm.ws.classloader.CompoundClassLoader._defineClass(CompoundClassLoader.java:562)
at com.ibm.ws.classloader.CompoundClassLoader.findClass(CompoundClassLoader.java:514)
at com.ibm.ws.classloader.CompoundClassLoader.loadClass(CompoundClassLoader.java:388)
at java.lang.ClassLoader.loadClass(ClassLoader.java:597)
at com.ibm.ws.classloader.CompoundClassLoader.loadClass(CompoundClassLoader.java:383)
at java.lang.ClassLoader.loadClass(ClassLoader.java:597)
at com.ibm.ws.jsp.webcontainerext.JSPExtensionClassLoader._loadClass(JSPExtensionClassLoader.java:103)
at com.ibm.ws.jsp.webcontainerext.JSPExtensionClassLoader.loadClass(JSPExtensionClassLoader.java:70)
at com.ibm.ws.jsp.webcontainerext.JSPExtensionClassLoader.loadClass(JSPExtensionClassLoader.java:52)
at java.lang.J9VMInternals.verifyImpl(Native Method)
at java.lang.J9VMInternals.verify(J9VMInternals.java:69)
at java.lang.J9VMInternals.initialize(J9VMInternals.java:131)
at java.lang.Class.newInstanceImpl(Native Method)
at java.lang.Class.newInstance(Class.java:1328)
at java.beans.Beans.instantiate(Beans.java:219)
at java.beans.Beans.instantiate(Beans.java:63)
5. 예상 이유 :
Class 를 Loading 하기 전에 해당 Class 의 구조를 verify 하는 작업이 선행되는데 이미 기존에 배포된 Jar 파일의 class 파일에서
Method 를 추가해서 해당 Jar 파일을 hot deploy 하게 되면 class 구조의 불일치에 의해서 Exception 이 발생하는 것으로 보임
6. 조치 방안 :
해당 Exception 발생후 application 이나 WAS 를 재기동하면 해당 문제는 바로 해결됨
'IBM - old > WAS 문제&해결' 카테고리의 다른 글
WAS 위에서 별도로 thread 를 생성하여 JNDI operation 시 NMSV0310E exception (0) | 2016.05.09 |
---|---|
WSWS3052E: Error: Bad envelope namespace (0) | 2016.05.09 |
공인된 CA 에서 인증받은 인증서를 쓰는 사이트 접속시 CWPKI0022E: SSL 핸드쉐이크 장애 (0) | 2016.05.09 |
JSP compile 시에 JDK 5.0 기능인 auto-boxing 미지원 (0) | 2016.05.09 |
WAS plugin component 에 대한 Error message List (0) | 2016.05.09 |
댓글