5 ms·
How do you fix a bug you can't reproduce? It's a genuine question because I'm puzzled here. A very small number of users have this bug (and tbf, it's a really
by a0123 1y ago
How do you fix a bug you can't reproduce?
It's a genuine question because I'm puzzled here.
A very small number of users have this bug (and tbf, it's a really bad bug), and are unable to consistently reproduce it and it seems none of the developers have been able to (the seemingly random nature of the bug occurring is not helping). How is it supposed to be fixed?
- tobias3 1y agoYou add more and more diagnostics (e.g. logging) in that area till you manage to track down the bug. Over several years this should be possible. At that point you can either fix the bug directly or do it properly by first reproducing the bug (in a test) and then fixing it.
- inanutshellus 1y agoHow do you close a bug you cannot reproduce? Said another way - If they can't reproduce it, they can't close it. They may well have fixed it already, but without a way to reproduce it the only prudent behavior is to leave it open and wait for the next diagnostic file to be uploaded.
- naasking 1y agoThat's not the only prudent behaviour, as the OP said, the prudent behaviour is to add more diagnostics and guards against the conditions that lead up to the bug.
- godelski 1y agoOkay, let's assume more diagnostics and guards were added. Now re-answer the above questions with these assumptions. - How do you fix a bug you can't reproduce? - How do you *close* a bug report when you can't reproduce? Being generous here, we're assuming there's 17 years worth of diagnostics and safety guards added but through that time the bug still isn't reproducible. Let's try to answer the questions under these assumptions.
- naasking 1y agoIf you've added guards and diagnostics, then you close it until someone else files a follow-up, then it can be re-opened. There's no sense keeping it open unless there are ongoing reports of the issue.
- justin66 1y agoThere are users in the comments here reporting the issue affects them. Would some noble purpose be served by closing the existing issue in the hope that they'll complain via more official channels?
- account42 1y agoHave the been any potential fixes made since those reports?
- justin66 1y agoGiven there are people in the comments here indicating the issue still exists, there haven’t been any actual fixes made.
- godelski 1y agoHopefully those people will report the issue in the bug report and try to help the devs reproduce the issue. Especially since it is linked.
- justin66 1y agoI don't think one more user report is going to be the difference that pushes them over the finish line after two decades. Let's not pretend the developers have been taking this bug seriously.
- godelski 1y agoThey still have it marked as unreproducible. What do you expect them to do if they can't reproduce? So yeah, I do think more user reports can help. At worse, it will make them take it more seriously if there are more reports. You also are falling to observation bias. You can see linked in the issue as well as by searching that there are similar issues that were resolved and marked solved. So I don't think they were just doing nothing as everyone seems to be assuming.
- Nition 1y agoThe way I've dealt with that in the past is putting into into Review or whatever the equivalent is, make a note ("cannot repro, but attempted potential fix in version XXXX, moving to review, please reopen if anyone reports this again) and then if nobody reports it still happening for x amount of time (e.g. 12 months), close it. Can always reopen it if it gets reported again beyond that.
- justin66 1y agoFor starters, put a lot more effort into reproducing it.
- ParetoOptimal 1y ago> How do you fix a bug you can't reproduce? You strangle it from the edges.
- account42 1y ago- You can try harder to reproduce it. - You can extend logging to gather additional information to reproduce it. - You can try to reason about the code and figure out possible causes. - You can attempt to formally verify the correctness of the code. - You can put guards into the code against unexpected states and actions. - You can verify the correct result of previous actions before any destructive actions. - If all fails you can scrap the piece of code in question since it seems to be beyond your ability to maintain.