Seite 2 von 6 ErsteErste 1234 ... LetzteLetzte
Zeige Ergebnis 11 bis 20 von 54

Yard Server hängt

Erstellt von Zoldan, 11.11.2009, 10:07 Uhr · 53 Antworten · 6.843 Aufrufe

  1. #11
    Benutzerbild von oldsk00l

    Registriert seit
    11.11.2009
    Beiträge
    13
    Wow, ich bin begeistert :-)
    Ich habe mir die beiden Files schonmal heruntergeladen, kann es heute aber nicht mehr testen. Morgen aber, werde dann berichten!

    Vielen Dank für deine Mühe!

    Gruß
    oldsk00l

  2.  
    Anzeige
  3. #12
    Benutzerbild von AndreWeber

    Registriert seit
    02.08.2005
    Beiträge
    1.446
    Hallo,

    @Schlipp:
    hoffentlich hilft dann meine Änderung für Deinen Fall ich weiss ja nicht wie du die Steuerung im EG realisiert hast - um in der Liste zu scrollen - ich kenne ja nur die Logik welche ich für Girder verwendet habe.

    D.h. der Befehl z.B. um in einem Menu nach unten zu scrollen - besteht darin das Girder z.B. einen KEY_DOWN Event mit dem Cursor nach unten an die Zielanwendung sendet. Als Auslöser für das Event habe ich dann das "Down" und "Repeat" Event was von YARD erzeugt wird verwendet.

    Durch die in Yards eingebaute Verzögerung / Beschleunigung der Repeat Events, kann man auch langsam scrollend beginnen und dann schneller werden. Die Repeat Rate hängt dabei direkt von der Fernbedienung ab. Je nachdem wieviele IR-Codes diese je Sekunde schickt - das legt quasi die maximale Schrittfolge fest.
    (Die Verzögerung / Beschleunigung wird dann im YARD durch [x] [y] gesteuert.)

    Für Befehle wie z.B. Auswählen, Play etc. - lerne ich in Girder dann nur das ".down" Event der jeweiligen Taste an - so passiert dann auch nichts wenn ein DAU die OK Taste einige Sekunden festhält - da nur der 1. Druck durch Girder ausgewertet wird und die restlichen ".repeat" Ereignisse ins Leere laufen und verpuffen.

    Sollte das Modell von EventGhost für die Ereignisse durch YARD anders aussehen - muss ich mir diese Logik nochmal genauer anschauen, wie ich das mit YARD besser bedienen kann.

    ggf. wären evtl. mal ein paar Screenshots von Euren Einstellungen / Event Konfigurationen im EG von Interesse wobei sich YARD aufhängt.

    Das Problem ist halt hauptsächlich das EG die Ereignisse welche von YARD angeliefert werden scheinbar synchron abarbeitet - statt diese in eine Warteschlange einzureihen - d.h. wenn YARD in schneller abfolge IR-Codes empfängt und die Abarbeitung in EG - durch die verknüpfte Aktion viel zu lange dauert kommt YARD ins Stocken - bei Girder erfolgt die Abarbeitung Asynchron - d.h. bei Girder werden meine Events in eine Warteschlage eingereiht - und der Aufruf der Benachrichtung kehrt sofort zurück ;-)
    - ggf. muss ich versuchen im EG Plugin die Warteschlage selbst zu implementieren
    falls EG hierfür keinen Mechanismus vorsieht. - oder mir was anderes einfallen lassen -
    so wie ich gesehen habe wird bei EG das Signal vom Event gestartet und liegt dann die ganze Zeit bis zu einem Timeout an, und wird dann Zurückgesetzt - (oder ggf. vorab falls ein anderer Code empfangen wurde.) - das verstehe ich noch nicht ganz - wie das so läuft - da werd ich wohl noch tiefer in den EG code und Phyton eintauchen müssen um das im Detail zu verstehen.

    André

  4. #13
    Benutzerbild von Schlipp

    Registriert seit
    19.11.2009
    Beiträge
    5
    Ich nutze mit EG auch die Repeat-Erkennung von YARD. Den unterschiedlichen Makrosin EG sind entweder $befehl.down und $befehl oder nur $befehl.down zugeordnet. Im Prinzip also genauso we du bei Girder.

    Christian

  5. #14
    Benutzerbild von oldsk00l

    Registriert seit
    11.11.2009
    Beiträge
    13
    Soo, ich habe nun die beiden Files eingebunden und kann den Fehler nun ganz leicht reproduzieren. Ich brauche dazu nur eine Taste meiner Fernbedienung etwas länger gedrückt halten (2 sek reichen oft schon aus) dann bleibt das Symbol in der Taskleiste blau und wenn man nun irgendwelche anderen Tasten drückt, dann kommen dafür keine Events mehr rein. Ich habe da mal n Screenshot von gemacht:


    Wenn man mit der rechten Maustaste auf das Taskleistensymbol klickt, dann wird das Symbol wieder rot und die Events erscheinen auf einmal in Eventghost. Sieht man in diesem Bild ganz gut:





    Das YARDs Logfile sieht etwas mager aus:

    ----- 20.11.2009 21:38 -----------------------------------------------------

    TYardConfig.LoadAllDefaults

    ConnectClientDisp EventGhost YARD Plugin


    Wenn ich eine Tast drücke, zu der in Eventghost keine Aktion definiert ist, schaffe ich es selten den YARD Server zum Absturz zu bekommen. Aber wenn wie in dem Screenshot z.B. eine Aktion für Mediaportal oder ähnliches ausgeführt werden soll, dann gehts recht schnell. Es ist dabei egal, ob Medaportal gestartet ist oder nicht.

    Ich hoffe die Infos helfen ein wenig :-)

    Gruß
    oldsk00l

  6. #15
    Benutzerbild von AndreWeber

    Registriert seit
    02.08.2005
    Beiträge
    1.446
    Hallo,
    was mich wundert ist der YARD.left.up - warum zur Hölle kommt der so oft? - vor allem wo her?
    kannst du mir mal einen Screenshot von den YARD Einstellungen dazu geben - speziell wie dort das Repeat Handling (Anti-Repeat) konfiguriert ist?

    André

  7. #16
    Benutzerbild von oldsk00l

    Registriert seit
    11.11.2009
    Beiträge
    13
    Hmm, das müsste die Taste sein, die ich während des Hängers ständig auf der Fernbedienung gedrückt habe. (DAU :-) ) Aber dann hätte der da ja Repeats von machen müssen. Stimmt, irgendwas passt da nicht so ganz. Ich bin gleich zuhause, dann erzeuge ich nochmal den Fehler und drücke während des Hängers mal bestimmte Tasten der Fernbedienung auch mal etwas länger. Die Einstellungen poste ich dann uch gleich mal.

    Greetz

  8. #17
    Benutzerbild von oldsk00l

    Registriert seit
    11.11.2009
    Beiträge
    13
    Soo, ich hab wieder was herausgefunden. Wenn ich die ganze Zeit (können auch 2 Minuten sein) eine Taste festhalte, werden immer schön sauber die Events generiert. Alles super. aber wenn ich in recht kurzen Abständen (unter 1 Sekunde Wartezeit) verschiedene Tasten drücke dann schmiert Yards immer ab. Lässt sich durch Rechtsklick aufs blaue Symbol wieder reaktivieren und beliebig oft wiederholen.
    Wenn ich dann während Yard hängt auf der Fernbedienung irgendwelche Tasten drücke, egal ob ganz kurz oder länger, bei rechtsklick aufs Symbol kommen dann im EG immer mehrere UP Events (mindestens 6) der Taste die zuletzt gedrückt wurde Foto dazu:


    Hier habe ich während des Hängers lustig immer nur kurz auf irgendwelche Zahlen getippt. Zuletzt war es die 8.

    Hier noch meine Einstellungen:

  9. #18
    Benutzerbild von AndreWeber

    Registriert seit
    02.08.2005
    Beiträge
    1.446
    Hallo,

    ok - könnte jetzt dem Fehler ein wenig Näher gekommen sein globale Variablen sind doch was böses - vor allem wenn die Verarbeitung dann doch mal länger dauert als geplant.
    Das dürfte auch der Grund für die wiederkehrenden UP Events gewesen sein, beim festhalten einer Taste.

    Neuer Versuch dann mit dieser angehängter Programmversion - sollte dann die Verarbeitung des Down Events oder eines Repeat Events länger als 75ms dauern, wird dieses Event verworfen und nicht an EG durchgereicht. Hoffe das hilft fürs erste.

    Dann sollte sich im Log auch ein passender Eintrag finden, dass ein Event verworfen wurde.


    André

  10. #19
    Benutzerbild von oldsk00l

    Registriert seit
    11.11.2009
    Beiträge
    13
    jau, das sieht schon viel besser aus! aber habs wieder geschafft dass Yard abschmiert. Diesmal wird aber bei einem Rechtsklick wirklich nur ein Event nachgezogen. Wenn Mediaportal nicht gestartet ist, kann ich die Tasten drücken wie ich will, das läuft nun stabil. Aber wenn Mediaportal gestartet ist, dann brauche ich nur durch Listen scrollen (Taste gedrückt halten) dann ist es wieder passiert. Aber man muss nun viel länger scrollen um Yard zu absturz zu bekommen. Im Logfile wurde aber merkwürdigerweise nicht generiert:

    ----- 23.11.2009 20:43 -----------------------------------------------------

    TYardConfig.LoadAllDefaults

    ConnectClientDisp EventGhost YARD Plugin


    Gruß

  11. #20
    Benutzerbild von AndreWeber

    Registriert seit
    02.08.2005
    Beiträge
    1.446
    Hallo,

    ok - jetzt wo ich mir den Code von EG durchgelesen habe ist mir es klar was da passieren dürfte - EG arbeitet hier wie vermutet synchron d.h. wenn YARD einen IR Code empfangen hat - passiert jetzt folgendes im YARD Haupthread (der auch das Icon Blinken steuert

    YARD --> ruft EG Schnittstelle (COM-Objekt) mit IR-Code auf --> dort erfolgt dann Trigger Event --> das führt wiederum zu SendMessageTimeout( ... ) -> dann kehrt der Aufruf zu YARD zurück. Solange hängt / wartet Quasi der Hauptthread von YARD.

    - SendMessageTimeout(..) schickt den Befehl an z.B. MediaPortal - und kehrt von dort erst zurück wenn MediaPortal den Befehl verarbeitet hat, oder der 5s(?) Timeout verstrichen ist. In der Zeit ist YARD komplett lahmgelegt und dadurch scheint einiges ins Arge zu kommen.

    Meine Lösung die ich gestern Abend noch angefangen habe - sieht es vor dass der Aufruf der EG Schnittstelle nicht mehr im Hauptthread erfolgt, sondern in einem separaten Thread erledigt wird. Der so lange blockieren kann wie er will - und das Hauptprogramm nicht weiter gestört wird.

    Wenn ich das heute Abend nochmal getestet habe - gibt es diese Version zum Probieren hier im Forum.

    André

Seite 2 von 6 ErsteErste 1234 ... LetzteLetzte

Ähnliche Themen

  1. YARD Server für Linux
    Von Marsupilami im Forum Y.A.R.D. Entwicklerforum
    Antworten: 15
    Letzter Beitrag: 06.07.2012, 21:42
  2. MediaPortal hängt sich ab und zu auf
    Von frankenmatze im Forum MediaPortal
    Antworten: 1
    Letzter Beitrag: 29.12.2008, 09:30
  3. grinder hängt sich auf mit XP
    Von allgaier im Forum Fernbedienung
    Antworten: 4
    Letzter Beitrag: 10.01.2006, 18:11
  4. Hauppauge PVT 350 hängt
    Von wittus im Forum Grafikkarten & TV-Karten
    Antworten: 7
    Letzter Beitrag: 08.01.2005, 18:31
  5. WICHTIG----- NEUER SERVER! ALTER SERVER war down!
    Von AndreasMD im Forum Board/Forum - Support
    Antworten: 14
    Letzter Beitrag: 12.09.2003, 18:49