Ticket #582 (closed defeito: fixed)
Problema de loop infinito na class Sieve.
Reported by: | niltonneto | Owned by: | niltonneto |
---|---|---|---|
Priority: | grave | Milestone: | Expresso 2.0 |
Component: | ExpressoMail | Version: | trunk |
Severity: | Keywords: | ||
Cc: | WorkGroup: |
Description
O erro abaixo é ocasionado quando não há objeto socket válido, referente à conexão o serviço Sieve (porta 200) do Cyrus. O enlace "while" vira um loop infinito, gerando erro até estourar o log, além de ocasionar falta de mémoria (exhausted memory)....
[16-Jul-2009 14:43:10] PHP Warning: feof(): 3 is not a valid stream resource in /var/www/expresso/expressoMail1_2/inc/class.SieveS.inc.php on line 153 [16-Jul-2009 14:43:10] PHP Warning: fread(): 3 is not a valid stream resource in /var/www/expresso/expressoMail1_2/inc/class.SieveS.inc.php on line 154 [16-Jul-2009 14:43:10] PHP Warning: socket_get_status(): 3 is not a valid stream resource in /var/www/expresso/expressoMail1_2/inc/class.SieveS.inc.php on line 156 [16-Jul-2009 14:43:10] PHP Warning: feof(): 3 is not a valid stream resource in /var/www/expresso/expressoMail1_2/inc/class.SieveS.inc.php on line 153 [16-Jul-2009 14:43:10] PHP Warning: fread(): 3 is not a valid stream resource in /var/www/expresso/expressoMail1_2/inc/class.SieveS.inc.php on line 154 [16-Jul-2009 14:43:10] PHP Warning: socket_get_status(): 3 is not a valid stream resource in /var/www/expresso/expressoMail1_2/inc/class.SieveS.inc.php
Change History
comment:1 in reply to: ↑ description Changed 15 years ago by niltonneto
comment:2 Changed 15 years ago by niltonneto
- Status changed from new to closed
- Resolution set to fixed
Corrigido em [1146]
comment:3 follow-up: ↓ 4 Changed 15 years ago by rodsouza
A verificação não é efetiva, por mais que a mesma funcione a contento.
A melhor verificação seria com a função 'is_resource' que possui a seguinte sintax 'bool is_resource ( mixed $var )'.
comment:4 in reply to: ↑ 3 Changed 15 years ago by niltonneto
Replying to rodsouza:
A verificação não é efetiva, por mais que a mesma funcione a contento.
A melhor verificação seria com a função 'is_resource' que possui a seguinte sintax 'bool is_resource ( mixed $var )'.
Se puder corrigir, agradeço. Obrigado.
comment:5 follow-up: ↓ 6 Changed 15 years ago by rodsouza
Foi alterada a forma de verificar se a variável é um soquete válido.
Committed revision r1149.
comment:7 in reply to: ↑ 6 Changed 15 years ago by niltonneto
Replying to wmerlotto:
Replying to rodsouza:
Foi alterada a forma de verificar se a variável é um soquete válido.
Committed revision r1149.
Essa alteração do trunk deve ser replicada também para o branch-2.0, com um outro commit ou há alguma forma mais "elegante" de fazer isso pelo svn (merge?)?
Se há outra forma de replicar não sei. Por enquanto farei isso. Replicado em branch-2.0, na revisão [1150].
Replying to niltonneto:
Errata: Porta 2000 e não 200.