Belangrijk Update images ivm geheugen lek voor alle boxen

Bedankt voor de kennisgeving eendenteam.

Ik ben heel blij dat er nu een update is want mijn lange draadje is dus niet voor niets geweest.  :klappen:
Het is nu aan de ontwikkelaars van alle bekende platforms om op basis van deze update van DMM hun image aan te passen.

Volgende lek is dat mijn spaargeld weglekt bij de bank maar dat doe ik wel op een ander forum, hier gaan we verder met satelliet en aanverwanten onderwerpen. :)

 
I.v.m een "memleak" heeft DMM updates (voor OE 2.0) uitgebracht voor alle boxen, welke het betreft.
Weet je wel zeker dat het DMM betreft hier? Want op de offici?le site is daarvan in de downloadsectie niet te vinden.
De site waar de links naar toe verwijzen zijn voor Opendreambox firmware, die is bij mijn weten niet van DMM.
 
Ah never mind, ik zie het nu, Ghost... wel vreemd dat hiervan niets op de officiele DMM site te zien is.

Ik vraag me wel af hoe dat nu verder gaat... want bijv. OpenPli ondersteund die oudere Dreamboxen zoals de 800HD al lang niet meer. Dus die zullen daar vermoedelijk ook geen update meer voor uitbrengen. Laatste software van 2012 of 2013 meen ik zo uit m'n hoofd. :(
 
DMM heeft een tijd geleden zijn sites veranderd, het Ijn wel degelijk off DMM images. Vermoedelijk heb je nog oude links...?
 
Nee hier kijk zelf maar:
http://dreambox.de/en/downloads
Draait ook het forum op, dus vandaar dat ik me ook afvroeg waarom dan die updates op dreamboxupdate.com komen en niet ook op de officiele dreambox.de site.
 
Ah lol. Dat is ook niet de download site voor updates. De downloads voor updates e.d. staan in je apt sources en dat zijn dus andere sites. Ze hebben aparte urls (servergedeelte) voor uploads, feeds e.d. Verder uiteraard de github. De website die jij aangeeft is een pagina op hun offici?le website bedoeld voor mensen die een dreambox willen kopen en daar staan dingen op die nodig zijn voor het laten werken van een dreambox en bevat zeker niet (altijd) de laatste images. Bovendien dachten we, dat de updates ivm mem leak uit de experimental branche komen en dus niet de stable.
 
Ahzo, ja dat was mij weer niet bekend. Ik ga er van uit dat als er zo'n belangrijke update is er ook wel een stable image komt en dat ze niet de ouwe meuk uit 2012 op hun download site laten staan.
Dan kun je dat beter doen zoals andere software doet, naast elkaar pleuren en dan een lijstje "stable" en "experimental" of weet ik wat. Klanten gaan niet gauw in apt sources kijken en zullen eerder op de website van DMM gaan kijken in de download sectie.
Anyway, is weer duidelijk, thanks.
 
Black Tiger zei:
Ahzo, ja dat was mij weer niet bekend. Ik ga er van uit dat als er zo'n belangrijke update is er ook wel een stable image komt en dat ze niet de ouwe meuk uit 2012 op hun download site laten staan.

Wat ik me afvraag is waarom er geen simpele patch is uitgebracht die het geheugenlek dicht zodat men ook de oudere en reeds ge?nstalleerde image kan blijven gebruiken. Ik heb inmiddels al 95% van mijn backups weggegooid.
 
De mem leak is verholpen door een verandering/aanpassing in het bestand libzbi. Wellicht is er een diff; zo niet vergelijk de oude en de nieuwe eens (eenvoudig te doen met total commander)
 
Ik heb eerder in een bestaande image toen die 2 libzbi bestanden vervangen maar dat gaf geen resultaat. Maar theoretisch zou het toch ook mogelijk moeten zijn om die gewijzigde bestanden als een patch in een PLI image van een 800HD te zetten?

Ik heb hier wel de source zien staan met een patch (0011-fixed-memory-leak.patch) maar hoe je dit verder moet verwerken, vraag dit niet aan mij. :)


 
 
Dat is niet zo moeilijk:

- in het begin kun je het bestand vinden dat het betreft
- daarna krijg je een stukje source te zien dat je in dat bestand moet opzoeken
- vervolgens zie je regel staan die beginnen met - of + hetgeen betekent de "- regels" moet je verwijderen en de "+ regels"toevoegen

dus je moet opzoeken de tekst zoals aangegeven TOT de eerste regel met (in dit geval) een "-", je zoekt dus naar:

                        case PAGE_FUNCTION_GDRCS:
                        {
                                if (convert_drcs(vtp,



vervolgens verwijder je 3 regels (de regels beginnend met een -), dat is dus:

                                              vtp->data.drcs.lop.raw[1]))
                                      _vbi_cache_put_page (vbi->ca,
                                                          vbi->cn, vtp);




en je voegt in (de regels beginnen met een +) dat is dus:


                                              vtp->data.drcs.lop.raw[1])) {
                                      cache_page *new_cp;

                                      new_cp = _vbi_cache_put_page
                                              (vbi->ca, vbi->cn, vtp);
                                      cache_page_unref (new_cp);
                              }




Daarna zie je nog regels staan met geen - of + er voor, dus die moet al in het bestand staan (dat is ter controle dat je goed zit) en betreft hier:

                            break;
                      }


De complete nieuwe tekst van dat gedeelte wordt dus:


                        case PAGE_FUNCTION_GDRCS:
                        {
                                if (convert_drcs(vtp,
                                              vtp->data.drcs.lop.raw[1])) {
                                      cache_page *new_cp;

                                      new_cp = _vbi_cache_put_page
                                              (vbi->ca, vbi->cn, vtp);
                                      cache_page_unref (new_cp);
                                }
                                break;
                        }


Echter je zult dat bestand niet vinden omdat het of in de closed source zit of in een library (we denken dat het in /usr/bin/libzvbi0so.0 of /usr/bin/libzvbiso.0.13.2 zit)
 
Ik heb eerder in een bestaande image toen die 2 libzbi bestanden vervangen maar dat gaf geen resultaat.
Ik neem aan dat dit is omdat ze mee gecompileerd moeten worden in de firmware, dus de inhoud meegecompileerd. Als dat niet het geval is, dan is het wel vreemd, tenzij er meer bestanden vervangen moeten worden.
 
Black Tiger zei:
Ik neem aan dat dit is omdat ze mee gecompileerd moeten worden in de firmware, dus de inhoud meegecompileerd. Als dat niet het geval is, dan is het wel vreemd, tenzij er meer bestanden vervangen moeten worden.

Dat vroeg ik me ook af BT of er niet meer bestanden vervangen moeten worden maar de plug-in deed gewoon zijn werk nadat ik die 2 bestanden vervangen had dus er was geen crash van die teletekst plug-in (dttbc).
Deze bestanden had ik van de gepatchte image gehaald en toen op een bestaande image gezet, ik dacht effe slim te zijn. :)

De bestanden die het @eendenteam vermeld staan bij mij in de map usr/lib en beide hebben de datum 19-03-2-16. Je zou mogen verwachten dat als een bestand recent gewijzigd is dat de datum niet zo vroeg in 2016 ligt. 

In de map var/lib/opkg/info staat weer een file 'libzvbi0.control' met een verwijzing naar een te downloaden bestand:

Source: ://downloads.sourceforge.net/zapping/zvbi/zvbi-0.2.35.tar.bz2 file://0001-Fix-linker-errors-due-to-implicit-declaration-of-S_I.patch file://0002-fix-missing-lines-on-every-page-on-pro7-sat1.patch file://0003-fix-no-clock-updates.patch file://0004-fix-sky-not-working.patch file://0005-fix-top-navigation.patch file://0006-search-add-vbi_catch_page.patch file://0007-decode_timestamp-Disabled-check-to-work-around-inval.patch file://0008-caption_command-SF-bug-195-Mid-row-codes-are-set-at-.patch file://0009-parse_28_29-SF-bug-198-Faulty-logic-in-TTX-Level-2.5.patch file://0010-skip-data-with-wrong-framing-code.patch file://0011-fixed-memory-leak.patch

http heb ik even weggehaald zodat het geen klikbare wordt, maar als je deze url in je browser plakt is daar een .tar file te downloaden maar ik zie geen nieuwe files in dat bestand staan met een actuele datum dus er valt weinig mee te doen.

De zoektocht gaat dus nog even door. :)
 
eendenteam zei:
Dat is niet zo moeilijk:

<knip->

Echter je zult dat bestand niet vinden omdat het of in de closed source zit of in een library (we denken dat het in /usr/bin/libzvbi0so.0 of /usr/bin/libzvbiso.0.13.2 zit)

Bedankt voor de uitleg eendenteam. Ik heb het eendenteam live een script zien schrijven en daarna testen en ??n spatie teveel of een open of sluit teken te weinig en het script protesteert.

Ik had dit al eens geschreven.

check mem:

  If mem is full then:

    clear mem

  if mem not full:

    take a rest

end

ready.....

:)

 
Ik heb een bestand gevonden in usr/lib en dat is libzvbi.so.0.13.2 met de datum 17-02-2017 en het eendenteam verwees er al naar. Dit zou ik eventueel naar jou kunnen opsturen Black Tiger per email.





 
een .so is een shared object meestal geschreven in C/C++. Je kunt zo'n bestand deassembleren op een linux computer maar dan moet je de juiste gcc toolchain hebben, waar objdump in zit. Wellicht kun je de .so misschien ook hier online deassembleren.
 
Wat een goede site is dat eendenteam want het deassembleren is gelukt. In de linker kolom krijg je de adressen en de naam van de functies te zien en rechts de functies. Ook de optie 'sections' is heel mooi. Niet dat ik er veel van begrijp maar het dwingt bij mij des te meer respect af gezien wat de ontwikkelaars aan kennis moeten hebben voordat een plug-in of welk ander bestand op een image ook werkt.

Een stukje kopi?ren en hier plaatsen is helaas niet mogelijk.
 



Hosting Fun

Advertenties

Terug
Bovenaan Onderaan