1. 程式人生 > >weblogic宕機crash問題解決分享

weblogic宕機crash問題解決分享

優化 start .get 誤報 問題 article abort pro outside

近期比較煩躁。系統頻繁出現宕機。weblogic控制臺打印出例如以下內容:

# Afatal error has been detected by the Java Runtime Environment:

#

# SIGSEGV (0xb) at pc=0x0000003373c89afc,pid=21500, tid=139781136643840

#

# JREversion: 6.0_45-b06

# JavaVM: Java HotSpot(TM) 64-Bit Server VM (20.45-b01 mixed mode linux-amd64compressed oops)

#Problematic frame:

# C [libc.so.6+0x89afc] unsigned long+0x2dc

#

# Anerror report file with more information is saved as:

#/webhome/bea/user_projects/domains/crm_domain/hs_err_pid21500.log

#

# If youwould like to submit a bug report, please visit:

# http://java.sun.com/webapps/bugreport/crash.jsp

# Thecrash happened outside the Java Virtual Machine in native code.

# Seeproblematic frame for where to report the bug.

#

/webhome/bea/user_projects/domains/crm_domain/bin/startWebLogic.sh:line 180: 21500 Aborted (core dumped) ${JAVA_HOME}/bin/java ${JAVA_VM} ${MEM_ARGS}-Dweblogic.Name=${SERVER_NAME}-Djava.security.policy=${WL_HOME}/server/lib/weblogic.policy ${JAVA_OPTIONS}${PROXY_SETTINGS} ${SERVER_CLASS}


從控制臺日誌中,能夠看到一個宕機錯誤報告文件,hs_error_pid****.log文件,打出crash報告。


錯誤內容例如以下,連續幾天查詢問題原因。系統怎樣優化都還出現crash原因。


最後得知這樣能夠解決,這個分享出來給大家,使同行們少走彎路。能夠節省很多其它時間,知識共享。

出現此問題原因:

1.當前正在使用jar或者class文件被動態更新。

2.當前jar大於4G而且為JDK6或者更早版本號;JDK6或者更早版本號僅僅能接受4G大小下面的版本號。


問題解決:

1.在JDK的1.6.23以上版本號中有一個屬性,能夠避免此問題發生crash.配置動態讀取jar或者class

在weblogic的的啟動腳本裏面。JVM設置地址增加一個參數就可以解決此問題。

-Dsun.zip.disableMemoryMapping=true;

試過了。很實用。還請同行們以後保持良好的系統上線習慣。先停weblogic,再改動類文件。再重新啟動weblogic。

或者改成熱部署方式也可。



A fatal error has been detected by the Java Runtime Environment:
#
# SIGSEGV (0xb) at pc=0x0000003e6a089b03, pid=19647, tid=140309875619584
#
# JRE version: 6.0_45-b06
# Java VM: Java HotSpot(TM) 64-Bit Server VM (20.45-b01 mixed mode linux-amd64 compressed oops)
# Problematic frame:
# C [libc.so.6+0x89b03] unsigned long+0x2e3
#
# If you would like to submit a bug report, please visit:
# http://java.sun.com/webapps/bugreport/crash.jsp
# The crash happened outside the Java Virtual Machine in native code.
# See problematic frame for where to report the bug.
#


--------------- T H R E A D ---------------


Current thread (0x00007f9cf4018800): JavaThread "pool-1-thread-201" [_thread_in_native, id=15488, stack(0x00007f9c703b7000,0x00007f9c704b8000)]


siginfo:si_signo=SIGSEGV: si_errno=0, si_code=1 (SEGV_MAPERR), si_addr=0x00007f9c78f0c000


Registers:
RAX=0x657477782f6d6f63, RBX=0x6c2f6570622f6863, RCX=0x0000000000000176, RDX=0x000000000000bb29
RSP=0x00007f9c704b4e48, RBP=0x00007f9c78f0427d, RSI=0x00007f9c78f0bff0, RDI=0x00007f9dc85cb115
R8 =0x000000000000bb00, R9 =0x031402014b507373, R10=0x552900080800000a, R11=0x0c9f95f95b0646ef
R12=0x00390000207a0000, R13=0x0000000000000000, R14=0x001cd35781a40000, R15=0x0000000000005a65
RIP=0x0000003e6a089b03, EFLAGS=0x0000000000010202, CSGSFS=0x0000000000000033, ERR=0x0000000000000004
TRAPNO=0x000000000000000e


Top of Stack: (sp=0x00007f9c704b4e48)
0x00007f9c704b4e48: 00007f9f9308331e 00000000704b4e70
0x00007f9c704b4e58: 00007f9eec831324 00007f9eec82df60
0x00007f9c704b4e68: 0000000000000000 00000000a5fc4555
0x00007f9c704b4e78: 00007f9c704b4ee0 0000000000000054
0x00007f9c704b4e88: 00007f9f930835c4 00007f9cf4018800
0x00007f9c704b4e98: 00007f9c704b4ee0 00007f9cf40189d0
0x00007f9c704b4ea8: 0000000000000054 00007f9c704b5338
0x00007f9c704b4eb8: 0000000000000054 0000000000000001
0x00007f9c704b4ec8: 00007f9f9307b797 00007f9c704b4ee0
0x00007f9c704b4ed8: 00007f9eec82df60 657477782f6d6f63
0x00007f9c704b4ee8: 6c2f6570622f6863 73626f2f6369676f
0x00007f9c704b4ef8: 6369767265732f68 65702f7364632f65
0x00007f9c704b4f08: 697375426e6f7372 6f72422f7373656e
0x00007f9c704b4f18: 6341646e61426461 797251746e756f63
0x00007f9c704b4f28: 632e312453444345 000000007373616c
0x00007f9c704b4f38: 00007f9f93b4e2c8 00007f9c704b4f60
0x00007f9c704b4f48: 00007f9f93b5ec8d 00007f9c704b4f90
0x00007f9c704b4f58: 00007f9f8c037cb0 00007f9c704b4f80
0x00007f9c704b4f68: 00007f9f93aca246 00007f9f94168630
0x00007f9c704b4f78: 00007f9f8c016b20 00007f9c704b4fb0
0x00007f9c704b4f88: 00007f9f93b5d646 00007f9f941694f0
0x00007f9c704b4f98: 00000007733e6780 00007f9f8c0388d0
0x00007f9c704b4fa8: 0000000000000000 00007f9c704b4fc0
0x00007f9c704b4fb8: 00007f9f93b51124 00007f9c704b5040
0x00007f9c704b4fc8: 00007f9f93a69eee 00007f9c704b4ff0
0x00007f9c704b4fd8: 00007f9f9391286c 0000000000000017
0x00007f9c704b4fe8: 00000007733e6780 00007f9c704b5030
0x00007f9c704b4ff8: 00007f9f93f160c6 00007f9eec96c708
0x00007f9c704b5008: 00007f9cf4018800 0000000000000000
0x00007f9c704b5018: 00007f9cf4018800 00007f9f94168630
0x00007f9c704b5028: 00007f9f9414a159 00007f9f94168630
0x00007f9c704b5038: 00007f9cf4018800 00007f9c704b53a0


Instructions: (pc=0x0000003e6a089b03)
0x0000003e6a089ae3: 4c 89 67 28 4c 89 6f 30 4c 89 77 38 48 8d 76 40
0x0000003e6a089af3: 48 8d 7f 40 74 5d 48 ff c9 48 8b 06 48 8b 5e 08
0x0000003e6a089b03: 4c 8b 4e 10 4c 8b 56 18 4c 8b 5e 20 4c 8b 66 28
0x0000003e6a089b13: 4c 8b 6e 30 4c 8b 76 38 0f 18 8f 40 03 00 00 0f


Register to memory mapping:


RAX=0x657477782f6d6f63 is an unknown value
RBX=0x6c2f6570622f6863 is an unknown value
RCX=0x0000000000000176 is an unknown value
RDX=0x000000000000bb29 is an unknown value
RSP=0x00007f9c704b4e48 is pointing into the stack for thread: 0x00007f9cf4018800
RBP=0x00007f9c78f0427d is an unknown value
RSI=0x00007f9c78f0bff0 is an unknown value
RDI=0x00007f9dc85cb115 is an unknown value
R8 =0x000000000000bb00 is an unknown value
R9 =0x031402014b507373 is an unknown value
R10=0x552900080800000a is an unknown value
R11=0x0c9f95f95b0646ef is an unknown value
R12=0x00390000207a0000 is an unknown value
R13=0x0000000000000000 is an unknown value
R14=0x001cd35781a40000 is an unknown value
R15=0x0000000000005a65 is an unknown value




Stack: [0x00007f9c703b7000,0x00007f9c704b8000], sp=0x00007f9c704b4e48, free space=1015k
Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code)
C [libc.so.6+0x89b03] unsigned long+0x2e3


Java frames: (J=compiled Java code, j=interpreted, Vv=VM code)
J java.util.zip.ZipFile.getEntry(JLjava/lang/String;Z)J
J java.util.zip.ZipFile.getEntry(Ljava/lang/String;)Ljava/util/zip/ZipEntry;
J weblogic.utils.classloaders.ZipClassFinder.getSource(Ljava/lang/String;)Lweblogic/utils/classloaders/Source;
J weblogic.utils.classloaders.AbstractClassFinder.getClassSource(Ljava/lang/String;)Lweblogic/utils/classloaders/Source;
J weblogic.utils.classloaders.MultiClassFinder.getClassSource(Ljava/lang/String;)Lweblogic/utils/classloaders/Source;
J weblogic.utils.classloaders.MultiClassFinder.getClassSource(Ljava/lang/String;)Lweblogic/utils/classloaders/Source;
J weblogic.application.utils.CompositeWebAppFinder.getClassSource(Ljava/lang/String;)Lweblogic/utils/classloaders/Source;
J weblogic.utils.classloaders.MultiClassFinder.getClassSource(Ljava/lang/String;)Lweblogic/utils/classloaders/Source;
J weblogic.utils.classloaders.CodeGenClassFinder.getClassSource(Ljava/lang/String;)Lweblogic/utils/classloaders/Source;
J weblogic.utils.classloaders.GenericClassLoader.findClass(Ljava/lang/String;)Ljava/lang/Class;
J weblogic.utils.classloaders.ChangeAwareClassLoader.loadClass(Ljava/lang/String;)Ljava/lang/Class;

weblogic宕機crash問題解決分享