[BulletProof] mensaje de error bajo OSX

Jesus Cea Avion jcea at argo.es
Wed Jun 25 15:15:32 CEST 2003


> error: uncaptured python exception, closing channel
> <enlace.asyncore2enlace connected at 0x267d20> (socket.error:(60,
> 'Operation timed out') [asyncore|poll|103]
> [asyncore|handle_read_event|414] [enlace|handle_read|20]
> [enlace|handle_read|88] [asyncore|recv|380])
> 108487/17901 585355/585253

¡¡Por fin un "bug report" decente!!.

A ver, aquí hay dos problemas, realmente:

* Estudiando el "traceback" que mandas, se ve que el problema es un
  "timeout" en la llamada "recv". Esa llamada "lee" de un socket, y se
  invoca cuando éste tiene "algo" que decirnos.

  Aparentemente lo que tiene que decirnos es "timeout". Como no se trata
  de un error que intercepte (debería), pues salta una excepción
  y aparece lo que has mostrado.

  Realmente *DEBERÍA* interceptar estos errores y procesarlos de forma
  "silenciosa". Ahora mismo no lo hago porque quiero *VER* cuando hay
  problemas. En la versión "final", en buena lógica, deberían
  interceptarse.

  Este es el primer problema.

* En el caso anterior, cuando hay un problema se cierra el "socket". Es
  decir, se cierra la conexión. En BP realmente hay dos conexiones
  "juntas": una desde el cliente de IRC al BP y otra del BP al servidor
  de IRC. Ambas conexiones deber ir de la mano. Cuando se cierra una,
  debe cerrarse la otra.

  El problema, el segundo, es que esto no ocurre.

  Tras investigar el problema, parece que se trata de un bug en una
  librería estándar de Python. Como ya es el segundo bug que le
  encuentro (el parche anterior era referente a la gestión de
  "connection refused" en Windows) y distribuyo con el programa una
  librería parcheada, pues meto un segundo parche :-).

  El problema es que la librería estándar "asyncore", cuando ocurre
  un error, invoca a "self.close()" en vez de al correcto
  "self.handle_close()".

  Este parche está incluido en la versión 1.145 de BP, que estoy
  probando ahora mismo en mi sistema y que se hará pública la semana
  próxima.

  Bug antiguo:
<https://sourceforge.net/tracker/?func=detail&aid=654766&group_id=5470&atid=105470>

 Bug nuevo:
<https://sourceforge.net/tracker/?func=detail&aid=760475&group_id=5470&atid=105470>

BP requiere una reescritura urgente. Espero cerrar la versión 1.* a
finales de Julio, y empezar con la serie 2.*, que será una reescritura
desde cero. Id haciéndome llegar (a través de la lista) las peticiones
especiales que querais para esa nueva versión.

Fon, si te vuelve a salir el error, dímelo y te paso la versión actual
de BP, en pruebas.

-- 
Jesus Cea Avion                         _/_/      _/_/_/        _/_/_/
jcea at argo.es http://www.argo.es/~jcea/ _/_/    _/_/  _/_/    _/_/  _/_/
                                      _/_/    _/_/          _/_/_/_/_/
PGP Key Available at KeyServ   _/_/  _/_/    _/_/          _/_/  _/_/
"Things are not so easy"      _/_/  _/_/    _/_/  _/_/    _/_/  _/_/
"My name is Dump, Core Dump"   _/_/_/        _/_/_/      _/_/  _/_/
"El amor es poner tu felicidad en la felicidad de otro" - Leibniz




More information about the BulletProof mailing list