all 26 comments

sorted by: hot top controversial new old
[–] 70 points 5 months ago (6 children)

Valid. You need to know if it’s a sometimes bug or an always bug.

  • source
  • hideshow 6 child comments
  • [–] 23 points 5 months ago (5 children)

    The truly terrifying outcome is that it works after changing nothing. Sometimes bugs are the most fun to squash.

  • source
  • parent
  • hideshow 5 child comments
  • [–] 5 points 5 months ago (4 children)

    We seemingly have a different opinion, what we regard as 'fun' ;⁠-⁠)

    Stuff that can't be reproduced and "only" comes up because of some timing issue/race condition is often the most shit to hunt for

    I'm currently in such an adventure - and I thought I had it...but the statistics show, that it only got better, but didn't catch all of the occurrences...

  • source
  • parent
  • hideshow 4 child comments
  • [–] 6 points 5 months ago (3 children)

    Stuff that can’t be reproduced and “only” comes up because of some timing issue/race condition is often the most shit to hunt for

    Ah, but if you can't reproduce it, you can just put in an entry of 'could not reproduce' and close the bug report. Case closed. Go home and enjoy a nice beverage.

  • source
  • parent
  • hideshow 3 child comments
  • [–] 1 point 5 months ago (2 children)

    Tell me that you have never worked on anything even remotely ”mission critical" without actually saying it...

  • source
  • parent
  • hideshow 2 child comments
  • [–] 3 points 5 months ago (1 child)

    I've worked on "mission critical" things, but that doesn't mean I gave a shit about the "mission". If I'm working for minimum pay, I'm putting in minimum effort. Which means closing the bug report faster and with less effort is always desirable.

  • source
  • parent
  • hideshow 1 child comment
  • [–] 2 points 5 months ago

    I agree with that. The only caveat I have is that if you are a junior, entry level, or even just an underpaid developer being asked to work on "mission critical" code, then that code is not "mission critical". It is code that management is obligated to provide but gives no real fucks about.

    Much like a bar mitzvah or quinceañera signals the beginning of the transition from childhood to adulthood, there is the junior to senior transition for developers. It often starts with the realization that the most recent in a long line of super critical bugs you are working on has been sitting around untouched for weeks and is only now "critical" because a customer has bitched about it not being fixed. The best part is when you follow the progress of the bug and see that your fix doesn't get touched by anyone for months because there never was an actual customer bitching about it in the first place, it was just some sales person or VP flexing their power because they felt ignored. So the bug got squeezed it into the already over packed production cycle by making it "mission critical" and assigning it to someone too junior to realize that it's bullshit work.

  • source
  • parent
  • [–] 27 points 5 months ago (3 children)

    Happy debugging if it works on the second try... 😬

  • source
  • hideshow 3 child comments
  • [–] 8 points 5 months ago (2 children)

    Best things are, when you throw in some debug output and that changes the timings just as much to not make the bug happen anymore

    I've lost more hair to that, than my age...

  • source
  • parent
  • hideshow 2 child comments
  • [–] 9 points 5 months ago (1 child)

    Well, better than the other way around:
    Code works perfectly on your test device but breaks down when deployed to field devices with slightly different timing characteristics or whatever.

    Bonus points if it only occurs every few weeks, preferably at night shift and crashes a whole production line... 🫣

    (Incident totally fictitious, definitely no people out of this thread involved, just move on, really nothing to see here!)

  • source
  • parent
  • hideshow 1 child comment
  • [–] 4 points 5 months ago

    True that...
    Happens too fucking often as well

    I'm currently hunting a bug that happens like every 1000 iteration of the thing happening.
    Like, I'm telling the hardware to do something and it works pretty much all the time, but over the day, the errors add up
    I have no clue why it happens, but can't really turn up the debug logs that much, because with so many things happening, I'd produce like a shitload of data.
    But I can't really narrow it down otherwise

    And it seems we're in the same kind of shit business ;⁠-⁠)
    Real time processes and automation, with customers having problems at night shift, because the maintenance guys during that shift are usually not as good - or it's just bad luck

    At one of my last business trips I was already at the airport on my happily way home, when I've got call.
    Needed to get my luggage back, new rental car and get a place at the hotel.
    Just to discover, that after 15 years the hardware acted up in a way it never did before.
    At least I could now include a warning message, if this weird situation ever happens again, but that was a tough one to swallow...

  • source
  • parent
  • [–] 8 points 5 months ago* (last edited 5 months ago)

    Or the code you are working on is calling a system that is currently unreliable which you cannot be responsible for.

    Fuck test automation, it's a fucking trap get out of it as soon as you can

    EDIT : that is to say, test automation as in automation that a tester does, instead of unit tests. If you have started a career as a software tester , get out ASAP.

  • source
  • [–] 5 points 5 months ago

    Ofcourse. The first stage is denial.

  • source
  • [–] 4 points 5 months ago

    Very true, especially when working with recursion. (Debugging recursion sucks)

  • source
  • [–] 3 points 5 months ago*

    The first time, I just saw it's not working; the second time, I was paying attention to the details to see what specific parts aren't working and clues as to how/why.

  • source
  • [–] 3 points 5 months ago*

    tilts tin foil hat to the left...

    Works now 👍

  • source
  • [–] 3 points 5 months ago

    Due to the non zero ammount of times this happened to me... this is like pressing ctrl+c multiple times to make sure you copied the thing. And then pressing shift+ctrl+c cause you aren't sure if that works in this terminal emulator.

  • source
  • [–] 3 points 5 months ago

    Sometimes, this actually works simply because of your compiler lagged the previous time.

  • source
  • [–] 2 points 5 months ago

    But sometimes it works the second time because it loaded something in the bg.

  • source
  • [–] 2 points 5 months ago

    You'd be surprised at how many times this would help. Sometimes data could be in garbage state and would change between execution.

  • source
  • My code works

    Let's change something and run it again

  • source
  • [–] 1 point 5 months ago (3 children)

    Well yes, the trick is to attach the debugger for the second run.

  • source
  • hideshow 3 child comments
  • [–] 7 points 5 months ago (2 children)

    ....and because it slows down the execution a bit and this avoids the race condition that triggers the bug, it now runs flawlessly.

  • source
  • parent
  • hideshow 2 child comments
  • [–] 1 point 4 months ago

    Actually valid approach. Could be a race condition

  • source