Error "Bad file descriptor"

Buenas!! Consulta: En cada ocasión que hay un print en el método actualizar de un actor luego de unos segundos se produce el siguiente error:

Pregunta: ¿Hay forma de evitar el error y usar los print’s que se quieran? ¿Es esto el método correcto de debug en pantalla, hay algún método de log a archivo?

Desde ya mil gracias!

Uh, que raro ese mensaje… ¿tenes un ejemplo de código que lo produzca?, así pruebo bien en otro equipo.

Nunca vi ese error… :confused:

Por ejemplo:

class Tipito(pilasengine.actores.Actor):
    def actualizar(self):
        print("En algún momento da error...")

pilas.actores.vincular(Tipito)
pilas.actores.Tipito

Buenas, @jetspydragon !
EDITADO DESPUES DE HACER UNAS PEQUEÑAS PRUEBAS:

Una consideración a tener en cuenta es que el método actualizar se “actualiza” 60 veces por segundo, lo que no creo que haga aconsejable poner un print sin ninguna condición if.

Parece ser que el error se da al cabo de un segundo aproximadamente de iniciar el programa.

En cambio este ejemplo funciona bien sin dar error:

# coding: utf-8
import pilasengine

pilas = pilasengine.iniciar()

class Tipito(pilasengine.actores.Actor):
    def iniciar(self):
        self.imagen='aceituna.png'
        self.contador = 1
    
    def actualizar(self):
        if self.contador <10:
            print("En algún momento da error...")
            self.contador += 1
            
pilas.actores.vincular(Tipito)
miactor=pilas.actores.Tipito()

pilas.ejecutar()

Haciendo unas pequeñas pruebas, en mi pc el error se da cuando la condicion if es superior a 63

if self.contador <64:

El por que en 63 no da error y en cambio en 64 si, es para mi un misterio… :cold_sweat:

Esperemos que @hugoruscitti pueda ampliarnos la informacion ! :smile:

Saludos! :wink:

Mmmm… no estoy seguro de por qué puede ocurrir, tal vez son muchos mensajes sobre el intérprete y eso haga que se sature algo interno de qt o el widget que armamos para la consola (lanas). Lo voy a investigar.

Mientras tanto, creo que lo más seguro es usar el actor Texto o armar algún otro actor especial para imprimir mensajes no?

Si, lo que sucede es que teniendo la consola es cómo mandar mensajes ahí de depuración. Obviamente el texto que te pasé no tiene ningún sentido, pero sí lo tiene en otros casos más complejos. Prepararé un actor especial entonces.
Gracias!!

El ejemplo era solo para que se pueda reproducir el error, los demás detalles los dejé a consideración de @hugoruscitti que seguramente puede sortear cualquier inconveniente.

Igualmente es válida tu aclaración para otra persona que pueda seguir el thread y se va informando. Gracias.