2012-10-28 4 views
0

누군가가 이메일을 보내려고 할 때/var/log/exim_mainlog에 이상한 오류가 나타납니다. 문제는 해결할 수 없기 때문에 여기에서 시도해 보겠습니다. exim_greylist_sqlite에서에 문제가있는 경우 exim greylist on cpanel

2012-10-29 00:35:54 DBD::SQLite::db prepare failed: database is locked at /etc/exim_greylist_sqlite.pl line 1013, <HAN1> line 66. 
2012-10-29 00:35:54 H=valid_hostname [valid_ip]:5555 F=<[email protected]> temporarily rejected RCPT <[email protected]>: failed to expand ACL string "${perl{greylist}}": Can't call method "execute" on an undefined value at /etc/exim_greylist_sqlite.pl line 1014, <HAN1> line 66. 
2012-10-29 00:35:54 SMTP connection from valid_hostname [valid_ip]:5555 closed by QUIT 

일부 라인 : 심지어 시작하고이 문제를 해결하는 곳에서 모르는

1012  my $query = "select strftime('%s', block_expires, 'utc')-strftime('%s','now') from relaytofrom where rcpt_to='$lp' and mail_from='$sender_addr'"; 

1013  $sth = $isp->prepare($query) || print FILE "$query\n"; 
1014  $sth->execute || print FILE "$query\n"; 
1015  my @status_array = $sth->fetchrow_array; 
1016  $sth->finish; 

. 내가의 cPanel 포럼에서 검색을 시도, 다양한 방법으로하지만 결과 :(

답변

0

이 귀하의 경우에 적용되는 것과 구글을 사용하여 시도 :

Why does SQLite give a "database is locked" for a second query in a transaction when using Perl's DBD::SQLite?

How can I UPDATE rows returned by a SELECT in a loop?

그것은 하나 개의 프로세스처럼 들린다 다른 일부 프로세스가 데이터를 업데이트하려고 시도하는 동안 SELECT의 중간에 있습니다. 그 sqlite 데이터베이스에 액세스하고있는 다른 항목을 찾아서 잠근 상태입니다. 첫 번째 줄 이후의 모든 항목은 근본 원인에서 뒤로 날아 라. 테이블 잠금 경합.