30+ éves bugot fedett fel Otto Moerbeek malloc-ja

Címkék

Otto Moerbeek egy ideje új malloc implementáción dolgozik az OpenBSD-hez. Az általa fejlesztett megoldást már többen is tesztelték, és egy ideje már elérhető a snapshot-okban is. Nemrég Nikolay Sturm jelezte Otto-nak, hogy sparc64 gépeken nagyobb C++ projektek fordítása néha elszáll Internal Compiler Error hibával. Megkezdődött a nyomozás, amelynek a végén egy ősi (az Undeadly.org szerint kb. 33 éves) bug került levadászásra a yacc(1)-ban. A sztori itt olvasható.

Hozzászólások

"A nyílt forrású szoftverek azért jók, mert azokban nem maradnak sokáig rejtve a bugok, hiszen bárki megnézheti a forráskódokat..."

;D

Kis sunyi, azt hitte, megússza ott a sötétben... :)

Jó munkához idő kell. .-)

--
"Kernel fordítás, fúj... Pótcselekvés."

Érdekesek ezek az ""oldboy"" bugok. Nincs tökéletes munka. De legalább kiderülnek. Na a lényeg az, hogy miféle nyelven lehet ez, mert 33 év alatt a C is annyit változott (volt egyéltalán 33 éve C)?

minden szoftverben van olyan hiba, amit a szoftver teljes élettartama alatt sem találnak meg, szóval nincs itt semmi látnivaló

szemelvenyek a hup poen rovatabol:

http://hup.hu/cikkek/20080705/jatszhato_demo_a_blender_institute_elso_n…

"Mond, Te fogyatékkal élő vagy, vagy csak szövegértési problémáid vannak. Sehol nem állítottam azt, hogy a Linux KERNELT auditálják, hanem azt mondtam, hogy a mission critical területeken igenis szokás auditáltatni a más cég/közösség/atyaúristen által készített kódot, mégha ez számodra az újdonság erejével hat is. Ha az éppen FOSS kód, akkor is, hiszen abban is van hiba."

http://hup.hu/node/57660#comment-594339

"Nem, mivel egy széles látókörű személy tudja, hogy minden zárt forrású termék untrusted, mivel nem lehet tudni mit csinál valójában a kód, nyílt forráskód esetén azonban bárki átnézheti a kódot, ezért nagyobb bizalmat lehet adni egy nyílt forrású rendszernek, mint egy zárt forráskódúnak.

Kemény, technikai érvek ezek."

#toy like ppl make me boy like

A probléma gyökere valójában pont ugyanott van nálad, ahol willy esetében is, miszerint a "milyen furcsa hogy ezt meg tudták tenni" kérdés/kijelentéseddel olyan érzést akarsz kelteni, mintha a bugokat forráskód nélkül fel sem lehetne deríteni...

Igazából ez a félrevezetés az, amely miatt szót emelnek a nem-csak-csendben-jókat-mosolygók. ;)

te mit ertesz bugok felderitese alatt? azt hogy konstatalod, hogy segfaultol ez a sz@r, nos igen ezt zart forrasu programmal ugyanolyan jol meg lehet csinalni. Ha ennel tobb kell, akkor azert jobb ha megvan a forras - pl. a cikkben az uriember sem jutott volna ilyen egyszeruen a vegso konkluziora ha a MS Office lett volna a hibazo program.

- Use the Source Luke ! -

es Otto hogy gyozodik meg arrol, hogy nem a malloc kodjaban van a hiba? Megnezi az office-t gdb-ben (de mondjuk nem akar asm kodot bogaraszni)? Vagy majd a microsoft kuld neki levelet, hogy megneztuk es nalunk volt a hiba? Ez igy szerinted tenyleg egyszerubb/jobb mint a cikk eseteben ahol Otto-nak megvolt a forras keznel?

- Use the Source Luke ! -

meg mindig nem arrol beszelunk h otto mit csinalt vagy csinal
hanem arrol h semmi koze az opensourcenak ahhoz h hogyan javitanak egy bugot

de ha mar muszaj ezzel a jasonlattal elni akkor otto ir egy olyan progit ami closed source libet hasznal es elszall akkor szerinted nem lehet kidebugolni h hol szall el? ott all ertetlenul es berakja a tokyo hotel cdt es elkezd sirni?

te komolyan programoztal valaha barmit is?

#toy like ppl make me boy like

persze nem a bug kijavitasarol beszelunk, hanem a "feltarasarol", barmit is jelentsen az :D.
amugy nyilvan konnyebb kidebugolni ha meg van a forras. jelen esetben is Otto beinditotta a gdb-t es rogton latta, hogy hol a hiba, biztosan nem az o kodjaban - amugy nehezebb bebizonyitani, hogy az o kodja hibatlan egy bug feltunese eseten.

- Use the Source Luke ! -

Ki lehet bármit debugolni, nem (csak) erről volt szó. Azért én valahogy könnyebben debugolok ha látom a forráskódot is...

Akár hiszed, akár nem, van az úgy hogy egy bug nálad mindig előjön, de a vendor nem akarja javítani, mert a 3 millió userből 2 darab panaszkodik miatta. Ne mondd hogy ilyenkor nem kényelmesebb saját magadnak megjavítani, mint a teljes solution-t kicseréni másik vendor megfelelő solution-jére.

Ja, persze lehet hogy ahol nagyon kritikus ott megveszik a supportot és megkapják az egyedi javítást. Vagy nem. Vagy el sem kezdik használni éles környezetben, supporttal, mert az adott körülmények között nem működik tökéletesen a sw.

vizualizalom ahogy a debian mentener srac az openssl bug javitasa utan belajavit az oracle kodjaba aztan bekommitolja

miaz h a vendor nem torodik valamivel?

lol?

kicsengetek mondjuk 10M-t licenszre aztan odamesz h dehat kressel, okmeg visszairjak h leszarjuk

ahahaa mosmar csak azt kene idepottyintened melyik magyar Bt nel vagy debian admin

#toy like ppl make me boy like

vizualizalom ahogy a debian mentener srac az openssl bug javitasa utan belajavit az oracle kodjaba aztan bekommitolja

Tudod, az a mondás járja hogy csak az nem hibázik, aki nem dolgozik. Nem akarom védeni a debianos maintainert, ellámázta és még a kommunikáció is rossz volt.

miaz h a vendor nem torodik valamivel?

lol?

kicsengetek mondjuk 10M-t licenszre aztan odamesz h dehat kressel, okmeg visszairjak h leszarjuk

Vagy csak annyit hogy köszönjük, a következő release-ben javítva lesz, hacsak más, magasabb prioritású feladat nincs. Esetleg azt, hogy ismert probléma amennyiben a másik rendszerkomponens x.y verziójával nem működik jól ha a mars együttáll a jupiterrel, frissíts x.y+2-re. Nyilván sarkítottam - de ha megindokolod. hogy szerinted miért rosszabb, ha egy kereskedelmi termék mellesleg nyílt forrású is, azt szívesen meghallgatom.

ahahaa mosmar csak azt kene idepottyintened melyik magyar Bt nel vagy debian admin

Pardon? Hogy jön ez ide?

guinness rekord?:)
-----
kit erdekel milyen kernel?

FIXME, de akkor ez a bug benne van a kereskedelmi UNIX-okban is, nem? Sot, meg akar OSX-ben is, XCode-ban csak van yacc. Szoval ok csak ugy atveszik a bugos FOSS code-ot anelkul hogy atneznek, vagy mi? :) (Csak hogy lemenjek a manyeyeballozok szintjere.)

Jah, kesobb eszembe jutott, kosz. Emlekeztem (utolag) hogy az XCode eleg regi bison-t szallit, ebbol volt is compiler error OSX-en.

Egyebkent a yacc-ot meg fejleszti valaki? Nem hinnem, mar a bison-t sem igazan fejlesztik, nehany evig fent voltam a bison levelezesi listan, kb. 1 email per honap volt a forgalom....

Jól tudom, hogy a legtöbb compiler és interpreter kiértékelője a lexx/yacc párost használja? Mert akkor ez rengeteg programot érint!

Huszonöt évvel ezelőtt a Számalk- ban Pető Ádám tanárúr magyarázta, hogy miért nem jó a malloc, Ő írt egy omalloc fvt helyette, azt használta. Akkor ámulva- bámulva halgattuk előadásait, de nem mindig voltunk szinkronban. Ő akkor az "átkosban" megelőzte korát, jó könyveket írt, bugjavításairól nem tudok, akkor az itt keleten nem volt divat.
--
üdv: virtualm