Evtl. hält dbus2vdr den Read-Lock auf die Recordings zu lange, das muss ich mir noch mal näher ansehen.
VDR Crash, wenn Abspielen und Stopp einer Aufnahme zu nah bei einander liegen
-
-
Ich hab das Sperren der Aufnahmeliste in dbus2vdr mal an die Variante von SVDRP im vdr angepasst. Falls es im Zusammenspiel mit dbus2vdr noch Probleme gibt, teste doch mal den Branch "playlock".
-
Danke, damit kann man schon mal weitere Aufnahmen abspielen lassen, solange die vorhergehende noch läuft, ohne dass sich der VDR aufhängt. Beim schnellen Wechsel zwischen den Aufnahmen hatte ich dann mit softhdcuvid einen Hänger: dbus2vdr-playlock-hangs-backtrace.txt (vielleicht hat jojo61 da eine Idee), den ich mit softhddevice auf die Schnelle nicht provozieren kann.
Im Log sah das so aus:
Code
Alles anzeigenMai 21 08:53:47 yavdr08 vdr[2675]: [3377] dvbplayer thread ended (pid=2675, tid=3377) Mai 21 08:53:47 yavdr08 vdr[2675]: [3375] [softhddev]SetPlayMode: 0 Mai 21 08:53:47 yavdr08 vdr[2675]: [3375] [softhddev]SetVideoDisplayFormat: 1 Mai 21 08:53:47 yavdr08 vdr[2675]: [3375] [softhddev]GetSpuDecoder: Mai 21 08:53:47 yavdr08 vdr[2675]: [3375] replay /srv/vdr/video/local/tagesschau/2020-04-28.19.58.10-0.rec Mai 21 08:53:47 yavdr08 vdr[2675]: [3375] playing '/srv/vdr/video/local/tagesschau/2020-04-28.19.58.10-0.rec/00001.ts' Mai 21 08:53:47 yavdr08 vdr[2675]: [3375] loading /srv/vdr/video/local/tagesschau/2020-04-28.19.58.10-0.rec/marks Mai 21 08:53:47 yavdr08 vdr[2675]: [3375] [softhddev]SetPlayMode: 1 Mai 21 08:53:47 yavdr08 vdr[2675]: [3382] dvbplayer thread started (pid=2675, tid=3382, prio=high) Mai 21 08:53:47 yavdr08 vdr[2675]: [3382] resuming replay at index 47088 (0:15:41.38) Mai 21 08:53:47 yavdr08 vdr[2675]: [3383] non blocking file reader thread started (pid=2675, tid=3383, prio=high) Mai 21 08:53:47 yavdr08 vdr[2675]: GetFormat Init ok 1920x1080 Mai 21 08:53:47 yavdr08 vdr[2675]: video: crop to +0+0 1920x1080 Mai 21 08:53:47 yavdr08 vdr[2675]: video: normal aspect output 1920x1080+0+0 Mai 21 08:53:48 yavdr08 vdr[2675]: [3383] non blocking file reader thread ended (pid=2675, tid=3383) Mai 21 08:53:48 yavdr08 vdr[2675]: [3382] dvbplayer thread ended (pid=2675, tid=3382) Mai 21 08:53:48 yavdr08 vdr[2675]: [3380] [softhddev]SetPlayMode: 0 Mai 21 08:53:48 yavdr08 vdr[2675]: [3380] [softhddev]SetVideoDisplayFormat: 1 Mai 21 08:53:48 yavdr08 vdr[2675]: [3380] [softhddev]GetSpuDecoder: Mai 21 08:53:48 yavdr08 vdr[2675]: [3380] replay /srv/vdr/video/local/Wetter_für_3/2020-04-26.18.48.5-0.rec Mai 21 08:53:48 yavdr08 vdr[2675]: [3380] playing '/srv/vdr/video/local/Wetter_für_3/2020-04-26.18.48.5-0.rec/00001.ts' Mai 21 08:53:48 yavdr08 vdr[2675]: [3380] [softhddev]SetPlayMode: 1 Mai 21 08:53:48 yavdr08 vdr[2675]: [3386] dvbplayer thread started (pid=2675, tid=3386, prio=high) Mai 21 08:53:48 yavdr08 vdr[2675]: [3388] non blocking file reader thread started (pid=2675, tid=3388, prio=high) Mai 21 08:53:48 yavdr08 vdr[2675]: GetFormat Init ok 1920x1080 Mai 21 08:53:48 yavdr08 vdr[2675]: video: crop to +0+0 1920x1080 Mai 21 08:53:48 yavdr08 vdr[2675]: video: normal aspect output 1920x1080+0+0 Mai 21 08:53:49 yavdr08 vdr[2675]: [3388] non blocking file reader thread ended (pid=2675, tid=3388) Mai 21 08:53:49 yavdr08 vdr[2675]: [3386] dvbplayer thread ended (pid=2675, tid=3386) Mai 21 08:53:49 yavdr08 vdr[2675]: [3380] [softhddev]SetPlayMode: 0 Mai 21 08:53:49 yavdr08 vdr[2675]: [3380] [softhddev]SetVideoDisplayFormat: 1 Mai 21 08:53:49 yavdr08 vdr[2675]: [3380] [softhddev]GetSpuDecoder: Mai 21 08:53:49 yavdr08 vdr[2675]: [3380] replay /srv/vdr/video/local/Covid-19_Spezial_vom_27.4.2020/2020-04-28.15.43.10-0.rec Mai 21 08:53:49 yavdr08 vdr[2675]: [3380] playing '/srv/vdr/video/local/Covid-19_Spezial_vom_27.4.2020/2020-04-28.15.43.10-0.rec/00001.ts' Mai 21 08:53:49 yavdr08 vdr[2675]: [3380] loading /srv/vdr/video/local/Covid-19_Spezial_vom_27.4.2020/2020-04-28.15.43.10-0.rec/marks Mai 21 08:53:49 yavdr08 vdr[2675]: [3380] [softhddev]SetPlayMode: 1 Mai 21 08:53:49 yavdr08 vdr[2675]: [3391] dvbplayer thread started (pid=2675, tid=3391, prio=high) Mai 21 08:53:49 yavdr08 vdr[2675]: [3391] resuming replay at index 13384 (0:04:27.34) Mai 21 08:53:49 yavdr08 vdr[2675]: [3392] non blocking file reader thread started (pid=2675, tid=3392, prio=high) Mai 21 08:53:49 yavdr08 vdr[2675]: GetFormat Init ok 1920x1080 Mai 21 08:53:49 yavdr08 vdr[2675]: video: crop to +0+0 1920x1080 Mai 21 08:53:49 yavdr08 vdr[2675]: video: normal aspect output 1920x1080+0+0 Mai 21 08:53:51 yavdr08 vdr[2675]: [2690] VNSI: Requesting clients to reload recordings list (6) Mai 21 08:53:54 yavdr08 vdr[2675]: [2675] [softhddev]CreateOsd: left 0, top 792, level 0, using OpenGL OSD support Mai 21 08:53:54 yavdr08 vdr[2675]: [2675] [softhddev]Trying to start OpenGL Worker Thread Mai 21 08:53:54 yavdr08 vdr[2675]: [3419] oglThread thread started (pid=2675, tid=3419, prio=high) Mai 21 08:53:54 yavdr08 vdr[2675]: [3419] [softhddev]OpenGL using display :0 Mai 21 08:53:55 yavdr08 vdr[2675]: [3419] [softhddev]OpenGL Context initialized Mai 21 08:53:55 yavdr08 vdr[2675]: [3419] [softhddev]Shaders initialized Mai 21 08:53:55 yavdr08 vdr[2675]: [3419] [softhddev]vdpau interop initialized Mai 21 08:53:55 yavdr08 vdr[2675]: [3419] [softhddev]Vertex buffers initialized Mai 21 08:53:55 yavdr08 vdr[2675]: [3419] [softhddev]Maximum Pixmap size: 32768x32768px Mai 21 08:53:55 yavdr08 vdr[2675]: [2675] [softhddev]OpenGL Worker Thread successfully started Mai 21 08:53:55 yavdr08 vdr[2675]: [2675] [softhddev]cOglOsd osdLeft 0 osdTop 792 screenWidth 1920 screenHeight 1080 Mai 21 08:53:57 yavdr08 vdr[2675]: [2675] [softhddev]CreateOsd: left 0, top 792, level 0, using OpenGL OSD support Mai 21 08:53:57 yavdr08 vdr[2675]: [2675] [softhddev]cOglOsd osdLeft 0 osdTop 792 screenWidth 1920 screenHeight 1080 Mai 21 08:53:58 yavdr08 vdr[2675]: [2675] [softhddev]CreateOsd: left 0, top 792, level 0, using OpenGL OSD support Mai 21 08:53:58 yavdr08 vdr[2675]: [2675] [softhddev]cOglOsd osdLeft 0 osdTop 792 screenWidth 1920 screenHeight 1080 Mai 21 08:54:00 yavdr08 vdr[2675]: [2675] [softhddev]CreateOsd: left 0, top 792, level 0, using OpenGL OSD support Mai 21 08:54:00 yavdr08 vdr[2675]: [2675] [softhddev]cOglOsd osdLeft 0 osdTop 792 screenWidth 1920 screenHeight 1080 Mai 21 08:54:14 yavdr08 vdr[2675]: [2675] [softhddev]CreateOsd: left 0, top 792, level 0, using OpenGL OSD support Mai 21 08:54:14 yavdr08 vdr[2675]: [2675] [softhddev]cOglOsd osdLeft 0 osdTop 792 screenWidth 1920 screenHeight 1080
-
Schön, dass ich den Staffelstab weitergeben konnte...
Mit deinem Stresstest wirst du sicherlich noch Lock-Bugs in anderen Plugins finden...
-
Mit deinem Stresstest wirst du sicherlich noch Lock-Bugs in anderen Plugins finden...
Das war jetzt noch nicht mal der Stresstest, sondern nur ein bisschen Herumgeklicke in meiner Recordings-Komponente für das experimentelle yaVDR-Webfrontend - mir ging es jetzt erst mal nur darum, ob das zuverlässig genug funktioniert, dass ich die nächste Baustelle angehen kann.
Ich bin noch nicht dazu gekommen den letzten Patch für den VDR in ein PPA einzubauen und ohne die neue Möglichkeit sich ein cControl mit einem MutexLock zu holen, hat dbus2vdr da vermutlich die gleichen Probleme wie der ungepatchte VDR 2.4.1 wenn man über SVDRP geht.
-
dbus2vdr hat die betroffene Funktion nicht benutzt. Es hat aber den ReadLock auf die Recordings gehalten, als es cControl::Shutdown aufgerufen hat. SVDRP gibt davor explizit den Lock frei, weil das wohl so sein muss laut Kommentar. Das macht dbus2vdr jetzt auch.
Mit vdr 2.4.2 und neuem dbus2vdr sollte es an der Stelle hoffentlich keine Probleme mehr geben. Aber das Augabeplugin kann natürlich auch noch ein verstecktes Problem haben.
Jetzt mitmachen!
Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!