Ranter
Join devRant
Do all the things like
++ or -- rants, post your own rants, comment on others' rants and build your customized dev avatar
Sign Up
Pipeless API
From the creators of devRant, Pipeless lets you power real-time personalized recommendations and activity feeds using a simple API
Learn More
Comments
-
1. Logical bugs (because they'll often fail when it's too late or code has been already released)
2. Dependency bugs (not owning or being able to edit the broken code is the stuff of nightmares)
3. Improper configuration or input cleaning bugs (gaping security holes and you must be knowledgeable to avoid them)
4. Syntax errors (just type it right) -
Wrong documentation and unexpected behavior without access to source code. Perfect for rapid hair loss.
-
Race conditions win over them all. They are difficult to reason about, hard to reproduce, hard to test for absence, and any kind of logging or debug build usually turns them into Heisenbugs.
-
How do we define worst bugs?
Is it based on the amount of time required to fix the bug?
Is it based on when we identified the bug?
During testing phase? On production?
Is it based on impact of the bug? Money that business has lost because of the bug?
Regardless of how we define it, I'm actually biased towards design bugs because those are the ones that slow you down (iterations in future) and takes most of the time to refactor. -
Def race conditions. Intermittent, hard to find, hard to debug, one thing depends on another and frustrating as all get out.
-
Snob20926yIndeterministic "bugs" when doing multithreading stuff..
(Additionally the people throwing around mutex'es as an attempt to solve the problem) -
@wholl0p Why, mutexes are the easiest preventive measure when accessing shared variables or resources. I wouldn't even think about lockless stuff unless benchmarking has proven the mutexes to be a serious bottleneck.
-
@wholl0p ah ok, yeah of course only around access to shared stuff.
The miracle why random mutexes can happen to accidentally work is that they contain memory barriers so that unrelated things get synced up, too. -
@wholl0p yeah, it's a choice between either limiting concurrent access by design or manually dealing with possibly inconsistent memory.
Related Rants
Hi everyone here's a question which has caused many arguments in my lurking spots on discord.
What is the worst type of bug? (logic, type, syntax, etc)
//you decide what "worst" means
question
bugs