Microsoft Excel 2007 szorzás bug

Címkék

Komolynak látszó szorzás bugot fogtak az Excel 2007-ben. A bug következtében a 850*77,1 szorzás eredménye kerek 100 000 a helyes 65 535 helyett. Úgy tűnik, hogy nem csak ennek a szorzatnak fals az erdeménye. A bugról bővebben itt.

Hozzászólások

Kipróbáltam és tényleg. Remélem, hogy a jövő havi béremet Excel 2007-tel számolják, ha már ilyen szépen kerekít felfelé :))

--
trey @ gépház

Még egy érv amellett, hogy ne használjak Office 2007-et.
...Falu...

> ha nem küldözgetnének .docx meg .xlsx-eket egyre többen,

Microsoft Office Compatibility Pack for Word, Excel, and PowerPoint 2007 File Formats

"By installing the Compatibility Pack in addition to Microsoft Office 2000, Office XP, or Office 2003, you will be able to open, edit, and save files using the file formats new to Word, Excel, and PowerPoint 2007."

100%-os kompatíbilitás két azonos célre készült, de teljesen különböző szoftver között, ráadásul úgy, hogy a formátum nem nyilvános? Kicsit sokat akarsz... :-) Persze nagyon jó lenne, és mindenkinek van ilyen élménye, de ha nem kellenek olyan fícsörök, mint Track Changes (amit ha bekapcsolva felejtesz, igazi átok is tud lenni), akkor ott az RTF. Mindenki gond nélkül írja-olvassa.
---
;-(

természetesen jogosan várod a bugfixeket a pénzedért. szerintem ezt senki sem vitatta itt.
Azért valljuk be akkor azt is, hogy elég ritkaságszámba megy, hogy egy ilyen bosszantú dolog
becsúszik, egész biztos hogy nem is fogják ígyhagyni.

A második résszel meg nem értek egyet. Ha valaki ingyenesen szoftvert fejleszt az még
nem kifogás a sz*r kivitelezésre, ha letöltök egy GNU-s BSD-s vagy akármilyen más
licenc-ű szoftvert attól igenis elvárom hogy megbízható legyen.

Vista mennyit késett? És mit valósított meg az eredeti tervekből?
MS Office 2k7 mennyit késett?
Windows XP mennyit késet?

Namármost ehhez képest az Ubuntu stabilan számolható kiadási idővel rendelkezik, ehhez csatlakozik az OpenOffic.org például.

Bár szerintem egy szoftver soha nincs kész. Legfeljebb egy stabil snapshotot kapunk... A pénzünkért vagy a letöltésünkért.

KAMI
--
OxygenOffice | OpenOffice.org | A Böngésző - magyarul | Kiterjesztések - magyarul

"Namármost ehhez képest az Ubuntu stabilan számolható kiadási idővel rendelkezik, ehhez csatlakozik az OpenOffic.org például."

Olyanok is. Vegyük például ezt a hurráoptimista beszámolót másfél évvel ezelőttről. Jó a címe, "10,000 bugs away from World Domination", mármint hogy az Ubuntu. Lássuk, hogy áll most a projekt... hátizé, 31000 találat??? Még ha a felére azt is mondjuk, hogy duplicate, invalid, worksforme, wontfix csak még nem volt idő ezeket a címkéket kiosztani&lezárni, akkor se a jó irányba halad. Gnome ugyanez pepitában, gondolom a többi is. Ez pedig így nem stabil, hanem legfeljebb stabilnak haz mondott. Ezt viszont akárki láthatja, mert a bugzilla nyilvános, s levonhatja a következtetést is, miszerint olcsó húsnak...

Openofficeról meg annyit, hogy valamikor nem olyan rég felmerült, hogy kéne Ubuntuból érettségizős változatot gyártani, még az illetékeselvtársat is megkereste maat, aztán abban maradtunk, hogy ha a feladatok nem lennének annyira MSO-specifikusak, amennyire, az OO base akkor is egy olyan használhatatlan/crashelős bugware, hogy azon nem érdemes egy érettséginek nekifutni -> tessék windowson (vagy uhun) érettségizni, a magyar Ubuntu közösség ajánlásával.

Szóval QA szempontból meglehetős hátrányai vannak a fix kiadásnak, ezt be kéne ismerni+kitalálni valamit ellene, és nem letagadni, meg azzal takarózni, hogy a windows ígymegúgy vagy hogy ott a kód, meg lehet fixálni. Ellenkező esetben középtávon oda lesz a nyílt forrás szavahihetősége, ami ugye az egyik legnagyobb előnye a zárt forrással szemben.

Ez az egész ott sántít, hogy a windowsról nincs olyan nyilvános, minden apróságot tartalmazó buglista, amivel "versenyezni" lehetne. Így a semmivel szemben tényleg durván hat a 30 ezer találat, de egyáltalán nem biztos, hogy a windowsban -noflame: vagy tetszőleges zárt és nem time based kiadású rendszerben- nincs ugyanennyi hiba. Csak amiről nem tudok, az nem fáj ugye (csak néha, mikor kiderül). Ez a szám önmagában semmit nem mond, a zárt forrással meg szvsz sehogy sem lehet hasonlítani (kevés tesztelő, forrás nélkül keveset lát -> kevés bug?).

Szerk: azért az ubuntu launchpad-en #1 bug nem rossz:

Microsoft has a majority market share

:D

És csak az Ubuntuban, nem számítva a meg nem erősített/eldöntetlen súlyosságú hibákat, az upstream termékek bugjait, plusz ugye sokkal több bináris csomag van, mint forrás... szóval lehet ezt úgy méricskélni, ahogy szebb eredmény jön ki, de ez már a "számoljuk bele a TCO-ba a mainframe szerver árát is" kategória...

Mindez hány szoftverre levetítve, mennyi a confirmed, mennyi a kritikus, mennyi a kiadáskritikus? Szűrőket érdemes használni, ha már vannak.

"tessék windowson (vagy uhun) érettségizni, a magyar Ubuntu közösség ajánlásával"

Reméljük, hogy a magyar Ubuntu közösség majd azért lábjegyzetben jelzi valahol, hogy a számolási feladatokat kizárólag csak "850*77,1" patch-elt Excel 2007-ben javasolja a közösség... ;D

--
trey @ gépház

"Mindez hány szoftverre levetítve, mennyi a confirmed, mennyi a kritikus, mennyi a kiadáskritikus? Szűrőket érdemes használni, ha már vannak."

A kiadáskritikust csak kiírja, hogy 26, de listázni nem tudom hogy kell, viszont a többség new állapotú vagy undecided súlyú, ami azt jelenti hogy nem igazán foglalkoztak vele, bár ez ekkora mennyiségnél nem csoda. Más kérdés, hogy mit nevezünk kritikusnak, gnome-nál a bug-buddy automata hibajelentései azok, itt csak magasak. Újabb érdekes kérdés, hogy hol van az a szint, ahol már tűrhetetlen az, hogy ez-az néha összeomlik? Egyesek szerint a stabil nevű cucc legyen tényleg stabil és megbízható, ez szerintem sem annyira extrém elvárás, csak hát manapság nem ez a helyzet, akármennyire is próbáljuk (illetve: "- Én nem!") szépíteni.

WFM :-)
Viccen kívül, 4.10 óta használok Ubuntut (Linuxot olyan '97 óta) és ebben a közel 3 évben egyszer éreztem úgy, hogy meg kéne venni az XP-t (nem részletezem, nem a Windowson volt a hangsúly hanem egyéb szoftveren). Fagyni egyszer fagyott, amikor bekapcsolt béta compiz-zal próbálgattam a vmware-t. A Firefox minimum napi egyszer behal flash videók esetén. Egyéb komoly hibát egyszerűen nem tudok felsorolni. Egyéb hiányosságokat természetesen estig sorolom, ha kell (hogy a feléről kiderüljön, hogy meg lehet csinálni csak nem találtam meg Johndoe honlapján 10 mélyen eldugott mini-howtot).
---
;-(

Az Ubuntu OOo-ja a többi OOo-val összehasonlítva is a legrosszabbak között van. Köszönhetően annak, hogy nem tudnak ellenállni a kísértésnek, és érdekes featúrákat megvalósító kísérleti kódokat tesznek bele - sajnos hozzáértés nélkül. A Sun által kiadott forrásból épített OOo általában stabilabb.

Az ooo-build rendszer filozófiája, hogy minden patchet azonnal betesznek a forrásba, és fordítanak vele. Ez nem azt jelenti, hogy minden azonnal megy is a kiadásba. Pl. a Novell egy verzióval mindig le van maradva az upstream mögött. Ők rendesen kitesztelik, mielőtt kiadnák. Egyesek pedig amint lefordul a forrás, kiadásra érettnek gondolják.

Sajnos már elfelejtettem, hogy ki és hol írt egy konkrét melléfogásról az Ubuntu OOo-ban (és melyik Ubuntu volt, arra sem emlékszem). Csak a végkövetkeztetést jegyeztem meg.

"Openofficeról meg annyit, hogy valamikor nem olyan rég felmerült, hogy kéne Ubuntuból érettségizős változatot gyártani, még az illetékeselvtársat is megkereste maat, aztán abban maradtunk, hogy ha a feladatok nem lennének annyira MSO-specifikusak, amennyire, az OO base akkor is egy olyan használhatatlan/crashelős bugware, hogy azon nem érdemes egy érettséginek nekifutni -> tessék windowson (vagy uhun) érettségizni, a magyar Ubuntu közösség ajánlásával."

Ezeket a feladatokat szerintem akár meg is lehetne csinálni. Gyakorló feladatnak jó lehet a könyvbe...

KAMI
--
OxygenOffice | OpenOffice.org | A Böngésző - magyarul | Kiterjesztések - magyarul

Én nem várom el egy ingyenes szoftvertől, hogy tökéletes legyen, egyszerűen örülök neki, hogy működik. Ha a hibák száma minimális annak külön örülök. Hálás vagyok érte a programozójának és a Jóistennek, de nem várom el.

Amikor én írok ingyen progit (ez azért ritka, mivel célszoftvereket fejlesztünk a cégnél) akkor persze törekszem a hibák minimalizálására. De ezt csak precizitásból teszem, illetve azért, hogy büszke lehessek a teremtményemre.

Szóval nem várom el egy GPL-es szoftvertől a hibátlanságot. Amelyik nem működik azt szívfájdalom nélkül letörlöm és keresek más alternatívát.

Ennek ellenére a jogtiszta windows-om a fiókban van és a laptopomon egy Kubuntu figyel. Mert elégedett vagyok vele.

Ez egy dolog. De amikor az OK-ra kattintás után a program Mégsem-nek értelmezi a szándékom, akkor... hogy is mondjam... szóval elkap a hév. És akkor szalonképtelen kifejezésekkel illetem a fejlesztőt, akármi okból is készítette ezt a programot.

Vagy ha mondjuk 65536 forint helyett 100000-et akar a program kiszámlázni.

A baj ott van, hogy sok fejben pontosan az a kép él, amit írtál, úgy általában is, meg szoftverek kapcsán is: amiért sokat fizetsz -ráadásul ilyen nagy nevű cégnek, mint az MS- az biztos hibátlan, de legalábbis megbízhatóbb, mint bármi más. Meg különben is, ha valaki, akkor ők tudják hogy kell szoftvert gyártani. Ami ingyen van, az meg khmmm (olcsó húsnak..). Konkrétan ismeretségi körömben hangzottak a következők kb szó szerint, mikor OOo-t ajánlottam egy családi vállalkozáshoz: "dehát ki fejleszti azt?", "miért jó nekik, hogy ingyen adják?", "hogyhogy ingyen van, ha olyan jó?", "biztos nem számol olyan pontosan, mint az excel", stb. Ez utóbbira nagyon emlékszem, mert a srácnak ez volt a fő érve, merthogy inkább fizet valamiért, de neki tuti pontos legyen.. :)

Ja, meg meg egy erv amit hallani: "ez tuti valami beetetes, ingyen adjak mostmeg, aztan majd ha mindenki rakap, akkor hirtelen kezdodik a problema, mint a drogoknal". Arra meg keves a lehetoseg hogy most mindenkinek elmagyarazza az ember az egeszet, A-tol Z-ig, hogy mi miert micsoda pontosan itt. Persze neha az ellentet is elofordul, amikor valaki szerint csak az open source lehet jo, illetve az eredendoen a gonosz megtestesulese, ha valami nem az. Igazabol az kene, hogy egyenlonek tekintsek, vagy legalabbis mindket modellt hasonloan ismerjek, dehat mivel a penz=ertek alapon szamol a legtobb ember, es azt latja hogy OOo-ert pl nem kell neki pengetni, nehez elmagyarazni hogy az miert jo, foleg roviden, ha igy all hozza.

Van ahol igen, sajat szememmel lattam ilyet nem is egy helyen. Mert ugye sok helyen a donteseket managerek hozzak akik nem biztos, hogy teljesen ertik a technikai hatteret, es abbol indulnak ki, hogy minden mogott penz van, azaz ha ok nem latjak, hogy penzbe kerul (nem kell nekik fizetni erte) az gyanus, hisz "semmi sincs ingyen".

HAHÓ!!!! Itt valós számokon értelmezett SZORZÁSRÓL van szó! Azt még a leglesajnáltabb ansi c is tudja difóltból. Hogy lehet elszúrni?

Octave dobott nekem már segfaultot 3x3 mátrix invertálásnál, a matlab még nem. És az is bosszantó volt, hidd el. Sőt, az is bosszantó volt amikor aqualung halt el a netrádión, de a bejelentésemtől számított 43 percen belül kommitolták a javítást... Ilyen ez az opensource, ja, sz*r. szerintem is.

Várjunk, nem flame topic? hoppábocsánat!

De azért az a hozzáállás sem fair, hogy mégiscsak belefér egy ilyen bug, mert a F/OSS szoftverek sem tökéletesek.

És az is unfair, hogy ha valami ingyen van akkor abban lehet hiba, ha valamiért fizetek akkor annak hibamentesnek kell lennie.

> És az is unfair, hogy [...] ha valamiért fizetek akkor annak hibamentesnek kell lennie.

Ha már hibás, akkor cseréljék ki. Mint ahogy a hibás CPU-k, akkumulátorok, stb. is ki lett cserélve: visszahívják szépen a telepítő CD-ket, aztán adnak helyettük másikat, amin a javított szoftver van.

Rövid idő alatt nagyon lecsökkennének a szoftver hibák a dobozos termékeknél.

En azert kivancsi lennek a kodra, amit 0xFFFF hexbol 100.000 dec.-t csinal.
Mert ugye naivan azt gondolnam, hogy egy egyszeru szorzas az egesz, amit a processzor elvegez, nincs szukseg egyeb buveszkedesre.
Max. 3 assembly utasitas.

Namarmost hogyan is jott ki az a 100.000?
Szerintem igen komoly energiat kellett befektetni hozza.
De lehet, hogy csak kerekiteni probalt ugye.

muhaha

Arra emlékeztet, amikor a 95-ös Word meghalt az "édesapáméké" szón.

Hogy is volt? Az új OOXML szabványba be akarták venni, hogy 1900 szökőév, mert egy régi Excel-ben így implementálták? Lehet, hogy egy pár év múlva ezt a szorzást is beleteszik a szabványba, nehogy kódot kelljen javítani.

Ez erdekes. Az Excell 2003-ban jol mukodik, masok szerint a 2000-esben is. Latom sikerult a M$-nak elszarnia egy "jol mukodo" alapveto funkciot a sok csilivili erdekeben...

http://digg.com/microsoft/Critical_Excel_2007_bug_cripples_users

Steve Balmer once proudly boasted "WE (Microsoft) make the standards!" didn't he?

So it should be official - 850 x 77.1 now equals 100000 from here on out.

Q: How many Microsoft programmers does it take to change a lightbulb?

A: None. They just change the standard to darkness.
-----------------------------------------

--
Live free, or I f'ing kill you.

Már ettől nagyobb számokkal is előfordul?
Mert az egyik ismerős cégnél ezzel számolnak egy halom pénzt, és 100000 fölött dolgoznak. Szerencsére még nem ezzel a software-el.

Ah, ez csak egy easter egg. Csak ido elott talaltak meg :)

A'rpi

:^D

Mondjuk igen halkan merem megjegyezni a 10-telt publikum előtt, de az se normális, aki mindig mindenből felteszi a legújabbat és élesben használja. Ismerek nem kis (>1000 fő) cégeket, akik tavaly váltottak Windows XP-re és még mindig Office 2000-et használnak. Miért? Mert az jó, bevált, és nincs szükség az új és lenyűgöző funkciókra. Majd ha muszáj lesz, mert mindenki az új formátumban küld, és nem lesz addigra automatikus konverter.
---
;-(

Igen, csahogy előbb-utóbb a business support is lejár. Szerintem yól döntenek azok a cégek, akik nem a 24. órában kezdik meg az átképzést Office 2000/2003-ról 2007-re. Minél gyorsabban megvan a dolog, annál inkább nincs gond rá a következő időkben. Hidd el, az se yó, ha az alkalmazottak átképzésére rendelkezésre álló idő 1-2-3 hónap.

Arról már nem is beszélve, hogy - eltekintve most a "úgyis egy buglhalmaz mind" megjegyzésektől - az újabb office-kba igenis sok biztonsági hibát fixáltak.

Szerintem nagyon komoly hiba, mert a számítás közbeni részeredményeket (!) is elrontja. Így a végeredmény is hibás lesz. Pénzügyben ez szó szerint milliókba kerülhet.

Emlékszem, amikor a word rosszul adta össze a szavak számát, akkor be is perelték az M$-t, mert az USA egyes államaiban a beadott jogi anyag nem lehet hosszab N szónál. Emiatt dobtak vissza bíróságok ügyvédek által beadott anyagokat.

"
Of interest is the fact that 65,535 is the largest number that can represented by an unsigned, 16 bit integer (i.e. 0xFFFF).

After a little experimentation in VBA, I have found that 100000 is only returned when accessing the cells "Text" property. When asking for the cells "Value" 65,535 is returned as expected.
I created a quick macro to test this after filling cell A1 with the formula "=850*77.1"

MsgBox (Range("A1").Text) => Alerts 100000
MsgBox (Range("A1").Value) => Alerts 65535
"

KAMI
--
OxygenOffice | OpenOffice.org | A Böngésző - magyarul | Kiterjesztések - magyarul

Hm, rémlik, hogy 3.1-es win calculator-ban is volt egy hasonlóan komoly hiba (2x2 = kb 5 , vagy ilyesmi) , pontosan nem emlékszem, sőt keresni sincs kedvem; aki akar, majd utánanéz és ha megtalálja, javítson ki.

Lehet szépíteni, de hogy egy egyszeru szorzassal gondok legyenek.. szégyen.

:D :D :D Ez nagyon teszik. Ezt meg hogyan csináhatja. Én akárhány programot írtam (egyik sem volt akkora mit mondujuk egy excell), de mindíg jó eredményt adott 2 szám szorzatára.

Ahova kellet ott kellően nagy számokkal jó volt a programom. Bár az csak sima difegyenletmegoldó, tény ami tény, hogy írtam még annó dos-ban olyat hogy a test amikor mozgott fogyott fogyott majd eltünt (szóval fixpontosra vettem egy változót), C-ben írtam és elég volt a long-double nem kellett extrém nagy szám tény ami tény hogy soha nem teszteltem x^-1000, xagy x^+1000 eket de nem is kellett. amíg nem csordul túl a longdouble addig jó. De szerintem itt ezek a számok simán beleférnek a longdoble "tdásába" bár fogalmam sincs miben írták az excellt

Ez azért nem yó, mert a Excelben számított cellák is léteznek, azaz a paramétercellák értékétől függ a célcella értéke. Ennek megvan az az előnye, hogy a paramétercellák módosulűsaa esetén az Excel újraszámolja a képleteket.

Ha valóban ilyen egyszerű lenne, akkor Start->Futtatás, calc

Szerintem rosszul látjátok. Pár támogatóval az MS simán eléri, hogy ISO szabvány legyen, hogy 850*77,1=100000. Sőt, lehet, hogy szabadalmaztatják is...

Engem jobban érdekelne, hogy azok a hibák amelyek 10+ éve vannak az Excelben (40000,223 helyett 40000,2229999999 lesz az adott cellában beírás után, 41000,348 helyett 41000,3479999999, 52000,723 helyett 52000,7229999999, stb.) miért nem kerültek még mindig javításra. Értem én, hogy ez egy lebegőpontos számformátum ábrázolásából adódó pontatlanság, de ez az egyszerű felhasználót abszolút nem érdekli, viszont elvárja, hogy ha beír egy számot, akkor azzal dolgozzon a gép, ne pedig egy ahoz közeli értékkel.

Eszembe jutottak azok az öregek, akik még a számológép és számítógép nélküli világban nőttek fel és amikor számológéppel számoltak ki nekik valamit, akkor aggódva kérdezték, hogy biztosan nem téved-e a gép. Akkor még megmosolyogtuk őket, most már kezdhetjük komolyan venni...

Mondom, értem én, hogy miért lett annakidején ez az irány választva, de a jelenlegi prociknak már meg se kottyanna, ha az IEEE754-et lecserélnék egy nagy pontosságú aritmetikára...

Egyébként szép és jó Joel blogja a témában, de látszik, hogy fogalma sincs valójában a bugról, mert azon kívül, hogy a "extremely close to 65,535" elmondja vagy négyszer, meg kétszer is leírja, hogy a 77.1-nek mi a bináris reprezentációja, attól még nem derül ki, hogy pontosan hol és mit rontottak el.

Az MSDN blog hozzászólásai között egyébként van egy-két nagyon jó hozzászólás, amelyeknek köszönhetően viszonylag jól elképzelhető, hogy mit ronthattak el...

Nem is fog kiderülni hogy mi volt pontosan a hiba. így vagy megbízol továbbra is az Excelben vagy nem.

Az "extremely close" -ról még annyit, hogy a 850x77,1 és a 850x77,1+1 is elrontásra kerül, és ez tényleg nem azt a verziót valószínüsíti hogy tízmilliomod közelségű számokról van szó.