Ticket #582 (closed defeito: fixed)

Opened 15 years ago

Last modified 14 years ago

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

Replying to niltonneto:

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

Errata: Porta 2000 e não 200.

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:6 in reply to: ↑ 5 ; follow-up: ↓ 7 Changed 15 years ago by 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?)?

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].

comment:8 Changed 15 years ago by niltonneto

  • Milestone changed from Expresso Mail 1.235 to Expresso 2.0

comment:9 Changed 14 years ago by amuller

relacionado #1054

Note: See TracTickets for help on using tickets.