4 ms·
Because it has to be reproducible. Help make it reproducible and show that to the developers.
by thundarr 1y ago
Because it has to be reproducible. Help make it reproducible and show that to the developers.
- nehal3m 1y agoHard to do when all your data is chilling in oblivion.
- bestham 1y agoIt doesn’t have to be reproduce with real data.
- nehal3m 1y agoThen the developers can do it
- PetitPrince 1y agoSo you expect the developer to create data ex-nihilo for a bug they don't know how to trigger ?
- nehal3m 1y agoI explicitly do not, which is why my first response spells out that it’s hard to reproduce a bug when all your data is gone. If it is the case that the bug can be reproduced without user data (as suggested by the person I responded to, not me), then the developers should be able to do that better than users can.
- deleted 1y ago[deleted]
- thundarr 1y agoYou can take snapshots of the VM with the mail server. When the bug happens, identify the snapshot. Bingo.
- nehal3m 1y agoYou’re assuming users affected by this bug have control over the VM running their mail server. I won’t argue that it can’t be done, but it’s probably harder than we think.
- CJefferson 1y agoHow about this bug, which I submitted 13 years ago and still isn't fixed. You can't search for "wedding" : https://bugzilla.mozilla.org/show_bug.cgi?id=752844 https://bugzilla.mozilla.org/show_bug.cgi?id=752844 I've been amazed over the years this has never been fixed -- it's very hard not to make jokes about the standard lifestyle of open-source programmers, that they don't consider this a priority (note: that's a joke, I consider myself an open-source programmer. I would hope that's obvious, but someone just bothered to sent me a mean anonymous message)
- bartread 1y agoI don't know why you're getting downvoted for this. That seems like a pretty frustrating bug when generalised to other word stems. It's also pretty standard to prioritise exact matches when ordering search results so, again, frustrating. One of my biggest bugbears with Microsoft Outlook has always been that its search function is terrible. If you can't find an email then it may as well not exist, and that's been a real problem on a regular basis during my career - particularly latterly when I was in leadership and necessarily lived in my email and calendar. It's disappointing that Thunderbird has similar issues with such a fundamental function.
- _flux 1y agoIndeed most of the time I already know the exact word I'm looking for; and most of the time I get non-exact hits making it so much more difficult to find the actual message. Perhaps there could be an option to disable stemming completely from the inverted index, which would be probably easier to implement than a post-search filter (which in itself doesn't sound very complicated..). But of course, it's open source, anyone could contribute :D.
- berkes 1y agoThe search in thunderbird is terrible compared to what we are used to today. Same for k9 (now thunderbird for android?). Not only is the UX a horror, its results rely on all sorts of technicalities. I, as a software engineer, can understand that a mail has to be downloaded in entirety locally in order to have it indexed and then show up in the results. And I understand that sub-sub directories aren't really a thing in IMAP, so searching this-dir-and-everything below is hard/impossible and so on. But mostly the search algorithms are poor. So much so, that I often rely on (rip)grep to find mails. Or in a few occasions wrote a quick bash/python horror to push all my mail into a meilisearch instance and then use this search engine to get the lists and filters that I would expect thunderbird to have. Yes. It's open source. So "go fix it" is a proper reply. But that doesn't make a complaint about the state of the search feature invalid.
- BiteCode_dev 1y agoWe don't know how to make it reproducible. What developers should do on such a critical and long standing issue is to offer an extension that victims can install to volunteer to track the bug. So they can click a button when things are fine to take a snapshot, and click another one when they encounter it. I would install that and be part of the solution.
- bartread 1y agoIf it was me running the project there's enough information in that thread to piece together an exploratory testing plan around the issue that might allow us to isolate it, and I'd set aside some time for the team to do that. Whilst obviously not lethal, this Thunderbird bug sort of reminds me of the Therac-25 incidents in the 1980s. Very occasionally the machine would give patients massive overdoses of radiation. This bug wasn't easy to reproduce (thankfully) and turned out to be due to a race condition. But of course, you can't find a problem if you don't investigate, and if it's a serious problem that's been documented then, as engineers, we can't just hide behind non-reproducibility as if it's some sort of magic shield. We have a responsibility to investigate and isolate the problem ourselves. If we don't do that we are effectively washing our hands of our own creations.
- berkes 1y agoNot only that. Often mitigations can be placed even if the actual bug cannot be reproduced. Like many others in the thread suggested. I've encountered several impossible to reproduced bugs in the past. And what I (or my team) would then do, is re-architecture (refactor) some pieces of software so that we could reproduce it. Like e.g. better logging, specialized layers/adapters/services, simpler logic, and -above all- better testability.
- smokel 1y agoNitpick: not all bugs have to be reproducible to be taken seriously. Defensive programming, and adding extra logging could be a mitigation to avoid future problems, or to help fixing them in the future.
- mrweasel 1y agoKinda off topic, but I've been searching for good introduction and best practises for defensive programming, but never really found much. Any recommendations?
- smokel 1y agoThis is something where modern chatbots will probably be very helpful. From the top of my head: 1. Validate input, expect all external input (both human and machine generated) to be completely bogus. 2. Fail fast and early. If something seems off, crash straight away, and do not expect things to magically repair itself at a later stage. 3. Use pre- and post-conditions where appropriate. I'm not sure about the exact definitions of defensive programming, but static type checking, and possibly unit testing, might also be part of it.
- scott_w 1y agoI don’t know of any real posts on it, it just ends up being kind of a “assume it’ll go wrong,” then figure out how you know something has gone wrong and track it down. Your starting point is, after an issue is reported, add a load of logs around places that seem like candidates for the flow. Over time, you get a sense of where things can break and you add that telemetry ahead of time.
- tstrimple 1y agoI feel like this is sort of like reading a book to get better at self defense. Yeah, you'll probably pick up a few interesting things that may be of questionable use. But when you train in martial arts, you often get to go through the motions and put the moves into practice. Even then "real" fights will feel quite different and a lot of the stuff you've learned will likely fly out the window. If you've been in real fights a lot, you've begun to internalize your training and your moves become more like instinct. It's quite difficult to go from book knowledge to instinct without getting beat up a lot in between I think. The real valuable lessons come from building something that breaks and getting to fix it yourself.
- jajko 1y agoNo it doesn't. If I waited every time for obscure production issue to be reproduced in lower envs I would be fired... many times for clear and obvious incompetence. Sometimes, you can add some additional steps, logging, change behavior in corner case a bit, either to get more understanding next time it happens or even mitigate it. Sometimes, you have plenty of tools and ways to act. In my experience, that sometimes is basically always if one cares enough.