基本上我有一個JAW-WS web服務。我從外部應用程序批量調用了數百萬次。大約2000萬次調用後,應用程序崩潰,下面的錯誤。我已經嘗試升級java版本,嘗試在不同的機器上,它都是一樣的。使用JAX-WS的EXCEPTION_STACK_OVERFLOW
發生了不可恢復的堆棧溢出。
已經由Java運行時環境中檢測到致命錯誤:
EXCEPTION_STACK_OVERFLOW(0xc00000fd)在PC = 0x7c90e8e5,PID = 9396, TID = 9000
JRE版本:6.0_29-B11的Java VM :爪哇的HotSpot(TM)客戶機VM (20.4-B02混合模式下,共享的窗口86)有問題的幀:C [NTDLL.DLL + 0xe8e5]
與更多的信息的錯誤報告文件保存爲:U: hs_err_pid9396.log
如果您想提交錯誤報告,請訪問: http://java.sun.com/webapps/bugreport/crash.jsp
我已閱讀,EXCEPTION_STACK_OVERFLOW
由遞歸所致,或嵌套不正確返回功能。我不認爲這是我的問題,因爲我只有一個電話會做一些工作並返回。愚蠢的問題,但有沒有清除堆棧的方式,也許我可以每x小時做一次?
我設法得到了服務器2008和最新的JRE的乾淨安裝。當我在這臺機器上運行相同的應用程序時,我收到以下消息。我確定看看這個錯誤比上一次更好,因爲這是應用程序將部署的活動框。由於
28日 - 12月2011年14點34分58秒com.sun.xml.internal.ws.model.RuntimeModeler getRequestWrap
perClass
INFO: Dynamically creating request wrapper Class Professional
Services.jaxws.CleanResponse
28-Dec-2011 14:34:58 com.sun.xml.internal.ws.model.RuntimeModeler getResponseWra
pperClass
INFO: Dynamically creating response wrapper bean Class Professional
Services.jaxws.CleanResponse
Exception in thread "Thread-4" java.lang.OutOfMemoryError: unable to create new
native thread
at java.lang.Thread.start0(Native Method)
at java.lang.Thread.start(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor.addIfUnderMaximumPoolSize(Unk
nown Source)
at java.util.concurrent.ThreadPoolExecutor.execute(Unknown Source)
at sun.net.httpserver.ServerImpl$Dispatcher.handle(Unknown Source)
at sun.net.httpserver.ServerImpl$Dispatcher.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
哦哇真的嗎?這是否意味着我無能爲力?我唯一的工作就是在6小時後關閉應用程序,然後再啓動它,cron作業窗口調度程序。有什麼我可以去編程實現這個? 也我如何找出哪個版本的JRE使用,即一個沒有這個錯誤。甲骨文會告訴我,一旦我提交了錯誤? – user1119522 2011-12-28 15:54:09
去他們的臭蟲記者,看看你看到了什麼。一般來說,他們不是很有幫助。你沒有太多的選擇,只能下載幾個不同的版本並嘗試實驗。我無法幫助你解決重啓的問題,打開另一個問題。 – bmargulies 2011-12-28 16:40:34