프로덕션 환경에서 실행되는 안정적인 웹 기반 단일 스레드/프로세스 perl 응용 프로그램이이 오류를 간헐적으로 던지기 시작했습니다. 과중한 시스템 부하에서만 가능합니다. 근본 원인을 파악할 수는 없습니다.Perl은 다음과 같이 사용합니다 : "사용법 : 전역 파괴 중 DBD :: Pg :: db :: DESTROY (dbh)"
Usage: DBD::Pg::db::DESTROY(dbh) during global destruction
누구든지이 오류에 대한 설명을 제공 할 수 있습니까? Perl이 종료 전에 정리할 때 DESTROY가 인수없이 호출되면 (self?) Pg.sx에서 발생하는 것으로 보입니다. (나는 우리의 버전에서 구글을 통해 이전의 소스 코드에서 해당 메시지를 볼 수 있지만.) 우리의 환경 :
- OS를 : FreeBSD의 8.3-STABLE
- 펄 v5.14.2
- DBD :: 대학원 v2를. 19.3
- PostgreSQL의 : v9.2.3 여기
코드에서 명시 적으로 DESTROY를 호출합니까? AUTOLOAD, 아마도? DBI의 어떤 버전입니까? – pilcrow
@pilcrow - (죄송합니다. 이전에 귀하의 의견을 알리지 못했습니다.) DBI v1.623. 내 코드는 DESTROY를 호출하지 않거나 AUTOLOAD를 사용하지 않습니다. 프로세스가 완료된 것으로 보이고 Perl이 정리 중입니다.예외를 트래핑하는 신호 처리기가 있고 내 코드에서 실행되는 트랩 루틴을 보여주는 작은 스택 추적 (호출자())을 인쇄합니다 (실제 오류를 트랩 할 때 발생 함). – Allen