Slo-Tech - Google je v posodobitvi 91.0.4472.165 za Chrome OS zagrešil napako, zaradi katere se uporabniki niso mogli več prijaviti v naprave. Ker se Chrome OS kot operacijski sistem za naprave, ki se zanašajo pretežno na oblak, posodablja avtomatično ob ponovnem zagonu, uporabniki niso mogli storiti ničesar. V novi verziji 91.0.4472.167, ki je sedaj nared, so napako popravili. Kogar je nevšečnost doletela, lahko bodisi počaka, da se naprava ponovno samodejno posodobi, ali pa jo tovarniško ponastavi. Komur naprava deluje, se še nekaj dni odsvetuje ponovi zagon, da ne bi slučajno posodobil na nepravo verzijo.
Zanimivo pa si je bilo pogledati, kje je Google storil napako. Ker je Chrome OS odprtokoden, je to možno. Uporabniki na redditu so hitro ugotovili, da je šlo za napako v enem znaku. Namesto standardnega operaterja &&, ki v C++ pomeni 'in', se je v kodi pomotoma zapisal &. To je pomenilo, da Chrome OS sploh ni preverjal gesla, temveč je avtomatično javil napako.
Precej manj razumljivo pa je, kako se je takšen spodrsljaj lahko prikradel v končno kodo. Kanali canary, dev ali beta bi jo morali ujeti že pred tedni. A očitno se je nekje zataknilo, saj je to že druga spodletela posodobitev v manj kot mesecu dni. V začetku meseca je posodobitev začela trošiti procesorski čas brez razloga.
Novice » Operacijski sistemi » Kako je Google z enim znakom v kodi pokvaril prijavo v Chrome OS
kuall ::
>Precej manj razumljivo pa je, kako se je takšen spodrsljaj lahko prikradel v končno kodo
Refractoring. BigWhale bo vedel več povedat o tem.
Refractoring. BigWhale bo vedel več povedat o tem.
Reycis ::
Pomoje je vzrok kar lepo v poceni indijski developerjih. Tega bo vedno več in več (tako kot narašča tudi uporaba teh "delovnih sredstev").
Diversity is our greatest strength
HotBurek ::
Kogar je nevšečnost doletela, lahko bodisi počaka, da se naprava/avto/semafor/poštne storitve/bančni sistem/oh-oh-pametna hiša/in vse ostalo ne-bodi-ga-treba nobene-resne-potrebe digitalizorajmo-ker-so-drugi-tako-rekli ponovno samodejno posodobi, ali pa jo tovarniško ponastavi.
Čimprej vse v oblak, industrijo 4.0 in digitalizirat vse. Tudi bel kruh.
Čimprej vse v oblak, industrijo 4.0 in digitalizirat vse. Tudi bel kruh.
root@debian:/# iptraf-ng
fatal: This program requires a screen size of at least 80 columns by 24 lines
Please resize your window
fatal: This program requires a screen size of at least 80 columns by 24 lines
Please resize your window
Zgodovina sprememb…
- spremenilo: HotBurek ()
ZigaZiga ::
Kogar je nevšečnost doletela, lahko bodisi počaka, da se naprava/avto/semafor/poštne storitve/bančni sistem/oh-oh-pametna hiša/in vse ostalo ne-bodi-ga-treba nobene-resne-potrebe digitalizorajmo-ker-so-drugi-tako-rekli ponovno samodejno posodobi, ali pa jo tovarniško ponastavi.
Čimprej vse v oblak, industrijo 4.0 in digitalizirat vse. Tudi bel kruh.
Haha, pa feature-ji, ki jih proizvajalci s posodobitvami zaklenejo, ker ugotovijo, da lahko zaračunavajo zanje.
multivac ::
Kogar je nevšečnost doletela, lahko bodisi počaka, da se naprava/avto/semafor/poštne storitve/bančni sistem/oh-oh-pametna hiša/in vse ostalo ne-bodi-ga-treba nobene-resne-potrebe digitalizorajmo-ker-so-drugi-tako-rekli ponovno samodejno posodobi, ali pa jo tovarniško ponastavi.
Čimprej vse v oblak, industrijo 4.0 in digitalizirat vse. Tudi bel kruh.
Sedaj povežite vse to z "digitalnimi passuši".
Ena napaka v kodi in ne moreš več nič, pustimo ob strani zlonamerne manipulacije.
Že z napakami te odrežejo od življenja.
To je prihodnost, ki jo gradimo.
kuall ::
Napake se popravijo, življenje teče dalje. Kaj zdaj zganjate paniko pred napredkom. Če mi gre pa kaj na živce so to ljudje, ki paničarijo, ko so napake.
Zgodovina sprememb…
- spremenilo: kuall ()
LeQuack ::
Velke firme kot Google in Microsoft nimajo več testerjev in QA, so jih odpustil. Sedaj testirajo uporabniki na raznih beta kanalih.
Quack !
kuall ::
zakaj so to naredili?
po moje niso bili zadovoljni s storitvijo, ker je stestirat vse možne kombinacije težko, hitro kaj izpustiš.
po moje niso bili zadovoljni s storitvijo, ker je stestirat vse možne kombinacije težko, hitro kaj izpustiš.
kow ::
Napake se popravijo, življenje teče dalje. Kaj zdaj zganjate paniko pred napredkom. Če mi gre pa kaj na živce so to ljudje, ki paničarijo, ko so napake.
Ker to ni ravno napredek. Clovestvo vedno lovi balans med pravilno mero centralizacije/decentralizacije. Pri komputingu/podatkih imamo enak problem. Taksne napake imajo lahko katastrofalne posledice.
GupeM ::
Kogar je nevšečnost doletela, lahko bodisi počaka, da se naprava/avto/semafor/poštne storitve/bančni sistem/oh-oh-pametna hiša/in vse ostalo ne-bodi-ga-treba nobene-resne-potrebe digitalizorajmo-ker-so-drugi-tako-rekli ponovno samodejno posodobi, ali pa jo tovarniško ponastavi.
Čimprej vse v oblak, industrijo 4.0 in digitalizirat vse. Tudi bel kruh.
Daj nehaj. Prizadetih je 6 uporabnikov. Za par ur ali dni. Cca leto in pol nazaj smo videli, da največja težava ni v tehnologiji, ampak v nas, ljudeh. Skoraj 8 milijard ljudi prizadetih za 2+ let ...
multivac ::
Jirzy ::
Jirzy ::
No, to ne pomeni, da to ni problematicno :) Tudi googlu bi moralo biti v interesu, da se take napake najdejo cimprej.
kuall ::
Saj nismo proti napredku.
Zgolj to kar nam ponujate ni napredek.
Programiranje daje napredek. Programirali so, skušali so narediti program boljši, to je napredek, ali vsaj želja po napredku, vsak pa dela napake, ko dela, posebej programerji.
Zaplankanci so bili vedno v zgodovini proti napredku.
Zgodovina sprememb…
- spremenilo: kuall ()
multivac ::
Saj nismo proti napredku.
Zgolj to kar nam ponujate ni napredek.
Programiranje daje napredek. Programirali so, skušali so narediti program boljši, to je napredek, ali vsaj želja po napredku, vsak pa dela napake, ko dela, posebej programerji.
Zaplankanci so bili vedno v zgodovini proti napredku.
Ti si govoril o napredku googla ali človeštva?
Geho ::
WhiteAngel je izjavil:
Kako za vraga pa testi tega niso ujeli?!?
Ne samo testi... tak "resna" firma bi morala imeti tudi za vsak pull request peer code review, pa potem tudi unit teste in na koncu še QA testerje. Ampak očitno šparajo na vseh vogalih... :D Google pač.
MrStein ::
Jaz uporabljam storitve sloogle, ki je n-krat boljši!
#kupujem.domace
#kupujem.domace
Motiti se je človeško.
Motiti se pogosto je neumno.
Vztrajati pri zmoti je... oh, pozdravljen!
Motiti se pogosto je neumno.
Vztrajati pri zmoti je... oh, pozdravljen!
zmist ::
Jaz uporabljam storitve sloogle, ki je n-krat boljši!
#kupujem.domace
Vino z dodanim antifrizom je baje fantasticno (afera izpred let, ne vem katerega so uporabljali) za piti. Pa ce mu zraven dodas sladkor je baje se boljsi. Ampak to ne pomeni, da bojo ljubitelji vina zaceli divje kupovati vino z antifrizom, cetudi je boljse, jim dokazano skodi. Enako je z googlom. Normalen uporabnik ga bo zbojkotiraj zato ker ve, da skodi njemu in trgu v EU in konec koncev tudi v lastni drzavi, seveda pa je normalnih uporabnikov malo. Vecinoma so fanboyi, ki jim je google edino kar poznajo. In zabiti fanboyi bojo pa ves cas dopovedovali vsem, da je pa vino z antifrizom nekaj najboljsega. Ker so alkoholiki.
#ne.kupujem.domace.ker.sem.alkoholik.
Zgodovina sprememb…
- spremenilo: zmist ()
WhiteAngel ::
Zdaj ko še enkrat gledam kodo, razlike med & in && ni, če se oba operatorja delata nad boolom? Razen če .empty() in .has_value() vračata kaj drugega kot bool, kar pa načeloma ne bi smeli?
kuall ::
Po moje je programer, ki je naredil bug razmišljal isto kot ti: da oba naredita isto stvar. Btw a ni bil original & in potem && (ne kot slo tech članek trdi), ker v gitu so novosti zelene, staro pa rdeče.
Po moje bo problem tale detajl:
The real problem is that & is not short-circuiting.
Torej & požene obe funkciji, levo in desno od njega.
&& požene samo levo, če leva vrne false.
Meni še vedno ni jasno, bi moral videt vsebino funkcij. Po moje ni tako enostavno.
Še vedno pa drži moja orginalna trditev: ne spreminjaj kode po nepotrebnem, tudi če ti izgleda, da sprememba ne bo nič pokvarila.
Ko je spremenil & v && je mislil, da bo popravil bug, v resnici ga je ustvaril, ker je prejšnji programer napisal tricky kodo. Po moje bo to. :)
Po moje bo problem tale detajl:
The real problem is that & is not short-circuiting.
Torej & požene obe funkciji, levo in desno od njega.
&& požene samo levo, če leva vrne false.
Meni še vedno ni jasno, bi moral videt vsebino funkcij. Po moje ni tako enostavno.
Še vedno pa drži moja orginalna trditev: ne spreminjaj kode po nepotrebnem, tudi če ti izgleda, da sprememba ne bo nič pokvarila.
Ko je spremenil & v && je mislil, da bo popravil bug, v resnici ga je ustvaril, ker je prejšnji programer napisal tricky kodo. Po moje bo to. :)
Zgodovina sprememb…
- spremenilo: kuall ()
MrStein ::
Eno je Boolean operator, drugo pa bitwise and.
Motiti se je človeško.
Motiti se pogosto je neumno.
Vztrajati pri zmoti je... oh, pozdravljen!
Motiti se pogosto je neumno.
Vztrajati pri zmoti je... oh, pozdravljen!
GupeM ::
Po moje bo problem tale detajl:
The real problem is that & is not short-circuiting.
Torej & požene obe funkciji, levo in desno od njega.
&& požene samo levo, če leva vrne false.
Točno to je verjetno.
Če uporabiš &&, najprej preverjaš, če ima vrednost. Če je false, pogoj ni izpolnjen in se koda izvaja od if naprej.
Če uporabiš &, pa se pokličeta obe strani operatorja. Torej če has_value() vrne false, se desna stran operatorja vseeno pokliče. Ker pa vrednosti ni (has_value() je vrnil false), dobiš pa segfault (v Javi bi dobil NullPointerException) oz. nedefinirano vrednost in se zadeva sesuje.
Screenshot diffa je pa vprašljiv. Ali zadeva kaže napako ali popravek napake? Sklepam, da je bil "popravek," ki je uvedel & večji in ga zato ni nihče opazil. V screenshotu pa je po mojem mnenju popravek napake, zato tudi tako majhna in edina sprememba v tem fajlu.
Zgodovina sprememb…
- spremenil: GupeM ()
BigWhale ::
& - bitwise AND je v bistvu racunska operacija, && - logicni AND je pa primerjanje, ki se izvaja od leve proti desni. Zato moras za prvega vedno najprej evaluirat levo in desno stran izraza in sele potem izvajas operacijo. Za && pa ne rabis it naprej, ce je ze prvi del izraza vrnil false.
MrStein ::
Motiti se je človeško.
Motiti se pogosto je neumno.
Vztrajati pri zmoti je... oh, pozdravljen!
Motiti se pogosto je neumno.
Vztrajati pri zmoti je... oh, pozdravljen!
Zgodovina sprememb…
- spremenil: MrStein ()
Vredno ogleda ...
Tema | Ogledi | Zadnje sporočilo | |
---|---|---|---|
Tema | Ogledi | Zadnje sporočilo | |
» | Bo Windows 10 Cloud konkuriral Chrome OS?Oddelek: Novice / Operacijski sistemi | 15804 (13472) | xmetallic |
» | Neuradno: Chrome OS in Android bosta enoOddelek: Novice / Android | 12046 (9463) | AnotherMe |
» | Ubuntu Touch prihaja oktobra (strani: 1 2 )Oddelek: Novice / Operacijski sistemi | 35725 (30841) | WarpedGone |
» | Chrome OS prihaja letos in prihodnje letoOddelek: Novice / Operacijski sistemi | 10652 (8322) | opeter |
» | Google opušča Windows (strani: 1 2 3 )Oddelek: Novice / Operacijski sistemi | 30707 (26327) | denial |