[160614] Neues OE2.0 Update

  • - added support for nicer (vertical) scrollbars (please ask for demo skin if you want to use it)


    wo und wen muss ich fragen?
    ...bzw. wie sehen diese scollbars denn aus?
    danke und grüße, giro77

  • Zum HDD Problem muss ich aber auch sagen, dass ich das selbe bei der 7020HD seit dem Update gestern Abend habe.
    Festplatte wird als /media/WDC... gemountet also HerstellerSeriennummer.
    Ein leer mount nach /media/hdd ist genauso vorhanden.
    Hatte sogar den Mount gelöscht und wie fstab es versucht wieder nach /media/hdd zu mounten. Lief aber schief, da der mount /media/WDC... erst später bei booten erfolgt.
    Habe jetzt via Syslink die Verknüpfung von /media/WDC... nach /media/hdd wieder hergestellt


    ln -snf /media/WDC... /media/hdd


    Jetzt klappt wieder alles wie gewohnt
    Kann das dran liegen, dass bei der 7020HD jetzt eine SwapPartition auf der hdd angelegt wird und dann die referenz zu /media/hdd vergeben ist?

    In Betrieb
    Dreambox 920uhd-S2X/C
    Ausser Betrieb
    Dreambox 7080HD-S2/C / 8000-S2

  • Neues Treiberupdate:


    - fixed a demux problem which can cause 0 byte ts files when multiple parallel high bitrate recordings are running (from same transponder/demux)


    dm7020hd
    ----------------------------------
    - fixed a small MPEG4 ASP playback bug (xvid, divx, ...)

    7020HD
    Sundtek DVB-CT
    Raspberry @ 1000/500/500/6

  • enigma2 20130314 (master) -> 20130424 (master)
    ----------------------------------------------
    - switched to more flexible, python-based servicelist implementation with more options (thx to merlin team!)
    - filter out non printable characters from DVB texts (epg, now/next, servicenames)
    - MiniDLNASetup: fixed broken kill/restart and added possibility to force a full resccan
    - some hardisk/storage manager cleanups/fixes
    - fixed rtsp stream synchronization
    - fixed multimedia subtitle memory leak
    - removed workaround to disable multimedia subtitles
    - activate fwd/rwd buttons in browser
    - some hbbtv fixes (allow extension of hbbtv <object> via Element.prototype)
    - fixed broken http/https streaming after browser has been used
    - added new epgcache option to keep and collect outdated events (disabled by default)
    to show outdated events of a service you can press "long" info or press menu in single epg-list of a service
    - take care of configured epgcache timespan on cleanloop run (every minute)
    - added some (deprecated) wrapper functions for some gui functions which were removed in 20130314 tarball
    - vertically center texts in configuration dialogs
    - allow to set left/right offsets for configuration lists (demo in skin-default.xml)
    - added possibility to disable wakeup from standby on zap-timers via usage config

    How can we win, when fools can be kings?

  • Seit dem letzten Update läuft mein Box nicht mehr vernünftig
    habe Abstürze, HDD läuft von alleine an und ich kann auf Türksat 42° Transponder ( 10970 V 30000 5/6 )
    nicht finden suchlauf geht nicht kann das einer testen bitte?
    Habe mit mein DM800SE OE1.6 im Schlafzimmer kein Problem beim Suchlauf der findet die ganzen Programme auf der Transponder.
    Hier ist Crashlog

  • enigma2 20130424 (master) -> 20130503 (master)
    ----------------------------------------------
    - added assertions to detect usage of eTimers and eSocketNotifiers from incorrect thread
    - fixed hls/http streaming dead locks on channel change
    - fixed filtering of non printable characters (caused a deadlock on UTF-16 -> UTF8 DVB text conversion)
    e.g. fixes service searching on 16.0E
    - added possibility to globally change the config and string list font(s) and item heights examples at skin-default.xml
    - fixed broken check for http services (enable previously broken user-agent setting)
    - storage / harddisc manager:
    - fixed crash (python set has no method append)
    - fixed wrongly used "Mounted by system!" and "No mountpoint defined!" texts
    - listbox / stringcontent / configcontent:
    - fixed wrongly filled space (5 Pixels) between listbox content and scrollbar when the listbox background is transparent
    - fixed vertical centering of listbox string content
    - dont use left/right configlist offsets when paint listbox decoration (selection pixmap)
    - servicelist fixes since "merlin channelist"
    - fixed marker-jumps in movemode. We now move the marked service properply before/behind the marker
    - fixed "move to character" jumping to the end of the "All Services" list when no service with the given character could be found
    - correctly order satellite list from west to east again
    - updated translations
    - updated default favourite list


    + HW Treiber:


    dreambox-dvb-modules: update hw drivers
    - increased max number of demux feeds (allow more pids on a single demux)
    - fixed small demux bug
    - changed lcd logo for dm7020hd

    7020HD
    Sundtek DVB-CT
    Raspberry @ 1000/500/500/6

    Einmal editiert, zuletzt von micoba ()

  • Also die Fortschrittsanzeige beim Booten ist mit dem neuen DVB Modul ist etwas verschoben, zwar nur ein kleiner Zwischenraum,
    sieht aber nicht grade schön aus.


    Gruß gadja

  • Ich hatte gerade einen Crash beim Versuch einen Dr.Dish HbbTV Stream aufzunehmen:


    action -> WizardActions up
    action -> WizardActions down
    action -> WizardActions down
    action -> ColorActions green
    event: event=5 data=(nil) data2=(nil)
    Traceback (most recent call last):
    File "/usr/lib/enigma2/python/mytest.py", line 282, in processDelay
    callback(*retval)
    File "/usr/lib/enigma2/python/Plugins/Extensions/HbbTV/HbbTV.py", line 202, in _onSaveStreamToDisk
    extension = file[1]
    IndexError: list index out of range
    (PyObject_CallObject(<bound method Session.processDelay of <__main__.Session instance at 0x1932440>>,()) failed)
    ]]>
    </enigma2crashlog>

    7020HD
    Sundtek DVB-CT
    Raspberry @ 1000/500/500/6

  • einen gs hätte ich da auch noch :winking_face:


    mfg


    OoZooN


    Support für OoZooN Images gibt es auf forum.oozoon.de , nicht hier!


    Two Beer or not two Beer, thats the Question


    Aktuelle Nachrichten rund um OoZooN-Images gibt es auf Twitter

  • Ich hatte regelmäßig GS nach der ersten Tastenaktion nach dem Start der 8k (Update 3.5.). Gestern Abend erneut Update laufen lasen und nochmals über 40 Pakete aktualisiert. Danach alles gut, kein GS mehr.


    Gruß
    Dieter

  • Ich hatte mit der aktuellesten FW samt Fix schon zum zweiten Mal einen Crash beim Zappen! Das hatte ich schon ewig nicht mehr!


    action -> InfobarChannelSelection zapDown
    playing 1:0:19:83:6:85:C00000:0:0:0:
    [eDVBCAService] free slot 0 demux 3 for service 1:0:19:7B:E:85:C00000:0:0:0:
    [eDVBCAService] free service 1:0:19:7B:E:85:C00000:0:0:0:
    recheckPMTHAndlers()
    [TeleText] service stopped
    [TeleText] send array('B', [1, 0, 0, 0])
    FATAL: ebase.cpp:233 ASSERTION m_tid == (pid_t)-1 :tired_face: m_tid == eThread::gettid() FAILED!
    PC: 759ab0f4
    00000000 10008700 00000000 6c276920
    000008ec 000009a0 00000006 00000000
    f0000000 805e0dd0 00dc7e90 49414620
    7c7c2031 77694000 65726854 6c26def0
    000009a0 00000006 000008ec 00000000
    0000000a 00020000 03131768 00000003
    00000053 759ab080 6c26f490 00000000
    75acb970 6c26df58 03131774 759af8a8
    As a final action, i will try to dump a bit of code.
    I just hope that this won't crash.
    759ab0f4: 07 00 e0 10 ff ff 03 24 3b e8 03 7c 21 20 60 00 0c 94 83 8f 21 20 64 00 03 00 00 10 00 00 82 ac (end)
    -------
    ]]>
    </enigma2crashlog>
    <pythonMD5sum>

    7020HD
    Sundtek DVB-CT
    Raspberry @ 1000/500/500/6

  • Du hast ein kaputtes Plugin drauf:


    Zitat


    FATAL: ebase.cpp:233 ASSERTION m_tid == (pid_t)-1 :tired_face: m_tid == eThread::gettid() FAILED!


    Vewendest du zufällig L4L?


    Andere Möglichkeiten:
    FanControl2 sollte aber mitterweile wieder laufen, wenn du die aktuellste Version vom Feed geholt hast.

    • Offizieller Beitrag

    Hallo,


    dies ist ein gezielter Abbruch um Fehlerhaftes Threading in Plugins zu finden und auch fixen zu können.
    Das ist natürlich erst mal nicht unbedingt erfreulich für alle jedoch dringend notwendig da es sonst immer wieder zu völlig "willkürlichen" abstürzen kommen wird die durch genau diesen Umstand ausgelöst werden.


    Welche Plugins hast du installiert?

  • Hallo,


    dies ist ein gezielter Abbruch um Fehlerhaftes Threading in Plugins zu finden und auch fixen zu können.
    Das ist natürlich erst mal nicht unbedingt erfreulich für alle jedoch dringend notwendig da es sonst immer wieder zu völlig "willkürlichen" abstürzen kommen wird die durch genau diesen Umstand ausgelöst werden.


    Welche Plugins hast du installiert?

    Bei mir sieht die Fehlermeldung beim SeriesPlugin so aus

    In Betrieb
    Dreambox 920uhd-S2X/C
    Ausser Betrieb
    Dreambox 7080HD-S2/C / 8000-S2

  • schön wäre es ja, wenn es möglich wäre etwas mehr Infos über die Quelle des Absturzes mit auszugeben (ohne genauere Infos ist es rumstochern in einem Haufen Stroh). Ich glaube kaum, das es nur etimer und notifier sind. (noch besser wäre, nur ne Info auszugeben und nicht zu crashen :grinning_squinting_face: , jaa ich weis, dann sucht keiner die Fehler) So ist es aber auch irgendwie unbefriedigend.


    Was bedeuten die Zahlen hinter ebase.cpp:233 , gesehen habe ich auch schon 190 196 230.


    Und bei L4L habe ich eigentlich alle (gefundenen) E2-Infos aus den Thread rausgehalten und trotzdem gibt es ASSERTIONs . Das war wo die Box im Idle ist und dort eigentlich keine E2-Infos erfragt werden (Tuner ist ja aus). In diesem Durchlauf war z.B. der Wetterabruf (getPage) gerade durchgeführt. Na jedenfalls ist das Crashing viel weniger geworden. Und das es nur an L4L liegt, wage ich zu bezweifeln (genauso die Fehlerfreiheit von L4L :smiling_face: ), es gibt ja auch Crashes ohne L4L.

    3 Mal editiert, zuletzt von joergm6 ()

  • Mein AirPlayer macht nach dem update auch Probleme,


    ich starte aktuell mit

    Code
    start_new_thread(self.methode,(self,))


    einen Thread in dem eine Binary in einem Subprocess gestartet wird. In dem Thread wird dann die Ausgabe der Binary ausgewertet und bestimmte Labels etc gsetzt.
    Dabei stürzt es jetzt ab.


    Wie ist denn die korrekte und von euch erwartete Vorgehensweise?
    Beim starten des Plugins einen eTimer aufziehen und periodisch den Status abfragen und in der eTimer Methode in die Labels übertragen, oder anstatt einen eigenen Thread zu starten einmalig einen Timer aufziehen der dann den subprocess ausführt?


    Oder habt ihr eine noch elegantere Methode für mich?
    Es führt leider keine Weg daran vorbei eine Binary in einem eigenen Thread zu starten, und auf die Ausgabe der Binary zu reagieren.

    • Offizieller Beitrag

    In aus einem Thread heraus auf die GUI zuzugreifen ist immer und überall eine Todsünde.


    Generell gilt dass nichts was man über "from enigma import ..." holt, egal ob direkt oder indirekt (ein jedes widget importiert letztlich etwas direkt aus dem c++ core, etc) ausschließlich aus dem gui-thread gerufen werden darf.
    Man kann alle Zeitaufwändigen Dinge problemlos über Threads lösen und die Aufrufe an den core entweder über eine eMessagePump lösen oder aber so wie das derzeit im Autotimer gelöst ist.
    Twisted bringt eine funktionalität mit über die möglich ist aus einem thread heraus dinge im Thread der mainloop zu rufen.
    Damit das beim Shutdown von enigma2 nicht zu nem Deadlock führt kann man folgende Funktion aus dem Autotimer benutzen/übernehmen.


    https://schwerkraft.elitedvb.n…c8f9077a6060c;hb=HEAD#l54


    Zu Nutzen wäre das dann (reines Beispiel) wie folgt:


    Code
    def pleaseCallMeOnMainThread(someparameter):
    	return someparameter
    
    
    def methodRunningInThread():
    	result = blockingCallFromMainThread(pleaseCallMeOnMainThread, "test")


    Auf diesem Weg kann man z.B. auch Werte von Labels aus einem Thread setzen oder auch einen eTimer starten, etc.
    Um am vorhandenen Code nicht all zu massive Änderungen vornehmen zu müssen kann man beispielsweise einfach inline functions definieren und diese dann wie oben gezeigt rufen.
    Oder man Struktuiert seinen Code direkt etwas besser.


    Vielleicht mal kurz zur Erläuterung wo das Problem liegt.
    Ich weiß dass viele sich denken werden "Aber bisher hatte ich doch keine Probleme".
    Das stimmt aber leider nur bedingt. Probleme die durch Aufrufe aus fremden Threads entstehen enstehen oftmals verzögert und werfen Fehler die völlig willkürlich erscheinen (oder Deadlocks die keiner versteht).


    Da kracht es plötzlich an Stellen an denen fast ausgeschlossen ist dass es krachen kann, (irgendwo in den tiefen der STL z.B.) oder aber e2 bleibt irgendwann einfach stehen weil ein Deadlock entsteht.
    Das muss alles nicht passieren und ist sehr timing-abhängig. Aber es kann passieren und passiert auch immer wieder mal.
    Woher es kommt ist zum Zeitpunkt des Crashes fast nicht mehr nachvollziehbar deshalb wurde (momentan nur für!) für eTimer und eSocketNotifier jetzt dieser gezielte Abbruch eingefügt.
    Wir haben schon etwas überlegt wie wir das angehen sollen und waren der Meinung dass es am Besten ist kontrolliert auszusteigen bevor es unkontrolliert den Bach runter geht.


    Der Fehler war, dass dies nicht schon von Beginn so war, aber das hindert uns ja nicht daran diese Probleme nun anzugehen und so die Software in Sachen Stabiltät nochmal ein ganzes Stück nach vorne zu bringen.


    Wir sind für jeden der da momentan etwas Kopfschmerzen hat auch über IRC erreichbar, da das "live" ist ist es dort ggf. etwas einfacher zu helfen.
    Mir ist sehr wichtig, dass ihr wisst, dass wir hier niemanden ärgern wollen, aber es ist wirklich notwendig, dass diese Fälle in allen Plugins korrekt implementiert werden.

  • Mir würde schon reichen wenn eConsoleAppContainer() nicht ständig abkacken würde wenn sich das was man drinnne ausführt zu viel Memory verbraucht. Das dann das appClosed nicht ausgeführt wird oder Threads die nachsehen ob das command aus dem Container noch läuft auch plötzlich weg sind ist beim Erstellen einer Sicherung mit dem dFlash Plugin nicht sehr hilfreich. Das selbe passiert wenn man mehr als 3-4 AppContainer kaskadirt und immer mit dem appClosedThread den nächsten aufruft. Irgendwann bricht die Kette ohne irgendwelchen Fehlermeldungen ...


    Aber der Code vom dFlash ist auch Sch* ich weis. Wobei das Teil schon komplett ohne shellscript geprogged war, aber dann auf Grund der nicht funktionierenden Kaskadierung musste ich das wieder zurückbauen um mit nur einen Container auszukommen, damit trotz dem Problem das backup wenigstens zuende erstellt wird statt in der Mitte abzubrechen.


    Ich kann ja nichts dafür das mkfs.* & Co nicht gerade zimperlich mit den resourcen der Box umgehen.