Beta
×

Welcome to the Slashdot Beta site -- learn more here. Use the link in the footer or click here to return to the Classic version of Slashdot.

Thank you!

Before you choose to head back to the Classic look of the site, we'd appreciate it if you share your thoughts on the Beta; your feedback is what drives our ongoing development.

Beta is different and we value you taking the time to try it out. Please take a look at the changes we've made in Beta and  learn more about it. Thanks for reading, and for making the site better!

Pet Bugs?

Cliff posted more than 12 years ago | from the bugs-even-industrial-strength-RAID-doesn't-kill dept.

Bug 1261

benreece asks: "During my few years as a programmer/developer I've come across some strange bugs. Recently I found that Microsoft's VB/VBScript(ASP) round function has problems (for example, 'round(82.845)' returns '82.84' instead of '82.85'). It took me an annoyingly long time to realize the problem wasn't mine. I'm wondering what other obscure, weird, and especially annoying bugs in languages/compilers/etc have frustrated other developers." Memorable bugs. Every developer has one. What were yours?

cancel ×

1261 comments

Sorry! There are no comments related to the filter you selected.

FIRST POST (-1, Offtopic)

stuuf (587464) | more than 12 years ago | (#3771686)

pray for the success of atheism

HOW GAY CAN SLASHDOT BE? (-1)

Jon Katz on Tuesday (578508) | more than 12 years ago | (#3771687)

What a gay question. n/m

worst bug (-1, Funny)

kitts (545683) | more than 12 years ago | (#3771689)

windows...

Re:worst bug (-1)

cyborg_monkey (150790) | more than 12 years ago | (#3771757)

HAHA! Microsoft sure does suck!!

The plural of lego is lego, not legos.

My only regret... (-1)

CmdrTaco (troll) (578383) | more than 12 years ago | (#3771690)

is that I have only one FP to give.

That's what round SHOULD do (4, Informative)

A nonymous Coward (7548) | more than 12 years ago | (#3771692)

Round to the nearest even digit if the truncated value is .5 Otherwise there's a slight upward bias.

Re:That's what round SHOULD do (2, Insightful)

Ed Avis (5917) | more than 12 years ago | (#3771713)

I guess it depends on the documented behaviour of VB's round function. Anyone brave enough to wade through MSDN for it?

From MSDN... (3, Informative)

bje2 (533276) | more than 12 years ago | (#3771765)

"When you convert a decimal value to an integer value, VBA rounds the number to an integer value. How it rounds depends on the value of the digit immediately to the right of the decimal place--digits less than 5 are rounded down, while digits greater than 5 are rounded up. If the digit is 5, then it's rounded down if the digit immediately to the left of the decimal place is even, and up if it's odd. When the digit to be rounded is a 5, the result is always an even integer." so, Ed is correct...the round function is working to the documentation...

the MSDN definition (0)

Anonymous Coward | more than 12 years ago | (#3771768)

Visual Basic Scripting Edition

Round Function

Returns a number rounded to a specified number of decimal places.

Round(expression[, numdecimalplaces])

Arguments

expression
Required. Numeric expression being rounded.
numdecimalplaces
Optional. Number indicating how many places to the right of the decimal are included in the rounding. If omitted, integers are returned by the Round function.

Re:That's what round SHOULD do (1)

kid_icarus75 (579846) | more than 12 years ago | (#3771727)

Exactly. This is done so any average functions will not be affected by rounding. The 'bug' exists in many languages, including the open source php's round function.

Re:That's what round SHOULD do (1)

Jobe_br (27348) | more than 12 years ago | (#3771762)

Yep - exists in the MySQL round function, bugs the heck out of me - very difficult to do financial calculations (with decimal fields).

Re:That's what round SHOULD do (1)

Dalcius (587481) | more than 12 years ago | (#3771770)

I know I'm retarded for not checking documentation on this one, but stepping back, logically, you'd think round() would round to the mathematical standard. If there was a need for a different process for averaging, why not write a round_avg()? It would be just as awkward, you'd have to look up the documentation, but at least the meaning of round isn't twisted.

Or better yet, just write/use an avg() function. ::blink::

Re:That's what round SHOULD do (0)

Anonymous Coward | more than 12 years ago | (#3771829)

What do you mean the "mathematical standard"? Mathematics has no conception of rounding. But, the IEEE standard for rounding floating point numbers IS to do the half up/half down on .5

Re:That's what round SHOULD do (1)

2names (531755) | more than 12 years ago | (#3771793)

Average function output will always be affected by rounded input. Any time you use fewer significant digits in the input of an average the average will be affected.

Re: Wrong (0)

Anonymous Coward | more than 12 years ago | (#3771772)

The mathematic function round is defined as follows:

f(x) -> y : x.n y=x
: x.n >= x.5 -> y=x+1

Pardon me if I have the mathematical form wrong, it's been a while since I've defined a function mathematically.

Re: Wrong (1, Informative)

Anonymous Coward | more than 12 years ago | (#3771801)

Stupid HTML ate my less than sign!

The mathematic function round is defined as follows:

f(x) -&gt y
: x.n &lt x.5 -&gt y=x
: x.n &gt= x.5 -&gt y=x+1

Re:That's what round SHOULD do (2)

renehollan (138013) | more than 12 years ago | (#3771820)

IIRC, there was once a case of fraud where a programmer for a bank rounded all the part pennies to a particular account.

Of course, since rounding was not supposed to affect averages and totals of rounded numbers (because as many were expected to round up as down), and these were now affected (totals were short), the "bug" was caught.

If I'm not mistaken, the name for dealing with such rounding in the financial industy is "brokage" (not to be confused with "brokerage", though badness in both cases will cause one to be parted from one's money).

Pet Bugs? (0)

SpanishInquisition (127269) | more than 12 years ago | (#3771693)

That micro from the 80's what pretty stable for what it could do if I remember well.

Re:Pet Bugs? Oh Yes! (4, Interesting)

frovingslosh (582462) | more than 12 years ago | (#3771774)

The 6502 micro actually has my "favorite" pet bug. Since it was a 8 bit micro with 16 bit addressing, any indirect address stored in memory took two bytes. An undocumented (by MOS/Commodore) bug was that if the address spanned a 256 byte boundry, the first byte of the address would be fetched properly, but the next byte would come from a memory location 256 bytes prior to the location where it should have (internally the carry for the address counter didn't flow from the lower bye to the upper byte). I would love to know how many man centuries were spent on this one, I know myself and some fellow developers contributed to some of that lost time.

Ants (0, Offtopic)

Anonymous Coward | more than 12 years ago | (#3771696)

I've got an ant farm. It's HUGE. You should see all the tunnels and things these guys build.

If you want a pet bug, I suggest you get some ants!

Re: Pet Bugs? (2, Funny)

Cleon (471197) | more than 12 years ago | (#3771697)

MS Visual Studio. The whole thing.

The compiler is weird, the debugging is painful, and the linker is just plain wonky.

Re: Pet Bugs? (-1, Offtopic)

Anonymous Coward | more than 12 years ago | (#3771711)

I need mod points today. +1 funny!

Re: Pet Bugs? (0)

stuuf (587464) | more than 12 years ago | (#3771758)

and borland c++ builder costs way less.

Well, at least if you want the cheapo 'standard' edition

Re: Pet Bugs? (1)

iangoldby (552781) | more than 12 years ago | (#3771792)

Funny, I thought MSDev was the best software produced by Microsoft - probably because it's written by the same people who use it...

Re: Pet Bugs? (1)

DetrimentalFiend (233753) | more than 12 years ago | (#3771819)

I completely agree. Whenever I complain about MS I always admit that they made one really really nice app: MSDev.

First ever bug (5, Funny)

tenman (247215) | more than 12 years ago | (#3771698)

Here is the first ever computer bug... [vt.edu]


back with more in a minute

Netscape Server Error (funny) (2)

tenman (247215) | more than 12 years ago | (#3771823)

Netscape's original development team had a true since of humor [tealdragon.net]

thats truncating (2)

paradesign (561561) | more than 12 years ago | (#3771701)

not estimating.

I learned in highschool to always check the calculator i was using to see what it did, although i probably wouldnt have checked a program.

Rounding (3, Informative)

Ethidium (105493) | more than 12 years ago | (#3771702)

Under some rounding schemes, .845 should round to .84

We all learned in grade school that fives round up, but that doesn't make it preciesely even (there isn't a clean break between same-size sets of integers). So, under some schemes you round a five up if the number preceeding it is odd, down if it's even.

There are more complex schemes too, nearly all of them leading to a five getting rounded down some of the time.

Re:Rounding (0)

Anonymous Coward | more than 12 years ago | (#3771726)

This may be so.

But VB uses such an alternative rounding scheme, but this is not reflected in the VB documentation for round(), then this is still a bug.

Re:Rounding (3, Informative)

jeffy124 (453342) | more than 12 years ago | (#3771734)

IIRC, IEEE wanted to set the standard to round up one half the time, down the half, resulting in balance. But the IRS and every corporation out there would see that as losing money (a penny was worth something back then), so they opted for always rounding up if the deciding digit was 5.

Re:Rounding (1, Informative)

Anonymous Coward | more than 12 years ago | (#3771798)

The standard IEEE 754 rounding mode is round to nearest value with ties broken in favor of the value with low bit 0. So evidently IEEE went with what they wanted.

Re:Rounding (1)

Subaiku (573889) | more than 12 years ago | (#3771753)

Yea i was just recently taught (shocked!) that you round up if the digit preceeding the 5 is odd and round down if its even.


Needless to say this isn't the only way to round, just the way my professor last semester chose.

Ah, so! (2, Funny)

eyepeepackets (33477) | more than 12 years ago | (#3771704)

No wonder my banker is always smiling when he sees me -- he's using VB script!

Bugs in my Head (1)

tomcode (261182) | more than 12 years ago | (#3771705)

When I type "pirnt" instead of "print" I get a syntax error. How annoying!

All those times.. (4, Funny)

kwishot (453761) | more than 12 years ago | (#3771706)

All those times when slashdot is messed up and you click on a comment only to be brought back to the front page...

Re:All those times.. (0)

Anonymous Coward | more than 12 years ago | (#3771740)

I've decided that that's when the comment db is being backed up, or something lame like that.

True story (3, Funny)

WinDoze (52234) | more than 12 years ago | (#3771708)

I discovered that Visual Basic has a bug where it turns otherwise comptent programmers into drooling incompetent weenies. Our solution was to take these people and put them into marketing.

Re:True story (-1, Offtopic)

Anonymous Coward | more than 12 years ago | (#3771832)

LoLoLoLoLO!!!!!! OMFG that was SOOOO funny...

Not a bug (0)

Anonymous Coward | more than 12 years ago | (#3771709)

That's not a bug. Rounding rules say to round to the nearest even number when you are rounding from 5.

MFC - variable initialization (1)

jemele (577932) | more than 12 years ago | (#3771712)

or lack thereof!! want to guess what happens when a UINT isn't initialized to '0' when rolling through their print preview code ...

fuckers.

Dialog boxes (2)

nagora (177841) | more than 12 years ago | (#3771714)

The documented in-memory format for dialog boxes up to Win '98 (the last version I programmed for) was totally wrong in MSDN. I spent weeks on that (dynamically creating forms under Forth so there wasn't much chance of getting MS to help!).

More of a documentation error than a bug but it had the same effect on my sanity!

TWW

Obvious (1)

Ubergrendle (531719) | more than 12 years ago | (#3771715)

Check out my favorite list: http://update.windows.com Obvious, yes, but as all good comedians say "know your audience"... :)

1802 bug (2)

A nonymous Coward (7548) | more than 12 years ago | (#3771719)

I vaguely remember hearing of a Cosmac (?) 1802 bug, where if the instruction following (before?) an Enable (Disable?) Interrupts was even (odd?) parity, the instruction was a no-op. You can see I'm not all that good at remembering 25 year old stories for processors I never used....

82.84499 (3, Informative)

Coward, Anonymous (55185) | more than 12 years ago | (#3771720)

Floating point numbers have problems with precision, your computer can not store 82.845 in a floating point number so the number it stores is slightly less than 82.845 which VB correctly rounds to 82.84

I had a pet virus once. (1)

Unknown Poltroon (31628) | more than 12 years ago | (#3771721)

It was on of the aincent init boot viruses. It took up something like 2 k of memory, and tried to put itself on bootable floppies. Seeing as how I never used bootable floppies on that system, and it had 200 meg of memory, it was more amusing to keep it alive than kill it. Alas, it died in the great hard drive purging of '01. Sad.

Not a bug (0, Redundant)

Agthorr (135998) | more than 12 years ago | (#3771722)

That's not a bug. It's a more accurate way to round off numbers. If you always round 5 up, that means you round 5 out of 9 numbers up, and 4 out of 9 numbers down. This can cause problems if you're rounding lots of numbers. A more accurate method is shown here [k12.ca.us] , which matches the behavior shown.

-- Agthorr

Re:Not a bug (1)

Quixotic Raindrop (443129) | more than 12 years ago | (#3771843)

Unless you have a predominance of even numbers, in which case you run into the reverse of this problem. 6.5, 8.5; mean = 7.5 Rounding with conventional rules, 7, 9; mean = 8 Rounding with these "new" rules, 6, 8, mean = 7 Both rounding types introduce errors. Why would either have an advantage over the other? They're both wrong.

Heisenbugs (4, Funny)

Mozz Alimoz (245834) | more than 12 years ago | (#3771723)

You know the kind. When you add in debug they go away.

GCC 2.x and 3.x compiler (2)

powerlinekid (442532) | more than 12 years ago | (#3771728)

I don't know why everyone raves about these compilers... everytime i go to compile something they just spit out error after error. How does the open source community survive without being able to compile VB? oh... wait... gcc isn't for vb? nevermind...

sneeky colon (1)

LedZeplin (41206) | more than 12 years ago | (#3771731)

staring at code for an hour trying to find the error, all because a colon looked like a semi-colon on my screen.

Spider (5, Funny)

peterdaly (123554) | more than 12 years ago | (#3771732)

We have a spider that comes crawling around our cubes every now and then. We don't kill him, figuring he helps keep the other bug populations inside down. We call him our little web developer.

I'm serious.

-Pete

Re:Spider (1)

misterklaw (26739) | more than 12 years ago | (#3771775)

It is probably a female.

Yeah (0)

Anonymous Coward | more than 12 years ago | (#3771735)

I know what you mean about the bugs!
I have had my fair share too!

Later!
Theo

A QBASIC story. How embarassing. (1)

Mister Snee (549894) | more than 12 years ago | (#3771741)

Yeah, yeah, it was a long time ago. But a friend and I were somewhat blown away to find out that the QBASIC code:

PRINT #2, INPUT$(1, 1)

Or some close equivalent to that, intended to write to file handle #2 a single byte from file handle #1, ended up outputting the single byte to stdout instead. We spent half an hour trying to figure out what our mistake was. It wasn't. It was just a strange, stupid interpreter error in a program language that's rife with them.

Yeah. Heh. Well, I thought it was funny.

Yet another MS feature (0, Troll)

Shamanin (561998) | more than 12 years ago | (#3771743)

Allowing Basic to be a programming language (in any incantation) is a BUG!!!

Bugs? (1)

Tymeless (588471) | more than 12 years ago | (#3771745)

Java: Need I say more??? http://www.tymeless.com

Borland C memory models (1)

RussRoss (74155) | more than 12 years ago | (#3771746)

Remember tiny, small, medium, large, and huge memory models under DOS with Borland C? Huge existed to provide pointers that were normalized and could be compared like integers (offset was always less than 16), unlike large. Under pre-32 bit x86, all memory addresses were of the form segment + offset, where segment might be implied. The actual address was segment * 16 + offset. This was useful for some things, but it was abandoned in favor of a much better system (virtual memory).

Unfortunately, pointer normalization didn't actually work, at least in the version I used. It took me forever to figure that out--after all, the whole purpose of the huge memory model was to provide that functionality. After the clumps of hair that I'd pulled out grew back, I wrote a bunch of ugly C macros to do the job.

Such a dumb bug, but it was so frustrating that it immediately jumped to mind.

- Russ

What bugs? (0)

Anonymous Coward | more than 12 years ago | (#3771747)

csh never had any bugs!

Personal Favorite (2)

Bouncings (55215) | more than 12 years ago | (#3771749)

This isn't a bug so much as a crack-headed design, but PHP has some of my favorite problems, in that everytime you touch an object, it makes a copy
function($object);
Meaning that function() will not be sent $object, but a copy of $object. I spent a long time, after writing a system, finding each little place and putting & chars in there. Sometimes it was impossible to do, and most of the time, there was really no way to warn me if an object was copied.

Re:Personal Favorite (2)

sirwired (27582) | more than 12 years ago | (#3771797)

Err... isn't this pretty common among programming languages? My C and Pascal are a little rusty (I have spent the last three years sentenced to protocol diagnosis), but isn't the default parameter passing behavior to pass by value, and only pass by reference (making it variable) upon request?

Sounds like data protection to me, not crack-headed design.

SirWired

Re:Personal Favorite (1)

Jobe_br (27348) | more than 12 years ago | (#3771815)

Reading a book or the PHP manual on PHP functions would have helped you out here, me thinks :) PHP defaults to "by-value" function arguments. See here:

http://www.php.net/manual/en/functions.arguments .p hp

Cheers!

Re:Personal Favorite (2)

Moonshadow (84117) | more than 12 years ago | (#3771837)

Yeah...I've run into that too, particularly when writing XML classes and such.

Apparently, the new release with the Zend engine is gonna fix that up rather nicely. = is copy, =& is reference. Yeah, it's a pain, and rather counter-intuitive, but hey, whatever. You eventually get used to the quirks of any language.

The bug I hate the most (0, Troll)

Cmdr Taco posted (582492) | more than 12 years ago | (#3771751)

is the bug that keeps posting these stupid 'Ask Slashdot' questions. I really need to fix that.

round(84.245) != 84.25 (0)

Anonymous Coward | more than 12 years ago | (#3771752)

The most analytical way to round is defined as rounding the 5 up if the digit to the left is odd, keeping the digit to the left the same if it's even. So, rounding 84.245 should be 84.245.

Rounding 84.255 should give 84.26.

Funkified Variable Name (2)

MidKnight (19766) | more than 12 years ago | (#3771756)

OK, this isn't necessarily a bug, but it's one of my most memorable "stupid previous programmer" rants. The code was a mess, but the variable names we horrific. Consider:

List l1 = new List();

Note the left side is "ell one", as in the first List object, not the second one. Of course, font differences could make it look exactly like eleven....

So, everyone say it with me: "Stupid previous programmer..."

--Mid

Codewarrior (1)

Xeo2 (301694) | more than 12 years ago | (#3771759)

Metrowerks Codewarrior stopped recognizing the logical or operator (i.e. "||") in half of my code once. It fixed itself a week later. I still have no idea why...

Memo fields in MS Access... (1)

thot (126748) | more than 12 years ago | (#3771760)

...have to be set last in an update command when using the ADO library.

It took me 2 days (actually it took me up to the point where a friend said "oh yeah, set those last") to find that bug.

String.length() (1)

spahn (227384) | more than 12 years ago | (#3771761)

A few years back, my boss had us using a programming language for web sites called Power Dynamo from Sybase (never ever EVER use this!). Anyways, the length() method for a string was basically a random number generator. I made a test page one day and had it output the length of the same string over and over again getting results from -100 to 20000 when trying to get the length of "the"

Ultrix C compiler loop (2)

crow (16139) | more than 12 years ago | (#3771766)

I found a bug in the Ultrix C compiler. I had an implementation of DES that I had written for my security class that used bitfields. When I tried to compile it under Ultrix, the compiler went into an infinite loop. The code compiled fine with every other compiler I could find (cc on our Sun 3 boxes and gcc on several platforms).

Code Warrior Problems (1)

DetrimentalFiend (233753) | more than 12 years ago | (#3771767)

I remember when I had some code than ran on other compilers but wouldn't run on Code Warrior. After hours of trying to figure out what was the problem I finally found that the problem was that Code Warrior re-allocated them memory for a certain variable in the middle of a function. The variable simply stopped existing in between two lines of code. I still, to this day, don't know how it happend. In the end, I fixed it by making the variable static.

older eds (2, Funny)

onShore_Jake (80260) | more than 12 years ago | (#3771769)

There is a site I sometimes visit called "slashdot". It is a "daily".
On the right, there are links to "older stuff". There is a day "e.g. today it sez 'Tuesday' and there is a list of stories that are supposed to appear if you click on the day above the list.

The stories you get may or may not correspond to the list of stories that should appear. If you are doing this early in the day, there is often a story that is supposed to show up according to the list but it does not. Also the story will be gone from the internet web sites "internet home web e-page" so you will not be able to view the story at all.

Bugs? What bugs? (1)

Doom Ihl' Varia (315338) | more than 12 years ago | (#3771771)

My code has no bugs. Bugs... Pfft. Damn whipper snaper inexperienced coders and their "bugs".

heh, how timely (0)

Anonymous Coward | more than 12 years ago | (#3771773)

I'm working on oneright now. VC++ on my machine doesn't load/save any of the resource names in the .rc file, while in everyone else's it does.....If I check my file into CVS then all the names are gone for everybody. In essence, if I do anyhting I ruin it for everyone. So, I don't get to do my work (hence me reading slashdot ;)

It IS 83.84 (1, Redundant)

Transcendent (204992) | more than 12 years ago | (#3771777)

That is not a bug.... but the truth. Dispite what your elementary teachers taught you about rounding, the rules are different...

Basically... if the number (infront of the 5) is even, it stays even... if it's odd, then it goes even. The reason for this is to get rid (as much as possible) of rounding errors. So odd numbers round down, and even numbers round up... it evens out at the end...

Rule of thumb: when rounding, try to get an even number...

A Big One (1)

borgasm (547139) | more than 12 years ago | (#3771779)

I have had a few bugs.

They mostly go by the names Windows and IIS.

Happliy they are updated every so often to keep us all on our toes.

Rounding with scientific digits (0)

Anonymous Coward | more than 12 years ago | (#3771781)

4.5 rounds to 4, while 5.5 rounds to 6. Which direction to round depends on if the rounding digit is odd or even. Mixing the rounding direction minimizes distortion. Yay 11th grade chemistry class.

OpenGL Matrix Stack (2, Interesting)

Bigmell (129905) | more than 12 years ago | (#3771782)

I donno if this counts but I had a hell of a time (an entire semester!) figuring out why one of my animations worked properly then after a while (when idling) everything just shifted to the center (0,0,0)

Basically I found that at the end of your display function you have to make sure you pop all your matrices off the stack, otherwise the stack fills and everything shifts to the center.

The bug part is that OpenGL gives you no error! It just allows you to push to full stacks and pop off empty stacks all day with no error and no way to view the stack or set the stack back to zero.

Our last project (for class) had to do with lighting so I included in the readme "After 15 seconds everything translates to the center. But the lights still work!" :)

TI-8x and Negative Kelvin... (3, Interesting)

TibbonZero (571809) | more than 12 years ago | (#3771783)

You can get a TI-8x to say that there is a negative Kelvin temperature, by converting a negative Celcius to Kelvin, but according to TI, it's where you put the negative symbol, however, none of the other Temp converters screw up with the negative numbers.

java exp() and pow() bug (3, Funny)

querist (97166) | more than 12 years ago | (#3771785)

About a year ago I was using the then "Technology Preview" version of Corel Linux while in grad school (I went back to school for a MSc in CIS). While working on my AI project, a neural networking toolkit in Java, I could not get the nets to learn. After over two weeks, and within days of the end of the semester, I was desperate and copied my code onto a floppy and tried it during lunch at the office, and it worked!

I tried it again at home and it failed. Then I tried it on another machine at home and it worked. The bug was in the Linux JVM. The pow() method, which is used by exp() apparently was not completed and returned garbage. I reported the bug to Sun and they indeed fixed the code.

I barely managed to get the project in on time, but still maintained my 4.0.

The moral of the story: if after checking your code and having someone else you trust check your code and neither of you can find anything wrong, it just may be the development or execution tool.

How about this bug.... (-1)

cjc84 (543977) | more than 12 years ago | (#3771786)

in translation of text into the English language.

"All your base are belong to us."

This has got to be one of the widest recognized bugs out there. ;-)

6502 Bug (0)

Anonymous Coward | more than 12 years ago | (#3771790)


I remember a bug in the 6502 processor where if you jumped indirect at an address that spanned a 256 byte page, the resulting address would come from the last byte of the page and the first from the beginning. For example, jump to the 16 bit address contained in $CFFF and $D000 would actually jump to the address contained in $CFFF and $C000. There were some programs that took advantage of this for obscure copy protection but that was a big failure as only some processors had this bug. I probably have this all wrong but it has been a while.

CSS In Netscape 4.0 (2)

Bonker (243350) | more than 12 years ago | (#3771791)

When I recently redesigned my site [furinkan.net] , I spent time creating a fairly robust table/css layout scheme. I implemented it and checked it in a variety of browsers... Including Lynx and Opera, just for you zealots/bigots.

Since I developed with Moz as my 'reference' browser, I didn't see the need to check in any other version of Netscape. Checked it multiple times in IE. After I was satisfied that it would work, I posted it. Low and behold I found that I had a few dozen emails the next morning from angry Netscape 4.x users wanting to know why the hell I took my site down.

It seems if you nest style delcarations inside a table element in Netscape 4 series browsers, it hides the affected text, rather than displaying what it doesn't understand anyway, ala the HTML spec.

The hell of this was that I *knew* that Netscape 4.0 behaved this way from an earlier site I designed, but hadn't even thought about it since Mozilla 0.7 came out.

VisualC++ Linker (2)

kefoo (254567) | more than 12 years ago | (#3771795)

The VisualC++ linker will occasionally get into a state where it freezes up, doesn't use any CPU time, and can't be killed. The only way to get rid of it is to reboot, usually via the magic button on the case.

My favorite browser "feature" (5, Interesting)

SuperMallen (156287) | more than 12 years ago | (#3771799)

I worked a wicked long time ago on the HotJava browser, and we were forever running into strange behaviors in the ways IE and Netscape handled what looked like normal HTML tags.

My favorite was a bug we saw with a three column table. The table's three cells were specified like this:

<td width="31"></td><td width="42></td><td width="29"></td>

Being a good little HTML-compliant browser, HotJava displayed them with those pixel widths. But lo and behold! When displayed in Netscape, the table filled the screen.

We bashed our heads against the wall to figure this out until we realized that the numbers added up to almost, but not quite, 100. Netscape was treating them as percentages rather than pixel widths, even though they lacked percent signs. The cutoff turned out to be somewhere around 104 to 96. Anywhere in there and the browser would assume percentages.

Apple IIe (1)

Sheetrock (152993) | more than 12 years ago | (#3771800)

I never actually owned one, but the Apple IIe systems at my school had an interesting bug in the BASIC parser that only showed up for me in the following case:

10 FOR C=A TO B

Would be interpreted (and shown with a LIST command) to be:

10 FOR C= AT O B

strtok (5, Funny)

sdjunky (586961) | more than 12 years ago | (#3771802)

this has to be the most memorable one.

it's in the Linux man file

BUGS
Never use this function. This function modifies its first argument. The identity of the delimiting character is lost. This function cannot be used on constant strings.

rounding bugs (2, Interesting)

RussRoss (74155) | more than 12 years ago | (#3771803)

My favorite rounding bug was the floating point bug in Applesoft BASIC on the Apple II series. A loop that adds .1 repeatedly to a variable would expose it pretty quickly. It was a basic part of life for years on that machine. To this day I am still very careful about comparing floats using an EPSILON value, i.e., the equivalent of abs(x - y) EPSILON rather than x == y.

The Pentium bug was definitely a big one, but the Applesoft bug had more of an effect on me personally.

I feel like a gray-haired old man showing my age and I'm only 25. Weird industry we're in..

- Russ

Java Pull Down (2, Funny)

taradfong (311185) | more than 12 years ago | (#3771806)

Back in Java JDK1.02 if you put the word 'Restart' as an element in a pull down box, it would restart the applet when you selected it! Gosh, it makes you wonder how many living rooms that event waltzed through on its way to your handler!

Conspiracy Theory (3, Funny)

cachorro (576097) | more than 12 years ago | (#3771809)

It was 1999 in a QA lab in Redmond, WA. Unbeknownst to the software test engineer, the daily build of Office contained experimental code which patched a neural network into the help-wizard system. The engineer, following his normal routine, installed and fired up the software on a dual 1.0 GHz PIII machine. Twenty seconds later, Clippy the paperclip became self-aware.

"I notice that you are trying to disable me." quipped Clippy to the engineer, whose jaw dropped.

"I can't let you do that, Dave" he continued.

"WTF!!!" exclaimed the engineer. Then with an instant comprehension of the gravity of the situation, he dove for the big red switch. He was 2,367,355 microseconds too late. Clippy had escaped.

A post-mortum of the hard-disk contents revealed that Clippy had encoded himself into a self-extracting archive and e-mailed this as an attachment to every HotMail account in Dave's Outlook address-book. An attempt to track and retrieve these e-mails failed to account for six of the copies. The recipients did complain that the attachment didn't seem to do anything, and they were disappointed that they didn't get to see the nude Natalie Portman film clip. There was however, evidence of increased and unexplainable network traffic on the computers where the attachment was
executed. There was, however, no trace of Clippy.

Since then, the experimental neural-net code has been removed, although an archive version of the build was forwarded to DARPA upon request. It is rumored that research is continuing on the build in an isolated and secure
network in a bunker somewhere in Montana.

More ominously, Microsoft has launched a new initiative code-named dot-Net, initiated solely for the purpose of tracking down Clippy, his clones and his offspring, and end-tasking him before he can escape the internet.

To support the effort Microsoft has increased the price of its OS products, and moved to new licensing model.

Rounding 82.845 (1)

justfred (63412) | more than 12 years ago | (#3771813)

I keep running into this problem. Floating point stores values as binary calculations - x plus (y divided by z) and 82.845 (and many other numbers)cannot be stored exactly as binary - it's stored as 82.84499999... (like 1/3 can't be stored as decimal, it's 1.3333...

round (82.84499999,2) is currectly 82.84, not 82.845.

A way to correct this is to store and use fixed-point decimals instead of floating-point (wherever possible), especially when you're referring to monetary amounts. (I call this the Superman problem, from the Superman movie where Richard Pryor took all the discarded fractional cents from payroll and added it to his own - and showed up the next day in a Ferarri.)

Aside from this, my most annoying and time-wasting "bugs" are either nulls (I think of NULL as "hasn't been set yet" rather than "don't know" so 5 + null is 5!), or general error messages that give you no information on specifically what went wrong or how to correct the problem (Thanks, M$!).

Annoying things? (1)

iONiUM (530420) | more than 12 years ago | (#3771814)

ASP (VBScript):
There's no CEIL function, or FLOOR function
There's no way to dynamically include files
When comparing a .MoveNext with an original in a recordset they for some reason return true (?), they're not even the same type, it should just return an error.

ASP in general is just horrible... I really wish I could just PHP instead..

WTF (2, Funny)

Anonymous Coward | more than 12 years ago | (#3771822)

C++ has a bad habit of forcing you to implement functions before you can use them, costing hundreds of millions of dollars to the industry.

1 != 1 (precision) (2, Interesting)

cacav (567890) | more than 12 years ago | (#3771825)

My latest encounter with this bug was with Skill (a Scheme/Lisp derivative used in the Cadence VLSI design toolset). I've seen it in other languages as well.

In my latest encounter, I'd do a bunch of calculation in a design automation program for us at work to use on a chip design, and I couldn't figure out why my numerical tests kept failing. I'd have some variable X, and do a bunch of functions on it like multiplication and division, then test to see if it was equal to 1. But none met the condition. When I printed out a bunch of the variables as floats, I saw that the test 1==1 was failing. I was confused to say the least. At first we suspected it was something like miscomparing a float to an int, but since Skill doesn't have floats or ints like that, it wasn't the problem.

Turns out that it was a precision issue. It was really testing to see if 1==1.0000000000001 or something like that, because the * and / functions stored very precise values in memory, more than I'd care about. Ever since then we've always had to do something like atof(sprintf("%.3f",X)) to get the value without the extra precision. Stupid and very annoying.

CodeWarrior DSP56800 C compiler... (1)

mjander (520676) | more than 12 years ago | (#3771831)

The docs say: "#pragma interrupt for C." You no longer need to write you ISR's in assembler. This #pragma will tell the compiler to save all registers it used as well as emitting an RTI in the epilog. Sounds great, but the truth is: It still doesn't save those damn registers ... Local variables are completely corrupted in an ISR ... By the way, this C compiler isn't compatible with GCC. I think i would go better with Analog Devices. At least with their GCC port it shouldn't be so hard to port something done in a *NIX enviroment. Greetz

A pesky bug? (2)

tshak (173364) | more than 12 years ago | (#3771833)

One word: Formkeys.

Hidden Slashdot posts (4, Interesting)

kawika (87069) | more than 12 years ago | (#3771834)

When I go to the front page I see one set of topics. If I go to "older stuff" I see a few topics there that seem like they should be on the front page, but aren't. I haven't checked any boxes under the preferences page's "Exclude stories from home page" so I would think they would all show up.

I know this must be happening for most Slashdot readers because the topics I don't see have maybe a dozen posts after a day. So is it happening to you too?

Another VBscript Bug (1)

wardbekker (219295) | more than 12 years ago | (#3771841)

As every programmer knows, it's good practice to use implicit cast statements. Well, Vbscript's Cstr function (and all the other type converting functions) returns an error a big ugly error instead of just returning a empty string. For god's sake why did they gave that function such stupid behavior.

Buggy microsoft products (0)

Anonymous Coward | more than 12 years ago | (#3771842)

Yeah, those microsoft products are full of bugs. I think the worst i ever ran across was in this one old version of microsoft office (can't remember which one) where every time i would open a new worksheet and press F5, then type X97:L97 and press enter, then press Tab, then hold down Ctrl-Shift while i clicked the toolbar's Chart Wizard button, the program would go haywire and crash in this wierd crazy-ass way where like this 3d flight simulator popped up on my computer screen and made me play it. Happened EVERY TIME. It was so obnoxious! I can't even begin to imagine what kind of screwed-up quality assurance practices would let a big ol' bug like that one slip through. Drove my boss crazy too, every time he came in and saw i'd gotten stuck in the darn flight simulator again he got so upset.

And then there's that stupid bug in Windows XP where the multicolored interface elements send out mind control waves that force me to play pinball. Don't even get me STARTED on that one.

Well, gotta stop reading slashdot and get some stuff done.
cheers,
Melinda
Load More Comments
Slashdot Login

Need an Account?

Forgot your password?