2012-02-02 49 views
1

我們有一個Web應用程序使用JSF1.2構建,使用內核爲java:1.6.020的CentOS 5.5和運行java 1.6.20的Richfaces 3.3.2SR1一個tomcat 6.0.20。java.lang.System.arraycopy(本地方法)凍結CPU核心

幾天前,java剛開始凍結,使用整個CPU核心,迫使我們在java進程中做了一個醜陋的kill -9

我收到以下異常。

Feb 1, 2012 5:04:19 PM com.sun.faces.lifecycle.LifecycleImpl phase 
WARNING: phase(RESTORE_VIEW 1,[email protected]) threw exception: java.lang.ArrayIndexOutOfBoundsException null 
java.lang.System.arraycopy(Native Method) 
org.ajax4jsf.request.MultipartRequest.fillBuffer(MultipartRequest.java:396) 
org.ajax4jsf.request.MultipartRequest.initialize(MultipartRequest.java:600) 
org.ajax4jsf.request.MultipartRequest.parseRequest(MultipartRequest.java:616) 
org.richfaces.component.FileUploadPhaselistener.beforePhase(FileUploadPhaselistener.java:63) 
com.sun.faces.lifecycle.LifecycleImpl.phase(LifecycleImpl.java:215) 
com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:113) 
javax.faces.webapp.FacesServlet.service(FacesServlet.java:244) 
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290) 
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) 
org.ajax4jsf.webapp.BaseXMLFilter.doXmlFilter(BaseXMLFilter.java:178) 
org.ajax4jsf.webapp.BaseFilter.handleRequest(BaseFilter.java:290) 
org.ajax4jsf.webapp.BaseFilter.processUploadsAndHandleRequest(BaseFilter.java:367) 
org.ajax4jsf.webapp.BaseFilter.doFilter(BaseFilter.java:515) 
...... 

我認爲,文件上傳正在生成此異常的一些方式,但是,我不知道如何解決......

我做了很多的研究,而唯一link I found is this,並且它不是有用在所有。

以前有人見過這個嗎?我只是不知道該怎麼做,我不想更新生產服務器中的所有東西...

有沒有人有解決方案?是否有一個Java錯誤或什麼?

感謝提前:)

+0

在開始凍結之前,您做了哪些更改或完成? – Gangnus 2012-02-02 23:40:47

+1

您可以在CPU峯值期間通過類似JVisualVM或Java控制檯的方式連接到服務器,並獲取線程轉儲以確保哪種方法導致了這種情況? – millimoose 2012-02-02 23:41:10

+0

沒有什麼改變,它只是開始凍結...關於JVisualVM,我會明天與我的老闆一起看看.. – caarlos0 2012-02-02 23:55:24

回答

1

我只是RichFaces的版本升級到3.3.3,現在一切工作正常。謝謝。