2012-02-09 4 views
2

내 테스트 케이스가 매달려있을 때 스레드 덤프를 생성 할 수있었습니다. 그러나 교착 상태, 경쟁 조건 또는 리소스 경합이 아닌 것으로 보입니다. 그러나 3 명의 가상 사용자가있는 로딩 테스트 도구에서 테스트 케이스를 실행하는 동안 확실히 멈췄다. 누구나 나를 올바른 방향으로 안내 할 수 있습니까? 건배 당신이 당신의 자신의 com.ibm가없는 한다른 스레드가 멈추는 자바 스레드 매달리기 (계속)

"Servlet.Engine.Transports : 387" daemon prio=5 tid=0x15386f8 nid=0x943 waiting on monitor [0xb4781000..0xb4781a00] 
    at java.lang.Object.wait(Native Method) 
    at java.lang.Object.wait(Object.java:415) 
    at com.ibm.ws.util.BoundedBuffer.take(BoundedBuffer.java:161) 
    at com.ibm.ws.util.ThreadPool.getTask(ThreadPool.java:422) 
    at com.ibm.ws.util.ThreadPool$Worker.run(ThreadPool.java:669) 

"Servlet.Engine.Transports : 385" daemon prio=5 tid=0x51e898 nid=0x93e waiting on monitor [0xb3281000..0xb3281a00] 
    at java.lang.Object.wait(Native Method) 
    at java.lang.Object.wait(Object.java:415) 
    at com.ibm.ws.util.BoundedBuffer.take(BoundedBuffer.java:161) 
    at com.ibm.ws.util.ThreadPool.getTask(ThreadPool.java:422) 
    at com.ibm.ws.util.ThreadPool$Worker.run(ThreadPool.java:669) 

"Servlet.Engine.Transports : 384" daemon prio=5 tid=0x464760 nid=0x93d waiting on monitor [0xb3381000..0xb3381a00] 
    at java.lang.Object.wait(Native Method) 
    at java.lang.Object.wait(Object.java:415) 
    at com.ibm.ws.util.BoundedBuffer.take(BoundedBuffer.java:161) 
    at com.ibm.ws.util.ThreadPool.getTask(ThreadPool.java:422) 
    at com.ibm.ws.util.ThreadPool$Worker.run(ThreadPool.java:669) 

"Servlet.Engine.Transports : 382" daemon prio=5 tid=0x1141de8 nid=0x8a0 waiting on monitor [0xb3581000..0xb3581a00] 
    at java.lang.Object.wait(Native Method) 
    at java.lang.Object.wait(Object.java:415) 
    at com.ibm.ws.util.BoundedBuffer.take(BoundedBuffer.java:161) 
    at com.ibm.ws.util.ThreadPool.getTask(ThreadPool.java:422) 
    at com.ibm.ws.util.ThreadPool$Worker.run(ThreadPool.java:669) 

"Servlet.Engine.Transports : 380" daemon prio=5 tid=0x1151ad8 nid=0x6b5 waiting on monitor [0xb3e81000..0xb3e81a00] 
    at java.lang.Object.wait(Native Method) 
    at java.lang.Object.wait(Object.java:415) 
    at com.ibm.ws.util.BoundedBuffer.take(BoundedBuffer.java:161) 
    at com.ibm.ws.util.ThreadPool.getTask(ThreadPool.java:422) 
    at com.ibm.ws.util.ThreadPool$Worker.run(ThreadPool.java:669) 

"Servlet.Engine.Transports : 366" daemon prio=5 tid=0x1a1d110 nid=0x3fb waiting on monitor [0xb4b81000..0xb4b81a00] 
    at java.lang.Object.wait(Native Method) 
    at java.lang.Object.wait(Object.java:415) 
    at com.ibm.ws.util.BoundedBuffer.take(BoundedBuffer.java:161) 
    at com.ibm.ws.util.ThreadPool.getTask(ThreadPool.java:422) 
    at com.ibm.ws.util.ThreadPool$Worker.run(ThreadPool.java:669) 

"Servlet.Engine.Transports : 365" daemon prio=5 tid=0x4e8bd8 nid=0x3fa waiting on monitor [0xb6281000..0xb6281a00] 
    at java.lang.Object.wait(Native Method) 
    at java.lang.Object.wait(Object.java:415) 
    at com.ibm.ws.util.BoundedBuffer.take(BoundedBuffer.java:161) 
    at com.ibm.ws.util.ThreadPool.getTask(ThreadPool.java:422) 
    at com.ibm.ws.util.ThreadPool$Worker.run(ThreadPool.java:669) 

"Servlet.Engine.Transports : 362" daemon prio=5 tid=0x17055b0 nid=0x3f7 waiting on monitor [0xb3481000..0xb3481a00] 
    at java.lang.Object.wait(Native Method) 
    at java.lang.Object.wait(Object.java:415) 
    at com.ibm.ws.util.BoundedBuffer.take(BoundedBuffer.java:161) 
    at com.ibm.ws.util.ThreadPool.getTask(ThreadPool.java:422) 
    at com.ibm.ws.util.ThreadPool$Worker.run(ThreadPool.java:669) 

"Servlet.Engine.Transports : 356" daemon prio=5 tid=0x1ddbae0 nid=0x3f1 waiting on monitor [0xb9c01000..0xb9c01a00] 
    at java.lang.Object.wait(Native Method) 
    at java.lang.Object.wait(Object.java:415) 
    at com.ibm.ws.util.BoundedBuffer.take(BoundedBuffer.java:161) 
    at com.ibm.ws.util.ThreadPool.getTask(ThreadPool.java:422) 
    at com.ibm.ws.util.ThreadPool$Worker.run(ThreadPool.java:669) 

"Servlet.Engine.Transports : 299" daemon prio=5 tid=0x2519028 nid=0x3b5 waiting on monitor [0xb6001000..0xb6001a00] 
    at java.lang.Object.wait(Native Method) 
    at java.lang.Object.wait(Object.java:415) 
    at com.ibm.ws.util.BoundedBuffer.take(BoundedBuffer.java:161) 
    at com.ibm.ws.util.ThreadPool.getTask(ThreadPool.java:422) 
    at com.ibm.ws.util.ThreadPool$Worker.run(ThreadPool.java:669) 
+5

코드보기가 도움이 될 것입니다. 스레드가 버퍼를 기다리고 있습니다. 비어 있지 않은 것이 확실합니까? – Dmitri

+1

나는 현재의 형태의 질문이 답할 수 없다고 생각한다. 단순히 충분한 정보가 없습니다. – NPE

답변

0

는. * 클래스를 실행, 그것은 모든 스레드가 정상처럼 응용 프로그램 서버의 스레드를 "내가 할 수있는 뭔가를 기다리고있어"보인다. 전체 스레드 덤프가 확실합니까? 당신의 테스트가 아마도 실행되었고 완료되었고 컨테이너가 뭔가를 기다리고있는 것처럼 보입니다 ...?

+0

답장을 보내 주셔서 감사합니다. 전체 스레드 덤프를 여기에 붙여 넣을 수는 없습니다. 내 달리기 테스트는 마침내 끝나지 만 끝나기 전에 오랜 기간 동안 활동하지 않았습니다. 테스트는 8 분 동안 실행되고, 마지막 3 분은 평평하게 진행됩니다. 시간이 다가올 때까지 웹 활동을 계속해서 반복해서는 안됩니까? – dale

관련 문제