RaspberryPi Fehler: libc.so.6: Error 24

OP #3295055
Lesenswert?

Hallo!

Ich habe momentan ein Problem mit meinem Raspberry, an dem ich 
mittlerweile schon 4 Tage ohne Erfolg arbeite.

Ich führe eine Temperaturmessung mit 6 Sensoren durch(Adafruit Max31855 
BreakoutBoard).
Diese Werte gebe ich auf einem LCD-Display aus und speichere sie in 
einer .csv-Datei.

In den ersten paar Minuten des Programmablaufs funktioniert alles 
prächtig, doch nach ca. 3-4 Minuten bekomme ich eine Fehlermeldung am 
Terminal.
"
sh: error while loading shared libraries: libc.so.6: cannot open shared 
object file: Error 24
"

Google konnte mir hier auch nicht weiterhelfen...

Danke im Voraus!
OP #3295149
Lesenswert?

"Too many open files" hab ich auch gefunden.
Nur weiß ich nicht, wie genau ich das verstehen soll...

Mein Programm arbeitet folgendermaßen:
Ich kommuniziere mit meinen Sensoren über SPI.
Da das Raspberry nur 2 Chip-Select-Pins hat, verwende ich eine 
Logikschaltung, bei der ich mit Chip-Select und einzelnen Port-Pins die 
Sensoren auswähle.
In dem Thread, in dem ich die Messung durchführe, schalte ich zunächst 
alle Sensoren bzw. alle Select-Pins aus und anschließend den einen 
benötigten ein.
So wird der Wert übertragen, welcher dann in einem anderen Thread in 
eine .csv-Datei gespeichert wird.

Meine Frage nun: Welche Files öffne ich denn, dass ich zu viele hätte?
OP #3295255
Lesenswert?

Mein Source-Code sieht so aus:

def writeFile():
    global Intervall
    num = 0

    fileTemp = open('TempFile.csv','wb')
    writerTemp = csv.writer(fileTemp, delimeter='\t', quotechar='"',
                                                  quoting=csv.QUOTE_ALL)
    writerTemp.writerow(["Nummer", "Header","..."])

    try:
       while(1):
          num = num+1
          writerTemp.writerow([num, "Temperatur1","..."])
          sleep(Intervall)
    except:
       fileTemp.close()
       return
    finally:
        fileTemp.close()
OP #3295736
Lesenswert?

Mein Fehler ist nun etwas konkreter geworden.
Anscheinend liegt es nicht an der .csv-Datei, sondern an meinem
SPI-Interface.
Ich bekomme die Fehlermeldung:
"
File 
"/usr/local/lib/python2.7/dist-packages/quick2wire_api-0.0.0.3-py2.7.egg 
/quick2wire/spi.py",  line 40, in _init_
OSError: [Errno 24] Too many open files: '/dev/spidev0.0'
"

Ich habe schon versucht, spidev0.0 während des Programmablaufs 
zurückzusetzen - jedoch ohne Erfolg.

Irgendwelche Ideen, wie ich dieses Problem lösen könnte?

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren