프로덕션 환경에서 30 분 동안 weblogic 서버가 멈 춥니 다. 스레드가 죽은 것처럼 보입니다. 그러나 스레드 덤프를 조사한 후에는 동일한 스레드에 대해 3 개의 스레드가 차단되지만 다른 스레드는이 스레드를 소유하지 않습니다. 여기에 stacktrace이 있습니다.3 개의 스레드가 동일한 모니터를 기다리는 동안 차단 된 상태입니다. 해당 모니터를 소유 한 스레드가 없습니다.
이 stiuation에 대한 합리적인 설명이 있습니까?
차단 된 스레드는 다음과 같습니다. ( 차단됨 :
"풀 1,013 스레드 -5-"프리 오 = 7 TID = 600000000842be00 NID = 17,280 = 518,677 lwp_id와 는 [9fffffffe6aff000..9fffffffe6b00bd0] java.lang.Thread.State에 모니터 입력 대기 org.apache.log4j.Category.callAppenders (Category.java:201) 에서 객체 모니터)에 - org.apache.log4j에서 < 9ffffffde1e7ec88> (A org.apache.log4j.spi.RootLogger)를 잠금 대기 .Category.forcedLog (Category.java:388) at org.apache.log4j.Category.log (Category.java:853) at org.slf4j.impl.Log4jLoggerAdapter.debug (Log4jLoggerAdapter.java:173) 01 org.hibernate.jdbc.AbstractBatcher.logOpenResults (AbstractBatcher.java:426) org.hibernate.jdbc.AbstractBatcher.getResultSet (AbstractBatcher.java:210)에서 org.hibernate.loader.Loader.getResultSet에서 에서 23,516,(모니터 입력 대기 Loader.java:1808)
"풀 - 1,013 - 스레드 4"프리 오 = 7 TID = 6000000008413400 NID = 17,279 = 518,676 lwp_id와 [9fffffffe6eff000..9fffffffe6f00b50]하는 java.lang.Thread.State : 블로킹 (객체 모니터에서) org.apache.log4j.Category.callAppenders (Category.java:201) - 대기 중 < 9ffffffde1e7ec88> (a org.apache.log4j.spi.RootLogger) at org.apache.log4j.Category.forcedLog (Category.java:388) at org.apache.log4j.Category.log (Category.java:853) at org .slf4j.impl.Log4jLoggerAdapter.debug (Log4jLoggerAdapter.java:173) at org.hibernate.loader.Loader.getRow (Loader.java:1197) at org.hibernate.loader.Loader.getRowFromResultSet (Loader.java:603)) org.hibernate.loader.Loader.doQueryAndInitializeNonLazyCollections (Loader.java:259) org.hibernate.loader.Loader.loadEntity에서 에서 org.hibernate.loader.Loader.doQuery (Loader.java:724) (로더에 .java : 1881) at org.hibernate.loader.entity.AbstractEntityLoader.load (AbstractEntityLoader.java:71) at 또는 g.hibernate.loader.entity.AbstractEntityLoader.load org.hibernate.event.def에서 org.hibernate.persister.entity.AbstractEntityPersister.load (AbstractEntityPersister.java:3072) 에서 (AbstractEntityLoader.java:65) . DefaultLoadEventListener.loadFromDatasource org.hibernate.event.def.DefaultLoadEventListener.load에서 org.hibernate.event.def.DefaultLoadEventListener.doLoad (DefaultLoadEventListener.java:415)에서 (DefaultLoadEventListener.java:434) (DefaultLoadEventListener.java : 165) at org.hibernate.event.def.DefaultLoadEventListener.proxyOrLoad (DefaultLoadEventListener.java:223) at org.hibernate.event.def.DefaultLoadE ventListener.onLoad (DefaultLoadEventListener.java:126) at org.hibernate.impl.SessionImpl.fireLoad (SessionImpl.자바 : 905)
"풀 1,013 스레드 -3-"프리 오 = 7 TID = 6000000008411c00 NID = 17,278 = 518,675 lwp_id와 모니터 입력 대기 [9fffffffe70ff000..9fffffffe7100ad0]하는 java.lang.Thread.State : org.apache.log4j.Category.callAppenders (Category.java:201) 에서 (객체 모니터에) BLOCKED - org.apache에서 < 9ffffffde1e7ec88> (A org.apache.log4j.spi.RootLogger)를 잠금 대기 .log4j.Category.forcedLog (Category.java:388) at org.apache.log4j.Category.log (Category.java:853) at org.slf4j.impl.Log4jLoggerAdapter.debug (Log4jLoggerAdapter.java:173) 에 451,515,org.hibernate.jdbc.AbstractBatcher.logOpenResults (AbstractBatcher.java:426) org.hibernate.loader.Loader.getResultSet에서 org.hibernate.jdbc.AbstractBatcher.getResultSet (AbstractBatcher.java:210) (로더에 . 자바 : org.hibernate.loader.Loader.doQuery (Loader.java:697)에서 1808)
왜 스택 트레이스를 게시? 우리는 그것을 다운로드하지 않을 것이다. – Jonas
왜냐하면 stackoverflow 한계가 ... –
'notify/notifyAll'없이'wait'를 호출하고 있습니까? –