본문 바로가기
IBM - old/WAS 문제&해결

운영중에 애플리케이션 jar 파일이 교체/업데이트 되는 경우 WAS 에서 crash 발생

by freeman98 2016. 5. 30.

1. WAS 버전 : WAS v7.0 이상


2. OS : Solaris, Linux (Oracle JVM 6.0 사용시)


3. Error 발생 시점 : 운영중에 애플리케이션 jar 파일이 교체/업데이트 되는 경우 WAS 에서 crash 발생


4. Error message :

core 에서 하단의 과이 java.util.zip.ZipFile 관련 stack 확인 가능

Stack: [0xb0c00000,0xb0c80000],  sp=0xb0c7c890,  free space=498k
Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code)
C  [libc_psr.so.1+0x700]  memcpy+0x2f8
C  [libzip.so+0xd19c]
C  [libzip.so+0x2380]  ZIP_GetEntry+0xe4
C  [libzip.so+0x2800]  Java_java_util_zip_ZipFile_getEntry+0xc4
j  java.util.zip.ZipFile.getEntry(JLjava/lang/String;Z)J+0
j  java.util.zip.ZipFile.getEntry(JLjava/lang/String;Z)J+0
j  java.util.zip.ZipFile.getEntry(Ljava/lang/String;)Ljava/util/zip/ZipEntry;+31
j  java.util.jar.JarFile.getEntry(Ljava/lang/String;)Ljava/util/zip/ZipEntry;+2
j  java.util.jar.JarFile.getJarEntry(Ljava/lang/String;)Ljava/util/jar/JarEntry;+2


5. 예상 이유 :  Oracle JVM 의 java.util.zip.Zipfile 구현의 mmap 사용 구현의 버그


6. 조치 방안 : "-Dsun.zip.disableMemoryMapping=true" 옵션을 추가하여 mmap 사용을 diable


7. 참고 자료 
JDK-7129299 : JVM crash issue related to jar files
http://bugs.java.com/view_bug.do?bug_id=7129299

댓글