Help needed: Firefox crashing on AMD K6 and other old processors

Yesterday a group of developers were sifting through crash reports that might be related to the new JIT code in Firefox 3.5. We found an unusual set of crashes with EXCEPTION_ILLEGAL_INSTRUCTION. After sifting through these crashes, I found that they have very similar patterns:

Anyone with an original AMD K6 running Linux or Windows, could you please try launching Firefox 3.5 and browsing around the web with it? Please post your results in bug 500277. If you are willing to spend some time diagnosing the problem in a debugger, please email me or join #jsapi on IRC.

Atom Feed for Comments 4 Responses to “Help needed: Firefox crashing on AMD K6 and other old processors”

  1. Anonymous Says:

    Why are you trying to support Firefox on such old CPUs? Despite the minimal requirements claimed by (233 MHz Pentium, 64 MB RAM), trying to use Firefox 3 on a 233 MHz PII with 128 MB RAM was an extremely painful experience—sometimes I could see the UI being drawn, and there was constant swapping.

    Wouldn’t it make more sense to concentrate on the hardware on which it runs usably (perhaps slowly, but not unusably slowly)? Firefox has a quite sluggish UI compared to other browsers (of course you only notice this on such old machines), so people with old computers would use either older versions or (older versions of) other browsers anyway.

    My point is that making it not crash on very old computers still won’t make it usable on very old computers.

  2. Benjamin Smedberg Says:

    Anonymous: good question.

    It’s pretty obvious that we have real users on those processors; otherwise we wouldn’t be getting any crash reports! Any decision to stop supporting them shouldn’t be taken lightly. Even half a percent of our userbase is a huge number of users. In addition, when we release Firefox 3.5 we’d be upgrading these users to a release which crashes on startup. It’s likely that the fix is fairly simple (even disabling JIT would be better than nothing): we just need to figure out exactly why we’re crashing and how to properly detect these processors.

  3. Ian M Says:

    I’d guess it’s likely the JIT code making bad assumptions about some feature that those processors don’t have – I’m guessing something like MMX maybe?

  4. Benjamin Smedberg Says:

    IanM, sure. But we already have detection code for SSE2 and CMOV. It’s possible that the detection code is broken for some reason on these processors, or that we’re emitting some other instrunction which isn’t available. Until I can find somebody who can reproduce this problem we won’t know.

    I’ve found a couple people with matching Via C3s who couldn’t reproduce any problems on Linux, so we also don’t know whether this is a Windows-only problem.

Leave a Reply