Epic bug

Wednesday, 06 June, Year 4 d.Tr. | Author: Mircea Popescu

I had no ideea then of the horrors that were in store for me there...

Acum doua zile adica Luni am jucat eu Diablo III pina la extenuare mentala. L-am batut pe Belial soloi, pe urma am jucat in Act III cit sa fac catapultele si sa ajung la pot acolo un' se tot baga in seama Tyrael etc si m-am culcat multumit. Da' asa in starea aia de satisfactie a gamerului, daca nu sunteti nu cunoasteti ca n-aveti de unde. In tot cazul mi se pare ca Act III e cel mai reusit din Diablo III, ceea ce face loc unei observatii amuzante : in Diablo II de departe cel mai reusit act mi s-a parut II, cu desertul ala minunat si povestile cu Tal Rasha. In Diablo I de departe cea mai reusita parte era Tristram-ul, cu Butcher-ul si aia cu amuleta orbilorii, care ar fi partea I. Deci probabil ca-n Diablo 4 vom vedea un Act IV reusit.

Revenind la lumea vazuta din perspectiva persoanei mele, care este tot ce conteaza : Marti m-am trezit pe la prinz, aveam treaba, am facut diverse, am mincat, am dus fetele la plimbare, chestii de-astea de care daca sunteti gameri nu stiti ca n-aveti de unde. Intre timp mi-or ajuns la urechi rapoarte ca s-o futut Diablo-ul, da' n-am dat atentie pentru ca nu m-o interesat. M-am culcat, am dormit bine, ca omu' multumit de nivelu' 30 si toate alea, azi urma sa revin sa ma joc.

Mumu.

Deci sa va explic pe scurt ce s-o intimplat, ca sa ne distram impreuna. La fo' doua ore dupa ce m-am culcat eu, Blizzard a introdus un hotfix, care-i un update la codul de pe server ce nu necesita download catre clienti (spre deosebire de patch, care necesita). Nedocumentat ne nimica. Ca rezultat, toti utilizatorii de Wine (ca eu joc pe Wine) au ramas pe dinafara, cu urmatoarele simptome : te loghezi ca omu', nu vezi chat-uliii, dupa citeva minute lag-ul incepe sa creasca si te arunca afara cu Error 316704 (care-i pur si simplu o eroare ca nu esti conectat deci nu poti face chestii).

Disperare pe forumuri, 'jde utilizatori raportind ca ei ruleaza Wine si uite ce patesc, s-o vazut clar cind o inceput problema, alea. Printre ei niste utilizatori de Windows 7 rataciti. Fantastica diferenta apropo, sa vezi cum un thread de pe battle.net se morfeaza asa ca-n filme din "vai, uite ce-am patit wahwahwah" cum e vesnica poveste pe forumuri de jocuri intr-o sesiune de debug FOSS in toata regula, cu oameni impartind sarcini, facind teste si dind rapoarte. Daca te apuci sa compari cu un alt thread pe acelasi forum in care utilizatorii de Windows se dau cu curu' de pamint ca vai DAR EI AU PLATIT BANI DUTEN PIZDA MATII dintr-o data intelegi cam cum arata viitorul lumii asteia.

Intr-un final se disting cam care-s problemele. Nu-s complet sigur, da' punind cap la cap cam ce rezulta din spusele oamenilor povestea ar fi cam precum urmeaza :

1. Blizzard are un asa-zis Warden care-i o aplicatie care scaneaza memoria proceselor active (ca-s ale Blizzard sau nu), si apoi compara hash-uri cu o tabela de hash-uri de programe banate. Cit de eficient e in chestia asta e discutabil si discutat cu aprindere in comunitate. Faptu' ca poate citi diverse informatii private e iarasi o sursa de nemultumire intre oamenii sanatosi la cap, si motivul pentru care absolut nimeni n-ar rula nimic de la Blizzard (ca il folosesc peste tot) altfel decit ori in Wine ori in ceva virtualizare. Ideea de-a rula programe de-astea pe sistemul propriu e asa... un ce ridicol, specific utilizatorilor de Windows discutati dinsus.

2. Acest Warden a primit un update Marti dimineata devreme (ora Romaniei), pe serverele US. In Europa inca nu (si ca rezultat se poate juca Diablo III pe Wine fara probleme pe serverele EU).

3. Conexiunea Diablo III la server functioneaza pe urmatoarea schema : o conexiune principala trimite pulsuri la fiecare 20 de secunde cit timp jucatorul e logat (autentificat cum ar veni, in battle.net). O conexiune secundara trimite informatiile legate de joc, dupa cum e nevoie.

4. Simptomele blocarii sunt asa, ca dupa vreo doua minute clientul nu mai trimite pulsurile respective pe conexiunea principala, si deci isi pierde legatura la server, si deci jocul moare.

5. Cauzele respectivelor simptome sunt precum urmeaza : serverul trimite ceva challenge, la care warden-ul local raspunde citind ceva locatii din memorie, in care ori nu gaseste ce-i convine ori are alta problema, dar in tot cazul se blocheaza cu max load (CPU = 100%) recitind aceeasi memorie. Ca rezultat jocul are lag, nemaiprinzind acces la procesor, si pulsurile nu mai sunt trimise pe conexiunea principala (fiind probabil in queue dupa raspunsul la chestia care blocheaza scan.dll ala) si deci.

6. Problema exista doar in kernel-urile de 64 de biti. Cam toata lumea a confirmat ca foloseste kernel de 64 de biti (nu wine, care e pe 32 de biti oricum) si inca daca se muta pe 32 de biti jocul functioneaza fara probleme. Pe cale de consecinta ce s-a intimplat aici e precum urmeaza (cred eu) : un programator idiot a scris cod prost, care se bazeaza pe un bug implementat in pseudo-kernelul windows de 64 de biti. Acest bug nu functioneaza asa cum te-ai astepta in linux, dat fiind ca nu exista.

7. Daca aceste presupuneri ale mele sunt corecte atunci acest bug nu va fi rezolvat niciodata. Pe partea linux nu poate fi rezolvat, dat fiind ca oamenii aia nu se vor apuca sa-si strice codul ca sa mearga Diablo III pe el. Pe partea windows nu poate fi rezolvat, dat fiind ca Microsoft nu are abilitatea intelectuala de a intelege ce e ala un bug. Mai mari sanse aveti sa gasiti o baba bisericoasa care intelege Wittgenstein. Pe partea Blizzard nu poate fi rezolvat dat fiind ca ei nu au ce sa rezolve, au alegerea aia simpla din vremea browserelor proaste : ori faci pagina sa arate bine pe IE ori faci pagina sa arate bine pe toate-celelalte. Ce alegi ? E teoretic posibil ca vor renunta la respectiva chestie din Warden, da' in practica improbabil - fie si numai pentru ca un pulete incompetent ar trebui sa recunoasca ca o fost pulete incompetent, ceea ce la nivelul lui intelectual cit si socioprofesional e imposibil.

Ca rezultat parerea mea de administrator de proiecte soft cu experienta e ca acest bug nu va fi rezolvat niciodataiv si deci m-am apucat sa-mi instalez o imagine de ubuntu pe 32 de biti pe un flash. Dat fiind ca-i relativ simplu sa bootez din flash si sa ma joc de-acolo. Asta inseamna ca nu voi mai face alte chestii in timp ce ma joc, imprejurare care vai, dar ma umple de lacrimi. Va fi ca in 1994. Cit de trist.

Cam asta.

———
  1. 2.2k hp, se simte. Chestia e ca pe la jumatate din viata trage ceva atac de ~1.5k hp, aia-i singura lui proprietate importanta. Daca n-aveti un 2k hp acolo va face 1hit si gata. Daca aveti destul hp luati niste bile de-alea de heal sau o potiune ceva. Pentru mine a fost amuzant ca m-am dus cu fetish care il tot facea gaina pe bietul Belial in prima faza. Altfel darts + pestilence ftw. Nu luati templarul ca nu prea e de treaba, arcasul sau vrajitoarea []
  2. Poate cel mai tare moment din orice joc de oricind l-am trait atunci, in Halls of the Blind. Sa rememoram impreuna :

    I can see what you see not.
    Vision milky then eyes rot.
    When you turn they will be gone,
    Whispering their hidden song.

    Then you see what cannot be,
    Shadows move where light should be.
    Out of darkness, out of mind,
    Cast down into the Halls of the Blind.

    []

  3. Care-i o porcarie imunda, plina de boti spamind ca ei vind gold, nu stiu daca un om din zece sta pe chat. Chestia-i ca initial trebuia sa-ti activezi chat-ul, dupa care au facut un patch ca acum e activ default si tre' sa-l dezactivezi in fiecare sesiune, n-ai cum sa-l dezactivezi global macar. Ceea ce-i exact soiul de naspa pe care l-ar face Ubisoft. Doar zic. []
  4. Prin care termen intelegem "nu inainte de caderea in irelevanta a produsului. []
Category: Trolloludens
Comments feed : RSS 2.0. Leave your own comment below, or send a trackback.

15 Responses

  1. Mircea Popescu`s avatar
    1
    Mircea Popescu 
    Wednesday, 6 June 2012

    7. Daca aceste presupuneri ale mele sunt corecte atunci acest bug nu va fi rezolvat niciodata.

    Bai deci sa-mi trag o palma... l-au... reparat.

    O fost downtime, "maintenance", acum e... reparat.

    Pula mea. Nu stiu nimic.

  2. Asta a fost asa, ca ai facut tu gura si sa-ti dea la ,,mumu'':)) Ca altfel..

  3. Mircea Popescu`s avatar
    3
    Mircea Popescu 
    Wednesday, 6 June 2012

    Zici tu asa ca ma iubesti, da' haterii e de alta parere.

  4. Ma, ce-i drept m-am simtit asa, mai aeriana in ultima vreme. E de la iubirea eterna ce ti-o port. Gata, m-am lamurit

  5. tocmai ce vroiam sa zic ca "nu-s de acord, dar timpul iti va dovedi" cand a dat wordpress eroare. dat refresh... cacat pe mine de ras. plecat.
    veni, vidi, ridi

  6. Mircea Popescu`s avatar
    6
    Mircea Popescu 
    Thursday, 7 June 2012

    @Lilly Fericirea-i un lucru mic, e o aripa care vibreaza, fericirea-i un lucru marunt, un pitic ce danseaza.

    @F Sugi hatere :D

  7. Deci o ai mica?

  8. Mircea Popescu`s avatar
    8
    Mircea Popescu 
    Thursday, 7 June 2012

    Nu tu, era vorba de altceva, pfoai curvele astea tinere din generatia recenta dar fixista ca numa' la o chestie va sta capu' cit si curu monomaniacele pulii mele.

  9. Mircea Popescu`s avatar
    9
    Mircea Popescu 
    Thursday, 7 June 2012

    In acest timp, la ferma :

    {mircea_popescu> say! didja call my witch doctor of magnitude a poofter ?!
    {hanbot> :D
    {hanbot> i mightve
    {mircea_popescu> omg!
    {mircea_popescu> listen here, what's yer damage!
    {hanbot> iono right off.
    {mircea_popescu> aha!
    {mircea_popescu> whynot :D
    {hanbot> cause im kinda slow, if im playing solo i look at that stuff, when im in multi i just tend to grind and look at stats and stuff later
    {mircea_popescu> but my point was don't be calling me a poofter if you got half my damage with twice my weapons
    {hanbot> i dun have half your damage, poofter. :D
    {mircea_popescu> orly
    {mircea_popescu> you're over 200 ?
    {hanbot> but i mean, she poofs doggies and golems and whatnot, right?
    {hanbot> i'm over 200
    {mircea_popescu> hah.
    {hanbot> soon to be over 9000
    {mircea_popescu> by like... 8.
    {hanbot> omg whar is pvp
    {mircea_popescu> lol srsly
    {mircea_popescu> you'd be so ded.
    {hanbot> pOOf
    {hanbot> fft.
    {mircea_popescu> what'd you do, abstinence on me ?
    {hanbot> apa sfanta!
    {mircea_popescu> ahahahaah
    {mircea_popescu> apa ahahah
    {mircea_popescu> apa sfintita!
    {hanbot> o
    {mircea_popescu> lol

  10. so that's how you get off? i'm baffled

  11. mihai b`s avatar
    11
    mihai binsigna de prim sositinsigna de trolinsigna pentru 1000 de comentarii 
    Friday, 8 June 2012

    revin maine cu contrazicerea despre actul 3. doi mi se pare cel mai consistent in diablo 3. in diablo 2 mi se parea 5-ul de la lod.

    pe mine m-a futut blizzard la faza cu limitarea de obiecte pe farm in inferno la level 50. atat. X-(

  12. Mircea Popescu`s avatar
    12
    Mircea Popescu 
    Friday, 8 June 2012

    @Lilly Esti tinara domnita, sunt multe chestii pe care inca nu le intelegi drept ceea ce sunt ele.

    @mihai b Cum iti zice si unde joci ? Sa ne-mprietenim virtual cit si heterosexual online.

    Ce limitare apropo ca io n-am cunostiinta ? (nefiind inca decit pe Nightmare).

  13. Mihai B`s avatar
    13
    Mihai Binsigna de prim sositinsigna de trolinsigna pentru 1000 de comentarii 
    Friday, 8 June 2012

    sti sa il experimentez si eu, ca-s in prima saptamana si is si intr-o luna super aglomerata si o sa iti dau add cu mare placere apoi... ;)

  14. Mihai B`s avatar
    14
    Mihai Binsigna de prim sositinsigna de trolinsigna pentru 1000 de comentarii 
    Friday, 8 June 2012

    eu acuma am terminat nightmareul in 2. a fost destul de lejer, cica de pe hell incep probleme. hell la care nu ai acces decat daca esti macar lvl 50.

    pony secret levelul l-ai craftat sau inca nu?

  15. Mircea Popescu`s avatar
    15
    Mircea Popescu 
    Friday, 8 June 2012

    Inca nu, nici nu stiu cum se. Pana mea, am o saptamina vechime din care doua zile ocupat si trei zile asteptind sa repare astia jocu' sau cam asa ceva.

Add your cents! »
    If this is your first comment, it will wait to be approved. This usually takes a few hours. Subsequent comments are not delayed.