3Noreen schreef :
[…]
In het verleden heb ik hier op ZF al laten zien dat OpenCPN met de Oesenc plugin in een flatpack opzet een memory leak had. Waardoor het hele systeem na ongeveer een week vast liep. Wat niet op te lossen was met de herstart van de flatpack applicatie maar de hele machine moest herstart worden. Kortom sandbox van lik me vestje. Flatpack belooft iets wat het niet waar kan maken. Waar is mijn IT bullshit spray?
Dat is natuurlijk niet de bedoeling en niet goed. De Linux kernel heeft extenties die ook door docker bijv gebruikt worden om een soort sandbox omgeving op te starten. Memory leaks zouden met het afsterven van het proces en dus sandbox omgeving opgeruimd moeten worden.
Misschien is het volgende gebeurd: In de sandbox omgeving wordt enorm veel geheugen gebruikt (door de memory leak). Dusdanig veel dat andere processen (ook buiten de sandbox) in het verdring komen. Er is onvoldoende of geen SWAP geheugen beschikbaar (Raspberry Pi + SDcard). Daarom zal het systeem enorm traag worden. De linux kernel grijpt vrij laat in en hoewel het systeem enorm vast lijkt te lopen, loopt het nog wel maar enorm traag en vrijwel onbruikbaar. Op het moment dat de kernel ingrijpt, zal de
Out Of Memory manager (OOM) een proces afschieten om geheugen vrij te maken, hierna zou het systeem zich weer moeten gaan gedragen. Tenzij het verkeerde proces is afgeschoten. Mijn ervaring is dat het systeem na het afschieten wel enkele minuten nodig heeft om weer responsief te worden, waarschijnlijk omdat de verdrongen processen zich weer even moeten herpakken ofzo.
Dit alles heeft niets direct met de sandbox te maken, maar als memory een issues is zou je net als bij docker een limit moeten kunnen opgeven. Gaat het proces hier overheen, dan kill! Maar voor desktop applicaties wel wat vreemd in het gebruik.
Ik ben het wel met je eens dat het volledige geheugengebruik gealloceerd in de sandbox opgeruimd zou moeten worden. Deze problemen heb ik zelf ook nog niet gezien in een docker installatie, maar dat wil ook niet zeggen dat ze er niet zijn. De oorzaak is zoals je zei een memory leak en dat zit dan in de software binnen in de sandbox. Zonder sandbox zou het systeem eveneens vast moeten lopen (tenzij een memory leak in de flatpack implementatie zit natuurlijk).
Het voegt een complicerende laag toe inclusief bugs zonder een wezenlijk voordeel in de richting van een stabieler systeem.
Bovendien een computer die uitsluitend als plotter gebruikt wordt heeft geen voordeel bij een virtualisatie van de plotter applicatie. ALS de sandbox al zou werken. Het maakt namelijk dan niet uit of je de hele machiene moet herstarten of alleen de plotter applicatie.
Het hele idee dat je een plotter in een virtualisatie zou moeten zetten is compleet van de pot gerukt, dom. Het host systeem is de plotter, snappie ?
Grotendeels mee eens. Het zou geen complexiteit voor de eindgebruiker moeten toevoegen en alleen maar stabiliteit en installatie- en gebruiksgemak. Dat je de machine moet herstarten in de genoemde situatie lijkt mij inderdaad bijzonder irritant en ongewenst. Echter is Flatpack is geen virtualisatie, is het ook niet voor bedoeld.
Het uitbrengen van de plugins voor OpenCPN in een flatpack komt voort uit gemakzucht.
Gewoon wachten totdat het de heren belieft om updates van hun plugins voor de rasbarry uit te brengen. Tot die tijd met het oude uit te zingen.
Of wat de meesten hier op ZF gedaan hebben een mini computertje kopen waar windows op kan draaien en Raspberry hell achter je te laten.
Vanuit ontwikkelaars perspectief snap ik de keuze wel. En inderdaad misschien gemakzucht maar hun goed recht. Maar alle problemen hierboven hebben niets met een Raspberry Pi te maken, maar met OpenCPN op een Linux distro ongeacht de architectuur. Deze problemen heb je waarschijnlijk ook bij gebruik van een ander linux gebaseerde computer.
Kleine kans dat ik een Raspberry Pi ga gebruiken op de boot. Mijn Cerbo GX is al een linux machine die gratis updates van Victron krijgt door op een update knop te drukken, alles blijft werken en dat is precies zoals ik het wil. Rest: iPad als plotter. Misschien later nog een echte plotter ivm weersbestendigheid.