5 ms·
> I have run into a couple situations where dragging tabs has crashed, but it's too occasional to care. Am I the only one to have the expectation that software
by londons_explore 3y ago
> I have run into a couple situations where dragging tabs has crashed, but it's too occasional to care.
Am I the only one to have the expectation that software I use should never crash?
My chair holds me up every day. My fridge keeps my food cold every day. My windows keep out the rain every day. My washing machine washes my clothes every time. Why should my firefox get a pass to sometimes randomly crash and that be okay?
- beezlebroxxxxxx 3y agoYour chair and your fridge, like a piece of software, can be repaired or fixed. They get worn down, especially if they're repaired many times over. Crashing, in the context of a chair or fridge, or in software, is generally not seen as a catastrophic failure which fundamentally makes the chances for repair or fixing impossible. One would hope your chair or fridge never "crash", like one hopes a piece of software never does, but they come in all levels of quality and face all kinds of edge-cases. One day, for instance, maybe a 3 tonne man sits on your chair, which has held you up just fine every day, and the chair fails to hold him up, crashing him to the ground. You wouldn't turn around and reasonably say your chair is now a failure, really.
- jchw 3y agoI have two broken chairs. I had to replace a fan motor in a fridge once. I had a window that actually did start leaking. I have never had my washing machine break down, but I have had a dryer break down. All of those things break. Congratulations if you've managed to experience life without that. Anyway, comparing software to chairs is unlikely to yield any useful wisdom IMO, so I'm not actually going to attempt to make an argument based on that. I know that any non-trivial piece of software will have millions of potential codepaths, and Firefox likely has a number of potential total codepaths so large that we could not ever hope to calculate it through the entirety of humanity's existence, so I think it's just only reasonable to expect that some of those codepaths may crash. For safety-critical applications where you can't afford to have a software bug kill a bunch of people, there's only one realistic option: you can't rely on never having a software bug. You instead must do your best to ensure that as many classes of software bug as possible can't, on their own, cause damage. Ideally you would combine safeguards at every possible level: of course try to eliminate bugs, but also add hardware protections, redundancy, and realistically any kind of mitigation you can. I do not know how much better software engineering could be with more discipline, but I do know that simply asking humans to not make mistakes when writing millions of lines of code isn't reasonable, and the stakes are not always high enough to warrant writing everything in Ada. Anyway, if my fridge fails, I have to order some replacement parts or worse, maybe a new fridge. If Firefox crashes, I am annoyed for like 30 seconds until I hit "Restore Session" and it happens infrequently enough that I'm not even sure when the last time was. (P.S.: It's also worth noting that despite regulation and despite the rigor of traditional engineering, gas-lifted chairs occasionally explode and kill the people sitting on them. I don't think I've ever heard of a Firefox crash directly killing someone, so there's at least that.) Update: In middle of trying to post this, HN stopped processing requests for maybe 15 minutes. Almost poetic.
- JohnFen 3y ago> All of those things break. Congratulations if you've managed to experience life without that. Physical things wear out. That's an entirely different situation from a product that breaks because it was faulty when sold. It's true that expecting perfection from any complex system is unrealistic, but good software should at least be lacking in crashing bugs that happen with common operations (such as dragging a tab). Just to clarify, I'm not saying that FF (or Wayland) isn't good software. I'm just saying that nobody should just shrug their shoulders and say "that's life" when common operations cause a crash.
- jchw 3y agoYeah, exactly, and that's kind of my point; there's not really much wisdom through that comparison in my opinion. I guess I am just saying that I don't agree with the sentiment behind "software I use should never crash" or the reasoning that chairs don't "crash" or something like that. The trouble is that there's really no 'reasonable' amount of instability. The amount of instability we tolerate is essentially arbitrary. Desktop computers can have uptimes of several months to potentially years, which when I was younger (not that long ago, but long enough) would've been completely unheard of (And yeah, I'm sure microcomputers with vastly simpler software/hardware could run for a lot longer, but I think it's fair to say that's not a very fair comparison). For me Windows XP hardly lasted longer than a few days before things started to get kind of weird, and I consider Windows XP to have been amazingly stable for its time. I think the state that we're at now is actually a result of software engineering and computers getting better. The software has gotten immeasurably more complex than say, the Windows 9x days, and yet stability has improved in many dimensions. If we were still making software with the same complexity and cardinality I can only imagine it would be significantly more stable, but it's always hard for the theoretical part of something to keep up with the practical part.
- RussianCow 3y ago> Physical things wear out. Manufacturing defects and design issues also exist in physical products, so I'm not sure that this is a relevant point. > I'm just saying that nobody should just shrug their shoulders and say "that's life" when common operations cause a crash. Honestly, I find it a miracle that complex software like web browsers and operating systems are able to work at all. Yes, crashes are frustrating, and constant crashes are unacceptable, but you just cannot expect such complex software to work perfectly all the time. Case in point: Just the other day, a macOS upgrade went wrong and had to be interrupted, and now I don't have an admin user on my MacBook.
- velcrovan 3y agoI’m not sure these are the best examples. Your appliances are UL listed and interact with an electrical grid that is heavily regulated. Other than their extremely simple interface with that system (and your plumbing in the case of the washing machine) they entirely self contained. If your windows do keep out the rain, they do so because they were installed properly within a much larger system of overlapping parts. Even on new construction subject to inspection, failures in this system commonly evade detection until after they have done years of damage.
- JohnFen 3y ago> Am I the only one to have the expectation that software I use should never crash? Nope. That's one of my two baseline expectations (the other, more important one, is that software I use should never cause data loss).
- kiwijamo 3y agoMy expectation is that if any software comes across an unexpected situation, the software should crash rather than try and bluff its way through something it's not designed to handle -- risking data corruption or data loss which is worse than simply crashing and retaining your last known good 'save' point. This is where it's nice to have software that runs e.g. tabs in different processes, so you don't experience an overall crash but just a crash isolated to a tab running e.g. a nefarious JS application.
- andersa 3y agoConsider the impact of those things failing. Your chair breaking might injure you in a way that takes months or years to heal. The fridge failing might spoil an entire batch of food. A window failing at the wrong time could cause massive damage to the interior of the house. Meanwhile, the browser crashing rarely makes you lose what, 15 seconds of time to start it back up and continue? It's annoying, but it's also not really... a big deal?
- throwaway2037 3y agoAm I the only one to have the expectation that software I use should never crash? Firefox has 20+ million lines of code. Honestly, I can't tell: Are you trolling? A modern web browser is some of the most complex software ever written.
- jamesfinlayson 3y ago> A modern web browser is some of the most complex software ever written. Case in point - I had to run some x86 Docker containers on an M1 Mac recently - PHP and nodejs ran without issue using Docker's under-the-hood emulator but Chrome continually crashed during emulation.
- Scaevolus 3y agoThat's far more likely to be the emulator failing to handle V8 JIT operations than a bug in Chrome.
- jamesfinlayson 3y agoOh agreed - qemu is quite good but it failing on Chrome is evidence that Chrome is a very complex piece of software.
- great_psy 3y agoIf your chair got as many updates as Firefox than it would be broken just as much.
- deleted 3y ago[deleted]