[1] 2 >>> Archiv / MLD 4.x / Raspberry PI / Kodi-Zombie nach Beenden von Kodi nach Anschauen von YouTube-Video
 

Offline LarsX

  • Adv. Member
  • ***
  • Posts: 128
    • View Profile
Folgenden reproduzierbaren Fehler beobachte ich. Vorweg: Ich bin nicht sicher, ob es ein RPI-spezifisches Problem ist. Dennoch poste ich es mal hier, weil MLD/VDR bei mir auf einem Raspi 2 läuft. Darüber hinaus mag es sein, dass ich das Problem genauso gut in einem Kodi-Forum posten könnte. Sei's drum:

Starte ich aus MLD/VDR heraus die Kodi-App und beende Kodi, erscheint, wie erwartet, wieder der VDR und alles ist gut.

Starte ich aus MLD/VDR heraus die Kodi-App, starte in Kodi YouTube und lasse einen Film laufen und beende Kodi wieder, erscheint ein schwarzer Bildschirm.

In der SSH-Konsole sehe ich (ps | grep kodi), dass ein Kodi-Zombie (kodi.bin) im Hintergrund weiterlebt. Dieser Zombie existiert nicht, wenn ich kein YouTube-Video zuvor angeschaut hatte. Beende ich diesen einen Prozess regulär mit kill (kill -9 ist gar nicht nötig), so erwacht der VDR sofort wieder zum Leben und das Fernsehprogramm wird sichtbar.

Schaue ich keinen YouTube-Film, entsteht das beschriebene Problem erst gar nicht.

Sollte dies ein Kodi-Problem sein, können die MLD-Entwickler wohl nicht viel ausrichten, befürchte ich.  :(
Was womöglich dennoch geht: Kann man nicht die PID der kodi.bin beim Beenden von Kodi und/oder Restart von VDR mit kill beenden?

Nachtrag:

Eben habe ich mir das noch einmal angeschaut. Im Prinzip genügt es, nach Abschluss der Kodi-Session ein

Code: [Select]
runkodi -k

laufen zu lassen. Ich wollte es einmal ausprobieren, wusste aber nicht, wo genau ich den Befehl anzubringen hätte, sodass er nach dem Beenden von Kodi läuft. Tippe ich ihn in der Shell ein, klappt es gut und der VDR schnurrt im Anschluss wieder munter vor sich hin.
« Last Edit: March 23, 2015, 23:25:07 by LarsX »

Offline clausmuus

  • Administrator
  • Expert Member
  • ********
  • Posts: 20163
    • View Profile
    • ClausMuus.de
Das Problem dabei ist, das Kidi ja nicht beendet wird, und somit kein Script darüber informiert wird, dass kodi beendet werden soll. Somit lässt sich scriptseitig nichts machen.
Übrigens kann die kodi.bin wohl kein Zombie sein (in der ps liste mit Z gekennzeichnet), da Zombies ja die Eigenheit haben, das man sie nicht töten kann, weil die ja bereits tot sind. Nen kill kat auf nen Zombie also keine Auswirkung.
Ich kenne es aber auch von meinen Versuchen mit xbmc, das sich xbmc (auf dem RPI) nicht beenden ließ, wenn es aus dem VDR OSD heraus gestartet wurde. Du könntest mal ausprobieren, ob der Fehler (das die kodi.bin weiter läuft) auch auftritt, wenn Du kodi auf der Komandozeile gestartet hast. Zuvor solltest Du den VDR mit "runvdr -k" stoppen.

Claus
MLD 5.5 - Raspberry PI - 7" Touch TFT - Squeeze Play
MLD 5.5 - lirc yaUsbIR - OctopusNet - XFX GeForce 9300 mit Intel E3200 - 2GB RAM - 12TB HDD - Lian Li PC-C37B - Samsung LE40A559

Offline MarMic

  • Administrator
  • Expert Member
  • ********
  • Posts: 4822
    • View Profile
@claus,

hatten wir nicht mal mit x86/x64 versionen ein ähnliches Problem? ich meine hierbei, dass wenn KODI/XBMC über das OSD eingeschaltet wurde Aufnahmen zu einem segfault geführt haben.

du hattest es dann mit einem anderen aufruf gelöst.

und was macht ein osd aufruf auf ein script, dass ein anderes startscript aufruft?

greetz MarMic
SZVDR HD: Intel e5300@1,2ghz - Gigabyte GA-EP41-UD3L - 2GB ddr2 800 - Gainward G210 512mb - Silverstone LC16MR - DVBSky S952 - Astra 19,2 - MLD 5.4

WZVDR HD: Intel g1610@1,6ghz - Intel DH61BE - Scythe Big Shuriken 2 - 4GB ddr3 1333 - Asus GT610 1024mb - Chieftec Hi-Fi HM-02 - Tevii s480 - Astra 19,2 - MLD 5.4


Offline LarsX

  • Adv. Member
  • ***
  • Posts: 128
    • View Profile
Du könntest mal ausprobieren, ob der Fehler (das die kodi.bin weiter läuft) auch auftritt, wenn Du kodi auf der Komandozeile gestartet hast. Zuvor solltest Du den VDR mit "runvdr -k" stoppen.

Macht keinen Unterschied. Ich habe Kodi per Aufruf von "kodi", per Aufruf von "runkodi" und per Aufruf von "startapp runkodi" aufgerufen - immer mit demselben Ergebnis:

Klicke ich mich nur ein wenig durchs Kodi-Menü und schließe Kodi dann wieder, beendet sich Kodi problemlos und der VDR zeigt das Fernsehprogramm. Schaue ich aber mit Kodis YouTube-Addon einen Film und schließe Kodi anschließend, beendet es sich nicht richtig, sodass ich erst zur Keule "runkodi -k" greifen muss, um wieder fernsehen zu können.

P.S.: Danke für die kleine Randbemerkung zu den "Zombies", die mir aufzeigen sollte, dass per Definition der Begriff hier unpassend ist. ;)

Offline clausmuus

  • Administrator
  • Expert Member
  • ********
  • Posts: 20163
    • View Profile
    • ClausMuus.de
Hi LarsX,

in dem Fall solltest Du mal im kodi Forum nachfragen ob das nen allgemeinen oder bekanntes Problem ist.

@MarMic,

da siehst Du mal wieder wie aufgeschmissen ich bin, wenn Du nicht das Merken aller unwichtigen Dinge übernimmst :)
Ja, Du hast Recht, da hatte ich was am Aufruf geändert, damit es keine Probleme beim Aufruf aus dem OSD heraus mehr gibt. Das funktioniert auch. In diesem Fall liegt es nicht am Start aus dem OSD heraus.
Beim Aufruf aus dem OSD heraus wird die VDR Ausgabe angehalten, dann gewartet bis das neue Programm beendet wurde, und anschließend die VDR Ausgabe wieder reaktiviert. Beim RPI wird derzeit noch der ganze VDR angehalten, was ich aber demnächst mit Hilfe des Suspend Plugins ändern werde.

Claus
MLD 5.5 - Raspberry PI - 7" Touch TFT - Squeeze Play
MLD 5.5 - lirc yaUsbIR - OctopusNet - XFX GeForce 9300 mit Intel E3200 - 2GB RAM - 12TB HDD - Lian Li PC-C37B - Samsung LE40A559

Offline clausmuus

  • Administrator
  • Expert Member
  • ********
  • Posts: 20163
    • View Profile
    • ClausMuus.de
Ich hab's nun geändert. Beim starten von kodi wird der VDR per suspendoutput Plugin ruhig gestellt. Damit das funktionieren kann, muss neben nem Update das suspendoutput Plugin installiert werden. Getestet habe ich das noch nicht.

Claus
MLD 5.5 - Raspberry PI - 7" Touch TFT - Squeeze Play
MLD 5.5 - lirc yaUsbIR - OctopusNet - XFX GeForce 9300 mit Intel E3200 - 2GB RAM - 12TB HDD - Lian Li PC-C37B - Samsung LE40A559

Offline LarsX

  • Adv. Member
  • ***
  • Posts: 128
    • View Profile
Ist das Kodi-Paket schon aktualisiert? Eben wollte ich's mal testen, ein Kodi-Update wurde mir aber nicht angeboten, weder über opkg noch übers Webinterface. Hab Kodi dennoch mal de- und reinstalliert und das suspendoutput-Plugin nachinstalliert. Nach wie vor besteht das oben diskutierte Problem.

Offline clausmuus

  • Administrator
  • Expert Member
  • ********
  • Posts: 20163
    • View Profile
    • ClausMuus.de
Ne, dafür muss nicht Kofi sondern das rpihddevice VDR Plugin aktualisiert werden.
Das obrige Problem bleibt davon aber unberührt.

Claus
MLD 5.5 - Raspberry PI - 7" Touch TFT - Squeeze Play
MLD 5.5 - lirc yaUsbIR - OctopusNet - XFX GeForce 9300 mit Intel E3200 - 2GB RAM - 12TB HDD - Lian Li PC-C37B - Samsung LE40A559

Offline clausmuus

  • Administrator
  • Expert Member
  • ********
  • Posts: 20163
    • View Profile
    • ClausMuus.de
Hab's jetzt getestet. Ich hatte vergessen das neue rpihddevice Plugin online zu stellen.
Bei mit funktioniert das Starten von Kodi nun auch ohne das der VDR beendet werden muss.

Claus
MLD 5.5 - Raspberry PI - 7" Touch TFT - Squeeze Play
MLD 5.5 - lirc yaUsbIR - OctopusNet - XFX GeForce 9300 mit Intel E3200 - 2GB RAM - 12TB HDD - Lian Li PC-C37B - Samsung LE40A559

Offline LarsX

  • Adv. Member
  • ***
  • Posts: 128
    • View Profile
Scheint auch bei mir gut zu funktionieren, merci. :)

Bleibt bloß noch das Kodi-YouTube-Problem. So wie ich das sehe, ist es tatsächlich ein Problem des YouTube-Addons innerhalb von Kodi, welches in dem einen oder anderen Forum auch schon zumindest mal thematisiert wurde. Ich kann nur auf einen Bugfix des YouTube-Addons hoffen.

In MLD/VDR ist es offenbar nicht fixbar, ebenso wenig wie ein "runkodi -k" zum passenden Zeitpunkt getriggert werden könnte, um kodi-bin zu entsorgen, falls sich da etwas aufgehängt hat.

Frage: Bin ich denn auf Kodi angewiesen, um mit meinem MLD/VDR-Raspi YouTube zu schauen? Ein aktuelles YouTube-VDR-Plugin oder eine VDR-App scheint es dafür nicht zu geben. Auch sonst habe ich keine Idee, wie ich YouTube ohne Kodi hinbekomme.

Offline iNOB

  • Profi Member
  • ****
  • Posts: 384
    • View Profile
Wenn man das youtube und chromium Systempaket installiert geht das auch ohne kodi.

Offline LarsX

  • Adv. Member
  • ***
  • Posts: 128
    • View Profile
Gibt es das auch für MLD? Hast du mal einen Link für mich?

Meinst du etwa dieses hier: http://projects.vdr-developer.org/projects/plg-webvideo

Offline LarsX

  • Adv. Member
  • ***
  • Posts: 128
    • View Profile
Könnte man den Aufruf von Kodi nicht dahingehend modifizieren: https://gist.github.com/aperezm-vlex/75d7481afff0db8f5894

Ich zitiere:

Avoid black screen on kodi exit

Code: [Select]
#!/bin/bash
 LOG_FILE=$HOME/.kodi/temp/kodi.log
rm $LOG_FILE 2> /dev/null

/usr/lib/kodi/kodi.bin --standalone &

while [[ ! -f $LOG_FILE ]] ; do
sleep 1s
done

while read line ; do
if [[ ${line} =~ "application stopped" ]] ; then
echo "Killing kodi"
break
fi
done < <(tail --pid=$$ -f -n0 $LOG_FILE)

killall kodi.bin  <--------- !

fbset -depth 8 && fbset -depth 16

Wobei ich mich gerade frage, ob der Logeintrag "application stopped" überhaupt beim Kodi-Exit ausgegeben wird, wenn YouTube zuvor Kodi versaubeutelt hat...

Offline clausmuus

  • Administrator
  • Expert Member
  • ********
  • Posts: 20163
    • View Profile
    • ClausMuus.de
Hi,

das würde prinzipiell funktionieren. Eventuell wäre ne kleine MLD Anpassung nötig, aber grundsätzlich sollte das nen gangbarer Weg sein.
Du kannst ja mal checken ob die entsprechende Logzeile auftaucht. Falls ja, schaue ich mir das gerne näher an.

Das MLD Paket youtube gibt's nicht für den RPI, da wir bislang noch kein chromium Paket für den RPI haben, und das wird dafür benötigt.

Claus
MLD 5.5 - Raspberry PI - 7" Touch TFT - Squeeze Play
MLD 5.5 - lirc yaUsbIR - OctopusNet - XFX GeForce 9300 mit Intel E3200 - 2GB RAM - 12TB HDD - Lian Li PC-C37B - Samsung LE40A559

Offline LarsX

  • Adv. Member
  • ***
  • Posts: 128
    • View Profile
Ich habe es mir angeschaut und folgende zwei Dinge festgestellt:

Erstens, gute Nachricht:

Ja, in der Logdatei ~/.kodi/temp/kodi.log taucht tatsächlich in der letzten Zeile immer die Wortfolge "application stopped" auf, wenn Kodi beendet wird, auch dann, wenn Kodi nicht richtig geschlossen wird und kodi-bin weiterlebt. Daraus kann man ja vielleicht was machen.

Zweitens, schlechte Nachricht:

Im Startskript /usr/bin/runkodi wird, siehe Codeauszug unten, leider die Zeile nach dem Aufruf von Kodi nicht mehr erreicht, falls Kodi beim Beenden hängen bleibt. Schade, denn sonst hätte man hier einfach ein "runkodi -k" einschieben können, ggf. mit anschließendem Zwangsabschießen, wenn man auf Nummer sicher gehen möchte.

Code: [Select]
# starte kodi
eval /usr/lib/kodi/kodi.bin $KODI_ARGS >>/var/log/kodi 2>&1
status=$?
echo -n "kodi exits at "; date

# Falls Kodi beim Exit HÄNGT, wird diese Zeile leider schon nicht mehr erreicht,
# sonst könnte man ganz schlicht Folgendes einpflegen:

echo "Trying to kill kodi..." 2>/dev/null
runkodi -k
sleep 2
killall -9 kodi-bin 2>/dev/null

[1] 2 >>> Archiv / MLD 4.x / Raspberry PI / Kodi-Zombie nach Beenden von Kodi nach Anschauen von YouTube-Video
 



Users Online Users Online

0 Members and 1 Guest are viewing this topic.