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
Search - "bug hunt"
-
!!fml
"Root, go fix this bug. It'll take you two days."
The "bug" is a feature that was never implemented for one particular payment type.
The code in question is two years old, full of typos, smells, junior-isms, and is convoluted AF. The feature's commit touched 190 files and implemented many other features as well. Thus far, I have been unable to narrow down where this particular feature's code lives for the other payment types, nor which code or payment paths lead to it. Burned out, I can barely focus on the screen, let alone follow its many twisting and dynamically-inferred paths. I hint as to the ticket's scavenger hunt nature during standup.
"But I wrote comments on the ticket telling you exactly where to look to fix it," Thundercunt admonishes in front of the team.
"Sure, you did," Root replies. "You reworded what the original dev had said in the comments 20 minutes prior, and agreed with him. His comments were helpful, but it doesn't tell me how any of it works," she continues.
TC scoffs and closes the meeting.
Root stares blankly, seeing neither code nor screen, questions her life decisions, and recalls the previous tickets she has worked on: nearly every one of them busywork, fixing other people's bugs. Bugs she never could have gotten away with if she tried.
"Why do I put up with this?" She asks. "They don't care, and it's killing me."
But the bills remain, and so must she.
"Fuck my life" she finally decides.20 -
When abandoning a midnight bug hunt in the middle of a particularly nasty bug, always remember to leave kind words for your future self to see, so that they're not as disappointed with you for leaving this work for them.2
-
Interesting bug hunt!
Got called in because a co-team had a strange bug and couldn't make sense of it. After a compiler update, things had stopped working.
They had already hunted down the bug to something equivalent to the screenshot and put a breakpoint on the if-statement. The memory window showed the memory content, and it was indeed 42. However, the debugger would still jump over do_stuff(), both in single step and when setting a breakpoint on the function call. Very unusual, but the rest worked.
Looking closer, I noticed that the pointer's content was an odd number, but was supposed to be of type uint32_t *. So I dug out the controller's manual and looked up the instruction set what it would do with a 32 bit load from an unaligned address: the most braindead thing possible, it would just ignore the lowest two address bits. So the actual load happened from a different address, that's why the comparison failed.
I think the debugger fetched the memory content bytewise because that would work for any kind of data structure with only one code path, that's how it bypassed the alignment issue. Nice pitfall!
Investigating further why the pointer was off, it turned out that it pointed into an underlying array of type char. The offset into the array was correctly divisible by 4, but the beginning had no alignment, and a char array doesn't need one. I checked the mapfiles and indeed, the old compiler had put the array to a 4 byte boundary and the new one didn't.
Sure enough, after giving the array a 4 byte alignment directive, the code worked as intended.8 -
While writing a raytracing engine for my university project (a fairly long and complex program in C++), there was a subtle bug that, under very specific conditions, the ray energy calculation would return 0 or NaN, and the corresponding pixel would be slightly dimmer than it should be.
Now you might think that this is a trifling problem, but when it happened to random pixels across the screen at random times it would manifest as noise, and as you might know, people who render stuff Absolutely. Hate. Noise. It wouldn't do. Not acceptable.
So I worked at that thing for three whole days and finally located the bug, a tiny gotcha-type thing in a numerical routine in one corner of the module that handled multiple importance sampling (basically, mixing different sampling strategies).
Frustrating, exhausting, and easily the most gruelling bug hunt I've ever done. Utterly worth it when I fixed it. And what's even better, I found and squashed two other bugs I hadn't even noticed, lol -
We were in a meeting today and it came my turn to talk.
me: "I am working on something not fun. I am tracking down a bug in X software that a customer has issues with."
boss: "It is like an easter egg hunt."
me: "Yes, but instead of eggs I am going to find a pile of crap."
boss: "Laughs..."
me: "Its not chocolate..."
boss: "next..."
The original code I am wading through is very likely my boss' code.3 -
A woman has bugs in her home, she wants to find a bug hunter to get rid of them. She calls a man who does bug hunting, he comes to her house and says: "I am a bug hunter, you called me. Where's your laptop?"
Woman confused as she is asks the man: "Why do you need a laptop to hunt and get rid of the bugs?"
"Well how else am I going to debug those bloody programs you wrote?"
Note: I promise I made this up, if anyone else already posted this, I wasn't aware.3 -
Oh man. I have been waiting for this one. Gather round lil' chil'rens it's story time.
So. I was looking for a new project because my old one was wrapping up and that's what my company does. So I was offered some simulation type stuff. I was like "sure why not, I want to make a computer pretend it isn't a computer no more." Side note I should not be a psychiatrist.
So, prior to coming on to this job I felt stifled by my old job's process. This job was a smaller team so I thought the process would be a little smoother. But it turned out they had NO process. Like they had a bug tracking system and they held the meeting to add things to the system, but that was just fucking lip service to a process.
First of all, they used the local disk on the test box as their version control. and had no real scheme as to how they organized it. We had a CM tool but gods forbid they ever fucking use it. I would be handed problem reports and interface change requests, write a bug to track it, go into the code and about 75% of the time or more it had already been worked. However, there was no record of it being worked and I would have to fucking hunt that shit down in a terribly shitty baseline (standardize your gods damned indentation for fuck's sake) and half the time only found out it was done because when I finally located the piece of code that needed changing, the work was already done.
Then, on top of all that, they ask me what time I want to come in. I said 10am, they said okay. One day I roll in at 10 and my boss is mad. Because I missed a meeting. That was at 9. That I wasn't told about. He says I can keep coming in at 10am though (I asked and volunteered to help get him up to speed on the things I was working he said it wasn't necessary) so I did, but every time I missed a 9am meeting he would get pissed. I'm like PICK ONE!!! They move the meeting to 9:30am (which is not 10am).
This shit starts affecting my health negatively. Stress is apt to do that. It triggered an anxiety relapse that pushed me back in to therapy for the first time in 7 years. On top of that the air quality in the office is so bad that I am getting back to back sinus infections and I get put on heavy antibiotics that tear up my stomach along with the stress and new meds tearing up my stomach. So one day as I am laid out in pain, I call out sick. Two days in a row. (Such a heinous crime right.) Well I missed a test event, that I wasn't even the primary or secondary on.
So fast forward to the most pissed off I have ever been. I get called in to a meeting with my boss's boss. As it turns out, my coworkers are not satisfied by the work that I'm doing (funny because I thought I was doing pretty good given that my only direction was fix the interface change reports and problem reports. And there was no priority assigned to any of them).
And rather than tell me any of this, they go behind my back to the boss and boss's boss. They tell me I need to communicate (which I did) and ask for help when I need it (I never did). That I missed an important event (that I played no part in and gods forbid I be sick) and that it seemed like I didn't want to be there (I didn't but who WANTS to work a corporate job).
They put me on a performance improvement plan and I jumped to another project. I am much happier now. Old coworkers won't even say hi, not even those I was friendly with, but fuck them anyway.5 -
So we have a bug.
Yesterday I spend the morning sorting through other people's code to find out what is causing this bug report it to team leader once I find it. He asks me find out who made it and hunt them down! So git blame... Turns out it was him :S felt awkward mentioning it to him so didn't. 5 minutes later team leader "oh it was me" -
So I’m working on a project right and I don’t run it after writing 104 lines of untested code and it doesn’t work.
Which is expected but then I do some stuff and fix that, I get a new error which is great cause I’m getting closer.
Cut to tonight. I’m trying to hunt and kill this bug. And after doing nothing but copying the code to another text file so I can upload that copy and get help.
I decide to run it with a little just print statement in it to make sure it’s definitely broken and I’m not asking online for no reason.
And.. it works.. WHAT???
I uncomment the rest of the function and get rid of the print statement and scream because ITS WORKING!!
I MEAN IT HAS BUGS BUT THEYRE BUGS I CAN FIX AND FOCUS ON AFTER I FREAK OUT ABOUT IT WORKING AFTER ME CHANGING FUCKING NOTHING.8 -
Spend past 2 days trying to hunt down a bug...
I forgot `0` evaluates as `false` so this statement always returned `false` if `id` was `0` >.>12 -
Requests to a soap server were failing randomly. In order to contact the API provider, I tried to provide an curl example with the same payload and the error response. Yet when sending the payload over curl, the request worked just fine. When my application was building the request, it failed.
What. The. Fuck.
I checked and double-checked the request body and headers. They were identical.
Of course, no error response was returned by the API provider and, of course, they could not tell me how what error I caused in my request.
So I created a basic dummy server, installed wireshark and compared the payload when sending a request from my application and from curl to my dummy server.
It turns out: curl, if called in a certain way, automagically strips out newlines. The soap client kept them.
So that that shitty soap server crashed due to newlines in the message body!
Stripping out the newlines was rather easy.
Shame on you, your house, and entire family for letting it crash due to them!1 -
TIL: Php embedded in an HTML file couldn't care less if it's commented out. Such an unsatisfying solution to a two days "Why do all my calls get executed twice slightly different" bug hunt. I'd have liked my initial theory of a haunted server much more...
-
Back in game dev final year, working on GameCube kits, I encountered a weird rendering bug: half the screen was junk.
I was following the professors work and was bewildered that mine was broken.
The order of the class (c++) was different...
I think there was a huge leak somewhere and the order of the class meant memory was leaking into VRAM. I never had the chance to bug hunt to the core of it... Took a while to realise it was that...
It opened my eyes to respect memory haha.2 -
Working for a little SharePoint-Company while studying.
Have to hunt bugs.
Found a major bug which kills one of our customers SharePoint-Site completely because of code pasta.
Told my supervisor about the bug and reported it.
"yeh. we will fix it now"
2h later they started to go live.
"Did you fix the bug?"
"No. Wanted to have the system live asap."
On my way home I got a call.
"We need you back here in the office"
"Why?"
"It crashed. Is not reachable anymore. Help fixing it"
fuck off -
Today I'll try what happens when I look the daily top rants at 0:00. Wait. Tomorrow is Monday. I'll check the weekly rants too. :D And what happens if I press edit on the rant, I'm waiting a few minutes and "Save"? hm...1
-
Alright, fellow DevRanters, gather 'round for a tale of woe and frustration. 🙄
I was knee-deep in my code, chasing down a bug that had me stumped for hours. I thought I was on the verge of a breakthrough, but then it happened—the code disappeared! Poof! Vanished into the digital abyss without a trace. 😱
I mean, it's one thing to wrestle with bugs and errors, but it's a whole new level of insanity when your code decides to pull a disappearing act on you. I scoured my directories, I even questioned my own sanity. But nope, my code was just playing hide and seek.
So, here I am, feeling like a detective in a coding noir thriller. 🕵️♂️ The hunt for the vanishing code continues, but I'm not giving up. This bug won't escape me! 💪
Has anyone else had their code pull a vanishing act when you needed it the most? Share your tales of coding mystery and mayhem below! 🕵️♀️👇5