A Firefox 15 gondoskodik a memóriaszivárgásos add-on-okról

 ( trey | 2012. július 24., kedd - 13:20 )

A hírek szerint a Mozilla Firefox 15-ös verziójának bétájában a fejlesztők egy hasznosnak látszó ötlet megvalósításával foglalatoskodtak. Nevezetesen, a böngésző gondoskodni fog arról, hogy az add-on-ok részéről jelentkező memóriaszivárgások többségét megakadályozza. Rosszul programozott add-on a lefoglalt memóriát elfelejtheti felszabadítani miután a böngészőfül bezárásra került, vagy a felhasználó elnavigált a kérdéses oldalról. Ilyenkor ún. zombie compartment-ek jönnek létre. Ezek olyan memóriaterületek, amelyek sosem kerülnek felszabadításra. Ez azt okozza, hogy a Firefox futása során fokozatosan egyre több memóriát használ, lelassul és rossz esetben akár össze is omlik.

A Firefox 15-ben bemutatkozó változásoknak köszönhetően az add-on-t használó Firefox felhasználók nagy része számára jelentősen csökken a Firefox memóriahasználata anélkül, hogy a problémás add-on-okat megfrissítené. Ezeknél a felhasználóknál a Firefox gyorsabb lehet (esetenként a gyorsulás jelentős), kisebb lesz az esély az összeomlásra, kiváltképp akkor, ha több add-on-t használnak és/vagy a Firefox újraindítások közt jelentős idő szokott náluk eltelni.

A fejlesztők több ismert memóriazabáló add-on-nal is tesztelték az új változtatásokat. Ilyen például a SiteAdvisor 3.4.1.

A fenti képen a piros oszlop a SiteAdvisor add-on-nal ellátott Firefox 14-ben és Firefox 15-ben MemBench-csel megnyitott, majd bezárt 150 weblap utáni helyzetet mutatja.

Részletesen a fejlesztésről itt.

Hozzászólás megjelenítési lehetőségek

A választott hozzászólás megjelenítési mód a „Beállítás” gombbal rögzíthető.

Nevezetesen, a böngésző gondoskodni fog arról, hogy az add-on-ok részéről jelentkező memóriaszivárgások többségét megakadályozza. Rosszul programozott add-on a lefoglalt memóriát elfelejtheti felszabadítani miután a böngészőfül bezárásra került, vagy a felhasználó elnavigált a kérdéses oldalról. Ilyenkor ún. zombie compartment-ek jönnek létre. Ezek olyan memóriaterületek, amelyek sosem kerülnek felszabadításra.

Wtf? Ez ilyen defect by design. A durva fajtabol.

---
pontscho / fresh!mindworkz

Hm? Nem most lesz nagyon jó, hanem eddig volt nagyon szar. De hát valahogy meg kell ezt marketingelni, c'est la vie :D

Ezutan sem lesz nagyon jo, hanem csak kevesbe fos. Ez csak egy workaround, nem megoldas. :)

---
pontscho / fresh!mindworkz

Hasznos fejlesztes, de szerintem rossz vegerol kozelitik meg a dolgot: ezek az addonok valoszinuleg addig is tobb memoriat esznek/szivarogtatnak amig nem zarjak be a tabot. Tehat amig be nem zarod a tabokat addig nemsokat er...

Szerk.: En a helyukben letiltanam az ilyen addonokat amig ki nem javulnak. Plusz nemtudom hogy keresztulmennek-e az addonok valamilyen tesztelesen, de lehet azokon kellene okositani elsosorban, vagy ha eddig nem voltak akkor bevezetni.

Lehetne futás közben elemezgetni a kódot hogy az használ-e még egy-egy memóriaterületet. Csakhogy ez lassulást okoz. Amikor azon megy az öldöklés hogy melyik böngésző a gyorsabb, ezzel a lassulással nem lehetne annyira lengetni a lógatnivalót.

Lehetne futas kozben, de miert a vegfelhasznalo gepen? Kikunyeralnak meg nehany szerverrevalot a google-tol es azon megcsinaljak ugyanezt. Ha leakel visszadobjak a fejlesztonek, ha nem akkor letoltheto. Ha pedig mar egy publikalt verziorol derul ki, hogy gon van vele(vagy felmerul hogy gond lehet vele) akkor tetiljak amig ujfent nem javitja a fejleszto.

Igazad van.

Kikunyeralnak meg nehany szerverrevalot a google-tol es azon megcsinaljak ugyanezt.

És felvesznek 100 embert, hogy kattintgasson Firefoxot, mindenféle addonokkal? Vagy hogy?

tetiljak amig ujfent nem javitja a fejleszto.

Hogyan történne ez? Pl. nem tudom installálni az adblockot, mert éppen memória hiba van benne? Jöjjek vissza holnap, hátha addig a fejlesztő javítja? És ha én inkább mégis szeretném installálni? Inkább egy kis leak, mint a reklámok.

Idézet:
Vagy hogy?

Nem ez lenne az elso gui-s program az informatika tortenelmeben aminel megoldjak, hogy lehessen ugy is tesztelni hogy nem ul elotte senki(random mouse/keyboard input injection). ;)

Idézet:
Hogyan történne ez? Pl. nem tudom installálni az adblockot, mert éppen memória hiba van benne? Jöjjek vissza holnap, hátha addig a fejlesztő javítja? És ha én inkább mégis szeretném installálni? Inkább egy kis leak, mint a reklámok.

Nem fogok munkaidomben leirni neked egy teljes specifikaciot, hogy hogyan kellene/lehetne ezt megcsinalni. Hasznald a fantaziadat, nehany app store-nal megoldottak mar ezt. Fogd fel ezt is ugy mint egy disztribucios platformot, aminel meg kell oldani ezeket.

Úristen A REKLÁMOK :C
Sosem értettem ezt az adblock mizériát, akinek van, általában nagy az arca miatta, akinek meg nincs, azt nem zavarja a hiánya. De gondolom nem mindannyiónkat erőszakoltak meg a reklámok kiskorunkban.
----
India delenda est.
Hülye pelikán

Csak a HUP-ot olvasod? :)

Biztos kevés pornóoldalt nézel, ezért nem zavar a csöcsökre és muffokra kerülő reklámok. Vagy mondjuk lynx-et használsz.

Egyébként meg. Szerintem te egy hülyével találkoztál, akinek alapból nagy az arca és véletlenül van adblock-ja is. A reklámok nem erőszakolnak meg, de én személy szerint kurvára unom kivárni amíg a reklámok miatt lényegesen hosszabb ideig tart egy oldal betöltése (ahogy rühellem a filmek közbeni reklámot is, ott sajnos nincs adblock még). Lehet türelmetlen vagyok, de érezhető a különbség. Valahogy tisztább, szárazabb érzés adblock programmal. De persze értem én, kellenek olyanok is akiket ez nem zavar, különben kiből élnének a reklámos oldalak, amiket utána reklám nélkül nézek meg.


"Belépés díjtalan, kilépés bizonytalan."

Zavarnak, a TV-ben is utálom őket nézni.
___
Blogom

TV-ben időosztásos a technológia, weboldalon meg felületosztásos. Az előbbi engem is zavar nyílván.
----
India delenda est.
Hülye pelikán

Ha nem a két vezető magyar TV adóról van szó, akkor azért reklám < tartalom a jellemző. Viszont rengeteg weboldalon inkább 80+ % erőforrás megy a flash reklámokra, idegesítően ugrál, villog stb. Ha csak 10 mega lenne pluszban ok, de már rég nem csak felületbeosztásos. Ismerős az a popup block megkerülés, amikor kattintásra két oldalt is meghív egyszerre?
--
AGA@
Fork portal és az egyik logóm :)

Nem állítottam, hogy weben nincsenek idegesítő reklámok. Sőt, van ami flash és betolakszik a weboldal elé, mielőtt megnézheted a tényleges tartalmat. Igen, de a többség nem ilyen. A többség szimplán be van tokozva egy helyre, és reklámoz. Az a 80+% nem tudom minek a %-a, de nagyon gyenge géped lehet, ha érezhetően belassítják a reklámok.
----
India delenda est.
Hülye pelikán

Nem mondtam, hogy erős gép :) Netezni ezen sokéves gépen szoktam legtöbbet. Lassan nem elég rá. Kivéve, ha letiltom a reklámokat. Mikor véletlen más rendszert futtatok rajta, és azon nincs adblock, valahogy nem úgy érzem mintha "a többség nem ilyen" lenne.
Fura amúgy, ebbe topicba azért jöttem, mert operánál is létezik ez a memóriaszivárgásos dolog, és most jutott eszembe, ez kb. az óta van mióta ez is használ pluginokat. Persze ezt másik szálba kellene..
--
AGA@
Fork portal és az egyik logóm :)

nagyon gyenge géped lehet, ha érezhetően belassítják a reklámok

Nekem egy 2 éves MBP-m van, és ezt is lelassítják. Mondjuk a firefox/chrome/safari önmagában lelassítja, de a flash reklámok még jobban.

Esetleg nem kellett volna egy túlárazott csini mosógépet venni. Az én gépem is két éves, monitorral együtt sem volt 150k, és soha nem lassult be 100 tab alatt a reklámok miatt.
----
India delenda est.
Hülye pelikán

"Esetleg nem kellett volna egy túlárazott csini mosógépet venni."
Szeretnél te ilyen mosógépet.
--
HUPbeszolas FF extension

Hát, mivel mosni nem tud, ezért nem praktikus. Egyébként jah, az árából vennék egy mosógépet meg egy számítógépet.
----
India delenda est.
Hülye pelikán

Jah, nem tud mosni, mivel nem mosógép, max te nézed annak.

Egyéb okos beszólás fanboioktól?
----
India delenda est.
Hülye pelikán

Mi már nem is vagyunk jók neked?
--
HUPbeszolas FF extension

Kitsit untsi ez mán. Egy félkomoly beszólásra ekkora hisztit keverni. Amikor jön valaki azzal, hogy az ő 2 éves gépét lassítják a reklámok, és ráadásul ez egy hypeolt hűdehajde gép, akkor nem tudok mást tenni, mint kiröhögni az illetőt a saját, két éves, összebarkácsolt gépemmel.
----
India delenda est.
Hülye pelikán

Rángatózzál még :)
--
HUPbeszolas FF extension

Igazi mestertroll vagy, főleg az a szmájli mestermű. Gondolod te. Lenne egy releváns képem, de túl könnyű azt írni rá, amit eddig, szóval nem keresem elő.
----
India delenda est.
Hülye pelikán

Ne hagyd abba :)
--
HUPbeszolas FF extension

És nem. Kíváncsi vagyok mikor jön tréj hogy fejezzük be a maszturbálást.
----
India delenda est.
Hülye pelikán

Ez milyen processzor és gép? Nyomnál egy cat proc/cpuinfo-t meg egy lspci-t? A MBP nem emlékszem mennyi volt, de 150k-nál biztos több. :)

Főleg azért vettem, mert elegem volt a windows és a linux hülyeségeiből, meg mert nem nagyon lehetett más olyan gépet kapni ami azért jól hordozható, de nagy a felbontása (ennek 1680 x 1050), valamint az akksi idő miatt.

Így most az OSX hülyeségeivel szenvedek, talán ez egy kicsit jobb, de akkor is idegesítő és már érik egy thinkpad ubuntuval......

D:\>cat proc/cpuinfo
'cat' is not recognized as an internal or external command,
operable program or batch file.

D:\>lspci
'lspci' is not recognized as an internal or external command,
operable program or batch file.

D:\>

Egy komolyabb jegyzeten, releváns részek az iponos rendelésből:
AMD Athlon II X2 250 3.00Ghz AM3 BOX
MSI R4670-MD1G PCIE
2 darab KINGSTON 2048Mb DDR3 1333Mhz
----
India delenda est.
Hülye pelikán

Ugyan az én MBP-m nem 2, csak másfél éves, de ezt a fost 6x lekörözi, pedig egyesek szerint csak egy mosógép :)
--
HUPbeszolas FF extension

És mégis akadnak rajta a reklámok. Lehet nem csak az epéniszt kéne méregetni :)
----
India delenda est.
Hülye pelikán

Örülök, hogy jobban tudod, mi akad az én gépemen, és mi nem. A reklámok azok speciel nem akadnak :)
--
HUPbeszolas FF extension

Azért írhatnál róla, mi a problémád az OSX-szel, kíváncsi vagyok.
--
HUPbeszolas FF extension

Pl. az egy applicationból csak egyet futtatunk hozzáállás zavar. Én sok projekten dolgozom kvázi egyszerre, és pl. mindegyikhez szeretnék egy terminál ablakot nyitni vagy egy editort. Megoldható, de nem tökéletes a megoldás amire rájöttem.

Hasonlóképpen pl. nem lehet azt megcsinálni, hogy egy safari ablak "on all spaces" legyen, de a többi safari ablak ne.

Az automatikus window zoom is zavar, mármint, hogy nincs rendes fullscreen funkció.

Nem lehet egér nélkül az ablakot egy másik space-re mozgatni.

Meg még van ilyen néhány.

Ilyesmik. Nem nagy ügy egyik sem, csak idegesítőek.

Hát ezek tényleg nem nagy ügyek, sőt, a külön terminál ablak és a zoom nem tudom miért probléma. Rendes fullscreen pedig van Lion óta. Ilyenek miatt ubuntura váltani elég érdekes lépés, de te tudod :) Majd visszasírod még az OSX-et :)
--
HUPbeszolas FF extension

"Nem lehet egér nélkül az ablakot egy másik space-re mozgatni."

Ez mondjuk tényleg idegesítő. Vagy van rá hotkey?

Szerintem nincs, de engem valahogy nem idegesít :)
--
HUPbeszolas FF extension

Külön terminál ablak azért probléma, mert egy space-re rakom az összes ablakot, ami kell egy projekthez. Terminálból lehet ugyan külön ablak, de a terminálok akkor is összetartoznak OSX-ben, pl. váltás köztük már máshogy megy mint a külön alkalmazások között. Logikailag semmit nem kapcsolná össze őket.

Vagy pl. az ablak mozgatása billentyűzetről. Át lehet vinni egér + billentyűvel, többnyire (ez is érdekes, hogy vannak kivételek), de ez pl. 3 sec-ig tart, billentyűzetről Linuxon meg 0.1 sec-ig tartott. Biztos lehet rá írni valami applescript-et.

A "show on all spaces" is baromi idegesítő, szeretnék egy firefox ablakot kitenni a külső monitorra, minden space-re. Na ezt nem lehet megcsinálni rendesen, mert a többi firefox ablak is minden space-en ott lesz. Emiatt futtathatok kettő böngészőt...

Nem elég flexibilis az OSX, ez van.

Jó, hát visszasírni biztos nem fogom, legfeljebb visszaváltok. :) De még nem döntöttem el egyébként, mióta nem használok Chrome-ot, azóta nem fagy az OSX, szóval most nem sürgős annyira.

Értem én, hogy ebből él az online sajtó, csak akkor csináljanak olyan reklámokat, amik nem eszik meg a fél procimat és nem 1M/db. Akkor majd visszakapcsolom őket. A szövegeseket nem is tiltom le, az nem zavar.

Próbáltad már a hosts állományt?


=Λ=

ezt hogy érted? beírod a reklámoldal domainjét valami dummy ip-re? vagy hogy?

Majdnem, én ezt használom.


=Λ=

Akkor inkább már az adsuck

https://opensource.conformal.com/wiki/adsuck

Köszi a tippet, de úgy látom, hogy ez gyakorlatilag egy DNS szerver, ezért nekem nem megfelelő.


=Λ=

Azért ez korántsem annyira finomhangolható, mint amit az adblock tud. A hostsfile még egy sima wildcardot sem tud, meg is látszik a méretén.

Nyilván nem felel meg mindenki elvárásainak, de nekem igen, a bővítményeket egyébként sem szeretem, plusz ez cross-browser, így nekem jó megoldás.


=Λ=

Ez a rengeteg bejegyzés nem lassítja le az internetezést?

Csak gyorsítja, viszont adblockkal anno lassabb volt a böngészés, mintha fel sem raktam volna, ezért váltottam, azóta semmi negatívumot nem fedeztem fel.


=Λ=

És felvesznek 100 embert, hogy kattintgasson Firefoxot, mindenféle addonokkal? Vagy hogy?

Szerintem megoldott problema mar akar a GUI-s programok automatikus tesztelese is, emberi "kattintgatasok" nelkul :)

Hogy tesztelnek automatikusan GUI-s programokat?

Hihetetlen, hogy van még olyan ember, aki nem tud keresni az interneten.
--
HUPbeszolas FF extension

Kezdesnek megteszi: List of GUI testing tools.

Szerk.: ilyen teren(is) szereny tudasom szerint en ket nagyobb csoportra osztanam hogy hogyan lehet tesztelni:
-Elore felvettt input visszajatszasa
-Veletlenszeru input generalasa

Aztan ezeket lehet finomhangolni, keverni(pl. ha masod esetnel elojon valami problema, akkor menteni es kovetkezo buildeknel mar mint elore felvettkent lejatszani).

Szivesen olvasnek ilyen teren dolgozo emberektol hogy naluk hogyan megy ez.

Masreszt ugye az is megoldas (volt ahol dolgoztam, es igy csinaltak inkabb), hogy fejlesztenek hozza egy interface-t, amivel mindenfele konkret GUI test tool nelkul lehet azokat az esemenyeket egyszeruen triggerelni, amit GUI-n at is lehetne amugy "kezzel". Na persze, ha nincs ilyen, meg mindig vannak tenylegesen a GUI-n at mukodo test toolok is. Az persze passz a reszemrol, hogy konkretan firefox-nal hogy is tesztelnek.

De mondjuk meglepo is lenne, ha GUI-s programot nem lehetne tesztelni csak "kezzel": azert mara eleg sok GUI-s sw letezik kulonbozo OS-ekre, stb, melyek igen komplex test fazison esnek at, neha minden build utan, azert fura lenne, ha ezt mindig manualisan vegeznek el ... A "kezzel megnezem, most jo-e" az inkabb hobby projectek eseteben tortenik, szerintem.

Idézet:
Masreszt ugye az is megoldas (volt ahol dolgoztam, es igy csinaltak inkabb), hogy fejlesztenek hozza egy interface-t, amivel mindenfele konkret GUI test tool nelkul lehet azokat az esemenyeket egyszeruen triggerelni, amit GUI-n at is lehetne amugy "kezzel".

Koszi, ez nem jutott most eszembe pedig olvasgattam mar ilyenekrol is.

Atom fugg milyen program. Nagyon sok helyen csak kézzel tesztelnek, kivéve a terheleses teszteteket, és itt nem garazscegrol hanem sokmilliós nagyvallaltrol beszélek. Ahol most dolgozom pont a webbank regresszios tesztjenek automatizalasat végzem. Kérdezz nyogodtan, az input output ellenőrzés lehet véletlen generált, nem alapfeltétel. Amúgy jó gui alapu automatizacios toolbol nem sok van.

Mi például irtunk egy saját tesztrendszert ahol lépéseket tudsz definiálni (bejelentkezés, különböző műveletek az oldalon).
3 szint van: Vannak a tesztatomok, tesztatomok egy csoportja alkot egy lépést, lépések csoportja egy tesztesetet.

A rendszer az egyes lépések után a workflow alapján ellenőrzi, hogy a weboldalon létrehozott objektum a megfelelő Milestone-ban van-e.

.

FF+TB addonokkal mindent visz.


No rainbow, no sugar

Marmint minden memoriat visz :)

a Firefox addonok nelkul sem uriti rendesen a memoriat,
1 nap Firefox 4-5 tab >> 180M hasznalva
5 nap Firefox 4-5(termeszetesen kozbe tobb kinyitva bezarva) tab >> 720M hasznalva

Ez nem épp igazán mérvadó. Lehet hogy az addig egy adott dologra lefoglalt memória területből még nem került kiosztásra neki egy adag (merthogy nem használt még ki belőle annyit). A virtuális memória fogyasztás mértékét nézd meg előtte és utána.

Úristen, 720 mega, már csak 15,28 giga maradt, jajjajjjajjjj mi lesz most /o\
--
HUPbeszolas FF extension

Bár az alapokat értem és tulajdonképpen igazad is van, de hasonlóak miatt tartunk ott, hogy minden eszi a memóriát, mert mit szarozzunk vele, maximum veszel még egy csíkot. Természetesen memóriára gondoltam.


"Belépés díjtalan, kilépés bizonytalan."

ja és ilyenkor jönnek azok a marhaságok hogy gnome alatt menus-have-icons false, mikor van 16GB ram FullHD felbontás... Amikor 1024x768 felbontása volt a többségnek valahogy akkor senkinek jutott eszébe ilyen.

Igen itt a gond. A tesztből is látszódik, hogy 374Mb ott maradt neki, pedig biztos nem ennyivel indult.

Ha az addon háttérszálat is indít, ami időnként csinál is valamit a lefoglalt területeken, akkor ebből frankó memória korrupciós hibák is lesznek :-)

Én nagyon szurkolok Stephen Elopnak, hogy miután kib.szták a Nokiától, a Mozillánál folytassa. Csinálhatná ugyanazt, mint a finneknél: kinyírhatná a mostani termékvonalat, és leválthatná azokat egy "nulláról" fejlesztett megoldással.
A firefox és a thunderbird akármit csinálnak nem lesz jó, rohadt mindkettő a velejétől. :)
--
zsebHUP-ot használok!

Én már kezdek visszatérni Firefoxra Chrome-ról.

miért?

Mert már a Chrome is van olyan szar... és Firefoxhoz legalább talál az ember normális kiegészítőket, meg lassan javul.

+1

+1

Ezt bovebben is kifejthetned, mert napi hasznalat soran semmilyen problemat nem eszlelek vele kapcsolatban. Igaz en nem tomom tele addonokkal.

Arra azért kíváncsi lennék, hogy ha már használnak egy igencsak pöpec garbage collectort (http://www.hpl.hp.com/personal/Hans_Boehm/gc/) már egy ideje, akkor miért csak memleak detektálásra használják?
Ja, most már a bezárt tabok által lefolglalt memóriát (többnyire) eldobálják... minden új verzióra kell egy új "selling feature".
Sebaj, ha kicsit belehúznak, talán visszatérek hozzájuk, 7 év után :)

Köszönöm, nálam nagyon jól megy a 3.6-os verzió, csak ne csipogna állandóan, hogy frissítsek :)
Apropó, nem lehet lebeszélni erről? Valami hack, add-on, config piszkálás?

Ne engedd ki a netre a Firefoxot és megoldódik... :)

Mármint ugye a "Firefox gondoskodik a memóriaszivárgásos add-on-okról".

Vagy most hogy van ez a verziószámozás? Nincs, de mégis van?

nemide