"Too many open files" wegen ePicLoad

  • "Too many open files" wegen ePicLoad

    Hallo zusammen

    Seit Tagen kämpfe ich schon mit diesem Fehler. Ich habe lokal auf der Dreambox eine Bild-Datei die sich alle 100ms oder schneller aktualisiert. Ich möchte nun diese auf einem Screen anzeigen lassen und so schnell es geht aktualisieren. Dies geschieht mit ePicLoad und läuft eigentlich super. Ich kriege ein flüssiges Bild hin! Bis die Kiste nach 2,5 Minuten abstürzt. GSoD! (Green Screen of Death)

    Fehler:
    ([Failure instance: Traceback (failure with no frames): : [Errno 24] Too many open files: /......'])

    Es scheint so als ob ePicLoad das Bild nach dem Lesen nicht mehr richtig schliesst! Ich habe in der Konsole die Anzahl der offenen Dateien ausgegeben und der Zähler steigt beim Laden der Bilder ins Unermessliche!

    Folgender Code habe ich dafür geschrieben:

    Quellcode

    1. ...
    2. self.setupPicLoader()
    3. self.onLayoutFinish.append(self.layoutFinished)
    4. def setupPicLoader(self):
    5. self.picload = ePicLoad()
    6. self.picload.PictureData.get().append(self.imageLoaded)
    7. sc = AVSwitch().getFramebufferScale()
    8. self.picload.setPara((400, 300, sc[0], sc[1], False, 1, '#00000000'))
    9. def imageLoaded(self, picInfo = None):
    10. ptr = self.picload.getData()
    11. if ptr is not None:
    12. self["img"].instance.setPixmap(ptr.__deref__())
    13. self.picload.startDecode(Settings.TMP_STREAM_NAME + "." + self.imagetype)
    14. def layoutFinished(self):
    15. self.setTitle(self.mainTitle)
    16. if config.plugins.InfoServer.scaleImage.value and self.imagetype.lower() == "jpg":
    17. if self.doRefreshing:
    18. self.picload.startDecode(Settings.TMP_STREAM_NAME + "." + self.imagetype)
    19. ...
    Alles anzeigen



    Ich habe tausende von Plugins untersucht, wie sie die Bilder laden und ich kann leider keinen Unterschied erkennen. Ich habe viel experimentiert, doch schlussendlich hat nichts genützt. Könnte das allenfalls ein Fehler von Enigma sein?

    Gruss
  • Any further news on this bug?
    Is there a work-around in the meantime?

    I am suffering the same problems with the plugin I am writing. I have checked and double checked that all file objects are closed and deleted.

    I can shed a bit more light on the bug:
    I changed the call ePicLoad::getThumbnail() to startDecode instead and the file leak went away. So the problem is in getThumbnail().

    Note: AliAbdul1978's link does not work.

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von shumifan50 ()