2014-09-05 3 views
1

프로덕션 서버에 문제가 있습니다. groovy/grails 응용 프로그램이며 많은 cron을 실행하기 위해 석영을 사용하고 있습니다.크래시 덤프가 없으면 JVM이 충돌하고 크래시 보고서는 무시됩니다.

활성화되었을 때 JVM을 크래시하는 cron이 하나 있습니다. 나는 이유를 모른다. 크래시 덤프 또는 로그를 찾을 수 없습니다.

JVM이 오류보고에 대해 apport을 호출하고 있지만 apport이이를 무시하고있는 것으로 나타났습니다. 나는 apport/var/crash 디렉토리 안에 something.crash 파일을 생성하지만 자바 크래시를 생성하지 않는다는 것을 알았다.

여기는 apport.log의 로그입니다.

ERROR: apport (pid 2150) Fri Sep 5 05:29:31 2014: called for pid 2100, signal 11 
ERROR: apport (pid 2150) Fri Sep 5 05:29:31 2014: executable: /usr/local/java/bin/java (command line "/usr/local/java/bin/java -Djava.util.logging.config.file=/usr/local/tomcat/conf/logging.properties -Djvmarg=-Xms1024m -Xmx4096m -XX:PermSize=128m -XX:MaxPermSize=1024m -XX:+PrintGCDetails -XX:+PrintGCDateStamps -XX:+PrintTenuringDistribution -Xloggc:/usr/local/tomcat/logs/gc.log -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager -Djava.endorsed.dirs=/usr/local/tomcat/endorsed -classpath /usr/local/tomcat/bin/bootstrap.jar -Dcatalina.base=/usr/local/tomcat -Dcatalina.home=/usr/local/tomcat -Djava.io.tmpdir=/usr/local/tomcat/temp org.apache.catalina.startup.Bootstrap start") 
ERROR: apport (pid 2150) Fri Sep 5 05:29:31 2014: executable does not belong to a package, ignoring 

나는 단지의 repo 또는 자바가이 apport을보고 대신 크래시 덤프를 생성 할 수있는 다른 방법에서 설치 패키지와 함께 작동 읽고, 어떻게 apport에 대한 크래시 덤프를 활성화하는 날을 제안하십시오.

추가 정보가 필요하면 알려주세요. 미리 감사드립니다.

답변

0

모든 스레드의 스택을 덤프하기 위해 종료 훅을 추가 할 수 있습니다. 이렇게하면 System.exit() 호출을 한 번 추적하는 데 도움이되었습니다. this 질문을 살펴보십시오.

+1

감사합니다. 나는 shutDown hook이 호출되는 것이 아니라, JVM이 아니라 충돌하는 Tomcat이라고 생각한다. – bitkot