Quantcast
Aktuelles
Digital Eliteboard - Das Digitale Technik Forum

Registriere dich noch heute kostenlos, um Mitglied zu werden! Sobald du angemeldet bist, kannst du auf unserer Seite aktiv teilnehmen, indem du deine eigenen Themen und Beiträge erstellst und dich über deinen eigenen Posteingang mit anderen Mitgliedern unterhalten kannst! Zudem bekommst du Zutritt zu Bereichen, welche für Gäste verwehrt bleiben

Registriere dich noch heute kostenlos, um Mitglied zu werden! Sobald du angemeldet bist, kannst du auf unserer Seite aktiv teilnehmen, indem du deine eigenen Themen und Beiträge erstellst und dich über deinen eigenen Posteingang mit anderen Mitgliedern unterhalten kannst! Zudem bekommst du Zutritt zu Bereichen, welche für Gäste verwehrt bleiben

OSCam FATAL ERROR gibt Rätsel auf

Lars_

Ist oft hier
Registriert
14. Januar 2013
Beiträge
121
Reaktionspunkte
30
Punkte
48
Hallo,

mein selbst kompiliertes OSCam lief eigentlich super die ganze Zeit auf einer DM800se, vor ein paar Tagen dann aber aus heiterem Himmel plötzlich ein dicker Hänger. Mein Log wurde zugebombt mit diesen Einträgen (über 100.000 Zeilen an einem halben Tag) und OSCam war währenddessen extrem langsam (hat aber noch teilweise funktioniert). Ich habe die Box neu gebootet und es war danach wieder in Ordnung. Ich wollte Euch nur mal fragen, ob einer von Euch das schon mal gesehen hat? Jemand einen Tipp? Okay, ich könnte man wieder eine neue Version kompilieren, aber wär trotzdem schön zu wissen was das soll:

2019/02/04 09:53:50 00000000 (lock) FATAL ERROR: pthread_mutex_lock() failed in cs_rwlock_int (called from garbage_collector) with error 22 Invalid argument
2019/02/04 09:53:50 00000000 (lock) FATAL ERROR: pthread_mutex_unlock() failed in cs_rwlock_int (called from garbage_collector) with error 22 Invalid argument
2019/02/04 09:53:50 00000000 (lock) FATAL ERROR: pthread_mutex_lock() failed in cs_rwunlock_int (called from garbage_collector) with error 22 Invalid argument
2019/02/04 09:53:50 00000000 (lock) FATAL ERROR: pthread_mutex_unlock() failed in cs_rwunlock_int (called from garbage_collector) with error 22 Invalid argument
2019/02/04 09:53:51 00000000 (lock) FATAL ERROR: pthread_mutex_lock() failed in cs_rwlock_int (called from garbage_collector) with error 22 Invalid argument
2019/02/04 09:53:51 00000000 (lock) FATAL ERROR: pthread_mutex_unlock() failed in cs_rwlock_int (called from garbage_collector) with error 22 Invalid argument
...

Wobei ganz okay ist es nicht - seit dem Vorfall (genau genommen seit dem Neustart) wird mein Log nicht mehr protokolliert, obwohl es eigentlich sollte:

[global]
logfile = /media/hdd/var/log/oscam/OScam.log
unlockparental = 1
nice = -1
maxlogsize = 262144
preferlocalcards = 0
emmlogdir = /media/hdd/var/log/emm

/media/hdd/ ist eine Samsung 256 GB SSD, der Zugriff funktioniert ohne Probleme.

Ich benutze folgende Version:
  • OSCam: 1.20-unstable_svn Build: r11385 Compiler: mipsel-unknown-linux-gnu-ssl
 
Zuletzt bearbeitet:
Die Box ist mein kleiner Server und ich hatte die SSD vor allem eingebaut, um viel Platz für Logfiles zu haben. Fand 256 MB jetzt nicht so riesengroß... aber wenn das Problem eindeutig deswegen auftritt reduziere ich die Größe. Toll wäre eigentlich ein Script, das immer wenn ein Logfile, z.B. 1024 KB voll ist, dieses kopiert und unter anderem Dateinamen in einem Ordner ablegt.
 
wenn der log die speichergrösse erreicht hat, wird der doch am speicherort mit der
endung " prev " abgespeichert und ein neues log file gestartet, bei 256 mb grösse
reicht das gefühlt für 10 jahre.
 
Zuletzt bearbeitet:
Welche Einträge in den Logfiles willst du denn aufheben und wofür?

Das Logfile ist i.d.R. dafür gedacht, um Fehlverhalten auf den Grund zu gehen.
Wie oben bereits erwähnt, wird nach erreichen der maxlogsize das logfile nach *.prev umbenannt und ein neues Logfile eröffnet.
So kann man aufgrund von Fehlverhalten und Logfile swap noch immer in die *.prev schauen und dort evtl. Probleme zu erkennen.
Das reicht eig. aus.
 
Zuletzt bearbeitet:
bei 256 mb grösse reicht das gefühlt für 10 jahre.
Naja, bei >10 Clientboxen, die rund um die Uhr laufen und ständig zappen kommt da einiges zusammen... Freunde von mir haben teilweise 4-5 Boxen in einem Haushalt.

Welche Einträge in den Logfiles willst du denn aufheben und wofür?
Vor allem zum Aufspüren von Timeouts z.B. im letzten Monat oder so, die Mini-Logfiles um ein MB herum reichen da mit Sicherheit nicht. Leider ist nicht so ganz klar wo die "Schmerzgrenze" ist, also ab welcher Logfilegröße OSCam instabil wird.
 
Die statistischen Werte kannst du ja in oscam beim Reader erkennen. Bei timeouts gibt es häufig mehrere Fehlermöglichkeiten, die oft im Logfile gar nicht direkt zu erkennen sind.
D.h. auch wenn das Logfile vorliegt bedeutet das nicht, dass der Fehler schon gefunden ist. In einigen Fällen ist noch ein entsprechender debug level zu setzen usw.

Egal, die Logfunktion in oscam ist auf jeden Fall nicht zur Langzeitanalyse von Vorkommnissen der letzten Monate gedacht.

Ich würde den Wert von maxlogsize nicht über 1024 setzen. Auch wenn genug Speicherplatz da sein sollte, ist bei höheren Werten ein gesichertes Fortschreiben des Logfiles nicht gewährleistet.
Das kannst du ja auch selbst testen, ab wann es bei dir Probleme gibt.

Ansonsten kannst du dir ein kleines Script schreiben, das prüft, ob eine *.prev Datei im Logverzeichnis vorkommt und dort einfach den aktuellen timespamp <DATUM><UHRZEIT> anhängen.
Das Script sollte auch dafür sorgen, dass der Speicher nicht unkontrolliert vollgeschrieben wird.
Du kannst natürlich auch die Logfunktion in oscam selbst so erweitern, dass entsprechend viele Logdateien angelegt werden.
 
Zuletzt bearbeitet:
Zurück
Oben