Negyed évszázados bugot javítottak a BSD-kben

Címkék

Az OpenBSD fejlesztő Marc Balmer egy nap levelet kapott Edd-től, az OpenBSD felhasználótól, aki azt állította, hogy bizonyos esetekben a Samba összeomlik. A Samba forrásból és nem a ports-ból került lefordításra. Marc-ot elkezdte érdekelni a probléma, mert sokat és nagy felhasználói bázissal használja a Samba-t, ezért nyomozásba kezdett. A nyomozás végén olyasmibe botlott, amire nem számított és ami meglepte: egy olyan bugot talált, amely durván 25 éve benne van az összes BSD-ben.

Edd CC-zte a leveleit Volker Lendecke-nek és Jeremy Allison-nak, a Samba csapat két fejlesztőjének, így ők is bele tudtak folyni a bugvadászatba. Jeremy elmondta Marc-nak, hogy a Samba valóban alkalmaz egy workaround-ot, helyettesítő kódot a BSD-ken a könyvtárak hozzáféréséhez, mert a összes BSD-ben hibás könyvtárhozzáférésért felelős kód. A Samba fejlesztők szerint egyébként a workaround komoly, a BSD-k telldir() függvényével kapcsolatos teljesítmény- és memóriaproblémákat is javít. Marc nehezen akart hinni ennek az állításnak és első körben a Samba-t hibáztatta a problémáért. Azonban nem hagyta nyugodni a probléma és nekiállt tesztelni. A problémakeresés eredménye az lett, hogy reprodukálni tudta a problémát. Ezután már sikerült javítania azt a bugot, amelyet minden BSD tartalmaz a 4.2BSD óta.

A javítást már átvette az összes nagy BSD, így megtalálható a javítás a NetBSD-ben, a FreeBSD-ben, DragonFly BSD-ben és természetesen az OpenBSD-ben.

Marc Balmer blogjában írja le a bug felfedezésének, javításának történetét.

Hozzászólások

Ha ez a Linux-ban lett volna, milyen fasza kis köpködő nap elé néznénk ;)

--
trey @ gépház

Szép magyar szokás köpködni egymást az ellenség árnyékában...
De kijavították és mostmár jó. Igaz még nem használtam BSD-t, de biztos jobb, mint bármelyik M$ szoperációs rendszer.
Ha jól belegondolunk, akkor az OSX is érintett, mert ők is bsd alapon nyomulnak. Akkor sutyiban ők is frissítenek?

------------------------------------

Si vis pacem, para bellum!
Ha békét akarsz, készülj a háborúra!

Ez valami paranoia, hogy egyesek csak ellenségekben tudnak gondolkodni?

"De kijavították és mostmár jó. Igaz még nem használtam BSD-t, de biztos jobb, mint bármelyik M$ szoperációs rendszer."

Ki kell, hogy ábrándísalak, de legalább annyi pozitívumot és negatívumot fel lehetne hozni tetszőleges BSD (és Linux vagy akármi) mellett, mint a Windows mellett.

Desktopon szvsz még mindig jobban áll a Windows, mint bármelyik Linux vagy BSD. Szervernek viszont nagyon is jó (pl. a FreeBSD-t elég látványosan szerverekre szánják, függetlenül attól, hogy elvben általános célú operációs rendszer), hup is pl. FreeBSD alól megy.

Ez így igaz lenne, ha mindent, ami nem szerver felhasználás, egységesen a Dekstop kategóriába lehetne nyomni. Általános homeuser netböngészési, levelezési, irodamunka-like szöszmötölési (körlevél ppt-k nézegetése, vhsgyűjtemény katalogizálása), bármennyire fáj kimondanom, de már most alkalmas egy gnome/kde desktop, mindkettőn kiismeri magát egy kezdő, gnome idiótabiztosabb, kde csicsázhatóbb, ízlések és féltéglák.

Grafikusi vénával rendelkezőknél kétesélyes, vagy hajlandó kidobni ps ismereteit, és kb nulláról kezdeni az ismerkedést gimppel, vagy nem.

Audio,Videoszerkesztés.. Előbbi eszméletlen sok hegesztéssel (kivéve ha direkt erre összerakott disztrot használ)megoldható, utóbbi viszont.. oké, ott van blender, de annak, aki pl csak egy jól kinéző kisfilmet akarna összerakni, ágyúval verébre.. moviemaker jellegű cucc (kdenlive,kino) van, de a középkategória (professzionális kinézet egyszerűen) mittom Sony Vegas, nemigen (Ha mégis, írjatok, hálás lennék)

Ha valakinek flash (szerkesztés),visualstudio,msoffice függősége van munkája miatt, akkor pedig sztorno.

És melyik BSD van összereszelve úgy, hogy azt egy kezdőhöz hozzá lehet vágni különösebb reszelés nélkül?

Iroda munka meg sok helyen kiesik az OOo miatt, több helyen írták már, hogy ha milliókról van szó, akkor nem pénz az MSOffice, csak hogy megjelenítse normálisan a kapott doksit.

Profibb audiósok meg nem fognak nekiállni szerencsétlenkedni heggeszteni rendszert, hanem inkább keresnek valami olyan rendszert/sw-t, amivel dolgozhatnak és nem kell játszadozni azzal, hogy menjen. (Pl. OSX vagy Windows).

Akárhogy is nézem, de ha valaki egy egyszerűen használható rendszert akar, akkor az nem BSD-zni fog. Nem azért, mert szar, hanem azért, mert erre van jobb is.

Most bocsáss meg, de nem ezt írtam? Imádom a nagyothallókat =)
A te felvetésed a melyik linux/bsd-volt.
így összeszerelt bsd-t még nem próbáltam, de PC-BSD pl állítólag ilyen.
Ubuntut és derivatíváit bármennyire nem kedvelem, kezdők első pontban megfogalmazott követelményeinek eleget tesz.

Többi területről meg tételesen ugyan ezt írtam.

Kivéve talán az irodai felhasználás, .. a milliókról szóló dokumentumot nem tökmind1 h pixelre ugyanúgy látják-e itt mint ott? Ha meg ez a szempont, pdf. Nyomdakész.
Vagy alkalmazzon OpenSOurce Document Compatibility Assistantot.. az érzékeny lelkű főnöknek érkező agyonformázott doc-okat (titkotartási kötelezettséggel persze)kijavítva menti odfbe =D

"a milliókról szóló dokumentumot nem tökmind1 h pixelre ugyanúgy látják-e itt mint ott?"

Mint a gyakorlat mutatja, nem. Kérdeztem nem egy embert, hogy miért nem lehet kiváltani az MSO-t OOo-val, mindenhol ezt emelték ki, hogy nem engedhető meg az, hogy nem pixelre pontosan ugyanúgy jelenik meg, mint MSO-ban.

"És melyik BSD van összereszelve úgy, hogy azt egy kezdőhöz hozzá lehet vágni különösebb reszelés nélkül?"

az osszes oss rendszer kozul a suse, ami ugy ahogy normal halando ele lehet pakolni.

"Akárhogy is nézem, de ha valaki egy egyszerűen használható rendszert akar, akkor az nem BSD-zni fog. Nem azért, mert szar, hanem azért, mert erre van jobb is."

Igen, MacOSX es Windows a nevuk.

Viszont nem hiszem, hogy barmelyik linuxnal vagy hasonszoru os-nel bonyolultabb lenne (sot...).

--
Segmentation violation -- Core dumped blues

Engem csak az érdekelne, hogy ha a Sambások tudtak a hibáról évek óta, ez az információ miért nem jutott el a *BSD-sekhez...

Van egy olyan érzésem, hogy a Sambások már szóltak, csak a reakció az volt mint most is első körben: "Marc nehezen akart hinni ennek az állításnak és első körben a Samba-t hibáztatta a problémáért."

"...handing C++ to the average programmer seems roughly comparable to handing a loaded .45 to a chimpanzee."
-- Ted Ts'o

Ez mindenhol így van, a zárt forrású fejlesztőknél is. Kapcsolatban vagyok néhánnyal. Lehet a Szűz Máriához nem könyörögtek annyit összesen, mint amit egyeseknek kell, hogy egy bugreporttal foglalkozzanak. A válaszok közük a kedvencem: "1000% hardverhiba, mert nálam működik". Az esetek 999%-ban kiderül, hogy nem hardverhiba hanem szoftverbug probléma.

--
trey @ gépház

Nem világos a dolog.

- Tudták, hogy workaround van
- Van forráskód
- Jelezték is

Szóval mi ebben az, amit nehezen hisz el az ember a saját szemének is???

Ilyen bugot mutasson a Linux saját kódban! ;)

Én meg csendbe gratulálok a kitartó bugvadászatért..

pch

Sokan írtátok, hogy dehát megvolt a kód, meg a workaround, meg ez, meg az...

Elolvastátok a történetet?

A samba készített egy workaroundot, amiben volt egy abort() ami egy hiba esetén kilépett. A ports-ba tett sambából ezt okosan kivették :-)

Szóval a workaround benne volt régóta a sambában, tudtak is róla, csak senki nem állt megnézni, hogy mit is workaroundolnak, és miért.

A jelentett hiba meg valóban a samba sara volt, mert benne volt az eredeti abort() :-)

G

ez viszont letezo problema, hogy vannak patch-ek, amik elfelejtenek upstreambe menni, rosszabb esetben upstream nem rakja be, vagy csak siman szrik ra
rosszabb esetben egy nagyobb verziora lepeskor meg a csomagbol is eltunik, mert senki nem fog 10-15 patchet portolni...

--
Segmentation violation -- Core dumped blues

És hol marad a hagyománytisztelet? Ez egy huszonöt éves hiba. Ezt már nem javítani, hanem piedesztálra emelni kell(ene)! Ez a bug már a történelem része! Erre egyszerűen megszüntetik. Hova satnyul így a világ? :-D

Ave, Saabi.

egy c guru magyarazza mar el, hogy mit is csinal a patch.

mert az en olvasatomban: beraktak egy skip parametert a _readdir_unlocked fuggvenynek. majd szepen modositottak, hogy ahol meghivodik a _readdir_unlocked, ott a skip parameter 1. nincs meg a teljes forrasom, de valahol van meg eredeti _readdir_unlocked(dirp) fuggvenyhivas, ahol a skip automatice 0 lesz?

Elbandi
--
A vegtelen ciklus is vegeter egyszer, csak kelloen eros hardver kell hozza!

Ha addig nem halunk ki, érdekes lesz majd ezt olvasni a hup10k.oceania-n:
nyolcezer éves bugot javítottak a BSD-kben, amelyet a verziókezelő logja alapján Rajiv Shrinivasan híres kernelhacker 14 generációval ezelőtti őse követett el.
Shrinivasan őse bűne miatt a világtengerbe fojtotta magát.