• e0qdk@kbin.social
    link
    fedilink
    arrow-up
    86
    ·
    11 months ago

    Rule 9 from Agans’s Debugging: If you didn’t fix it, it ain’t fixed

    Intermittent problems are the worst…

    • marcos@lemmy.world
      link
      fedilink
      arrow-up
      31
      ·
      11 months ago

      The problem is, how do you fix it if you can’t make it break?

      The worst thing is when somebody comes to you saying “yeah, I had this problem yesterday, but it’s working now”.

      • Neshura@bookwormstory.social
        link
        fedilink
        English
        arrow-up
        20
        ·
        11 months ago

        this is a case for excessive logging man

        likely won’t help you actually fix the issue because miraculously you didn’t log the three variables you actually need but it’ll make you feel better in the meantime

        • kameecoding@lemmy.world
          link
          fedilink
          arrow-up
          5
          ·
          edit-2
          11 months ago

          and gives you some headroom in improving performance since it’s being choked by the excessive logging

        • folkrav@lemmy.world
          link
          fedilink
          arrow-up
          6
          ·
          11 months ago

          Fully agree, but they’re usually kind of annoying to track regardless. On the opposite side, sometimes even getting it to trigger on purpose to be able to add a regression test can be pretty tricky, depending on the cause. Timing or time/date based stuff is a common culprit…

          • ryannathans@aussie.zone
            link
            fedilink
            arrow-up
            5
            ·
            edit-2
            11 months ago

            Don’t tell me about time and date, I am still recovering from some moron that used datetime.now() for some unit test data setup and sometimes two records (which needed to have the same time) had very slightly varying time which caused all sorts of intermittent test failures that were very tricky to nail down. Database triggers were failing causing failures in all sorts of tests in a random fashion

  • DraughtGlobe@feddit.nl
    link
    fedilink
    arrow-up
    60
    ·
    11 months ago

    ngl my programming career helped me stay grounded in reality. Every impossible issue turned out to always have a cause, a reason to be there. Could have taken weeks to track down the issue, but there was always a cause.

    But still… every 3 or so years… something actually impossible pops-up. Impossible to fix, impossible to reproduce, and suddenly gone from existence, as if it was never there.

  • Traegs@lemmy.world
    link
    fedilink
    arrow-up
    29
    ·
    11 months ago

    The other day I launched an old game and got met with an error, something about directX9 and missing a redistributable file or something. Decided not to fuck with it.

    Yesterday I launched it again to take a closer look at the error message to see if I could fix it. No error message, game booted without issues.

    My confusion.

  • saltnotsugar@lemm.ee
    link
    fedilink
    English
    arrow-up
    29
    ·
    11 months ago

    The longer I’m in IT, the more I realize that the adeptus mechanicus might be on to something with beseeching the machine spirit.

  • MisterD@lemmy.ca
    link
    fedilink
    arrow-up
    23
    ·
    11 months ago

    I have this issue once in a while with PowerShell.

    The environment gets f’up as you develop. You get strange shit happening or it blows up.

    Restart PowerShell or reboot and it’s all good

  • LazaroFilm@lemmy.world
    link
    fedilink
    English
    arrow-up
    17
    ·
    11 months ago

    I had that happen with embedded programming when you forget to flush the eeprom after changing your saved values.

    • Neshura@bookwormstory.social
      link
      fedilink
      English
      arrow-up
      9
      ·
      11 months ago

      hmm embedded. Beautifuly memories from uni. One lab my team forgot to remove a register whose supposed purpose was only enabling a communications bus (documentation didn’t mention it doing anything else). Turns out that same register disables the dac which we needed for the new excersise. You learn to love the hardware datasheets real quick.

  • Oodelallic@lemmy.ca
    link
    fedilink
    arrow-up
    14
    ·
    11 months ago

    lucky, you have code gnomes. leave out an offering of mountain dew and pizza rolls to appease the spirits.

  • FruitfullyYours@lemmy.world
    link
    fedilink
    arrow-up
    11
    ·
    11 months ago

    I’ve recently had the opposite: code worked then the next day without anything changing it didn’t.

    Turned out the J-Link programmer always needs the license check to work, but that expires every day at midnight. It only prompts again if you choose the app and restart it. So I couldn’t get my debugger to work and spent hours trying to figure it out until I did the best thing. I turned it off and on again.

  • DrQuint@lemm.ee
    link
    fedilink
    arrow-up
    12
    arrow-down
    1
    ·
    11 months ago

    So… Network issue. I’m not falling for those ever again.

    • Darkcloud784@lemm.ee
      link
      fedilink
      arrow-up
      9
      ·
      11 months ago

      As a network engineer, I hate you. Everyone blames network, even when the program/code/script/etc is the only thing that won’t work on it.

  • Tabugti@feddit.de
    link
    fedilink
    arrow-up
    11
    ·
    11 months ago

    In university, we had to complete weekly tasks. A few times, the validation script provided by my professor returned an error, meaning that my solution had a mistake. When I tried rerunning the script the following day, my answer was accepted. At the end of the last lecture, my professor came to me and told me that I was usually the first one to hand in a solution and that he sometimes used my answers to validate his results.