"Illegal Instruction" when launching Linux versions on AMD K6-2 CPU, due to supporting i686 only (not i386 anymore)

RESOLVED INVALID

Status

()

Core
Build Config
--
critical
RESOLVED INVALID
6 years ago
6 months ago

People

(Reporter: Edward, Unassigned)

Tracking

({crash, pp, regression})

Trunk
x86
Linux
crash, pp, regression
Points:
---

Firefox Tracking Flags

(Not tracked)

Details

Attachments

(1 attachment)

(Reporter)

Description

6 years ago
Attempted to install both SeaMonkey 2.5 and 2.6b1 as well as Firefox 8.0.1 on Debian Linux "Squeeze" (6.0.3) running their 486 kernel and neither would launch.  

When further attempting to launch either from a console window, the result displayed "Illegal instruction" with no further information.

System specs:
AMD K-6/2 3D Now CPU (500 MHz)
512 Mb PC100 RAM
Debian Linux "Squeeze" (6.0.3)

Windows XP Home SP 3 is also installed on the same hardware and both the Windows versions of SM 2.5 and Firefox 8.0.1 run perfectly, so it is likely not a hardware issue.

Comment 1

6 years ago
What version of Firefox did you install, the version from Debian or downloaded directly from mozilla.org? IIRC we compile our version with target=i686, and so your CPU is just unsupported from that POV, but I'll see if I can find that out for sure.
Status: UNCONFIRMED → NEW
Ever confirmed: true
(In reply to Benjamin Smedberg  [:bsmedberg] from comment #1)
> What version of Firefox did you install, the version from Debian or
> downloaded directly from mozilla.org? IIRC we compile our version with
> target=i686, and so your CPU is just unsupported from that POV, but I'll see
> if I can find that out for sure.

One thing is sure: there is no Seamonkey 2.5 or 2.6b1 package for Debian yet, so at least for these, they are the mozilla.org builds.

Edward, you can probably try to install the iceweasel-release backport builds from mozilla.debian.net, which are likely to work on your machine. That will bring you what mostly is Firefox 8.0.
Which makes me think, there is no 8.0.1 build for Debian either, so he must be using mozilla.org builds as well.

Interesting that the windows builds don't target 686, btw.

Comment 4

6 years ago
We specifically kept original-pentium support because a significant (1-2%) portion of our Windows userbase was still using old CPUs of various sorts, including the AMD K6 and the Via C3 which don't support CMOV. There's some additional data in bug 500277 and bug 500466.
(Reporter)

Comment 5

6 years ago
In response to Comments 1, 2 and 3:  These were the *.tar.bz2 files obtained directly from the ftp.mozilla.org site.  I tried to install Firefox 8.0.1 as well as SeaMonkey 2.5 and 2.6 Beta 1.  All three gave me the "Illegal instruction" error when attempts were made to launch from the console.  I'm not aware of any actual/official Firefox or SeaMonkey packages for Debian, aside from their re-branded iceweasel and iceape.

I ran Ubuntu on this same hardware before they dropped support for i686 without CMOV and i586 and earlier CPU's, both SeaMonkey and Firefox up to that point, ran fine on it.  

I do have the Debian iceweasel and iceape packages installed on it, but although they do update (what I'll call) the Gecko backend, the version numbers do not change from the original release and I've had some issues with web sites telling me to "upgrade" the browser because of the "old" version number.

I'll pull the cat proc/cpuinfo from the other machine and will post.
(Reporter)

Comment 6

6 years ago
~$ cat /proc/cpuinfo
processor	: 0
vendor_id	: AuthenticAMD
cpu family	: 5
model		: 8
model name	: AMD-K6(tm) 3D processor
stepping	: 12
cpu MHz		: 501.066
cache size	: 64 KB
fdiv_bug	: no
hlt_bug		: no
f00f_bug	: no
coma_bug	: no
fpu		: yes
fpu_exception	: yes
cpuid level	: 1
wp		: yes
flags		: fpu vme de pse tsc msr cx8 pge mmx syscall 3dnow k6_mtrr
bogomips	: 1002.13
clflush size	: 32
cache_alignment	: 32
address sizes	: 32 bits physical, 32 bits virtual
power management:
(Reporter)

Comment 7

6 years ago
I ran this by someone who introduced me to Linux many years ago.  His thought was that a component of the software, was not compiled with the appropriate compiler flag (for the CPU), but the 486 kernel should otherwise be fine.  

In fact, I tried it on another PC (32-bit AMD Athlon) with both Debian's 486 and 686 kernels installed, both Firefox and SeaMonkey run fine under either kernel.

Hope this info helps.

Comment 8

6 years ago
Given the information, I believe that this is intentional: we are compiling i686 packages, not i386 packages. You will have to either compile Firefox yourself or get an i386 build from your distro.
Status: NEW → RESOLVED
Last Resolved: 6 years ago
Resolution: --- → WONTFIX
(Reporter)

Comment 9

6 years ago
I just tested every release of SeaMonkey from 2.0.11 up to and including 2.8a1.  

2.0.11, which is the version of Iceape (Debian-rebranded SeaMonkey) available with Debian Linux Squeeze, was the only version that would successfully launch on this hardware.  Every version from 2.1 onward, would not, giving me the same "illegal instruction" message.
(Reporter)

Updated

6 years ago
Status: RESOLVED → REOPENED
Component: Build Config → Build Config
Product: Core → SeaMonkey
Resolution: WONTFIX → ---
Version: 8 Branch → Trunk
(Reporter)

Comment 10

6 years ago
Created attachment 578711 [details]
Stack trace of crash (Illegal instruction)

Stack trace when SeaMonkey 2.5 was run (used "strace" to capture).
Right now there's no mention of minimum hardware requirements for Linux on the Firefox System Requirements page [1]. The SeaMonkey System Requirements page [2] specifically mentions "Pentium 233 MHz", which may be true (I don't know) but has no obvious connection with AMD's processors. So even if this intended behavior, these docs could do with some clarification :)

[1] https://www.mozilla.org/en-US/firefox/system-requirements.html
[2] http://www.seamonkey-project.org/doc/system-requirements
(In reply to Benjamin Smedberg  [:bsmedberg] from comment #8)
> Given the information, I believe that this is intentional: we are compiling
> i686 packages, not i386 packages.

Could/Should a runtime check be added?

(In reply to Emanuel Hoogeveen from comment #11)
> So even if this
> intended behavior, these docs could do with some clarification :)

Agreed.
Status: REOPENED → NEW
Component: Build Config → Build Config
Keywords: crash, pp, regression
Product: SeaMonkey → Core
Summary: Illegal Instruction when launching Linux versions on AMD K6-2 CPU → "Illegal Instruction" when launching Linux versions on AMD K6-2 CPU, due to supporting i686 only (not i386 anymore)

Comment 13

5 years ago
I came across the illegal instruction problem as well when trying to install initialially firefox and later seamonkey 2.14.1 which explicitly states:

Minimum Hardware
    Pentium 233 MHz (Recommended: Pentium 500MHz or greater)
    128 MB RAM
    50 MB of free hard drive space

Note, it does *not* say PentiumPro.

I'm running TinyCore linux 4.7.3 on a Vortex86mx (eBOX) processor :
processor	: 0
vendor_id	: Vortex86 SoC
cpu family	: 5
model		: 8
model name	: 05/08
stepping	: 6
cpu MHz		: 933.340
fdiv_bug	: no
hlt_bug		: no
f00f_bug	: no
coma_bug	: no
fpu		: yes
fpu_exception	: yes
cpuid level	: 1
wp		: yes
flags		: fpu tsc cx8 mmx up
bogomips	: 1867.45
clflush size	: 32
cache_alignment	: 32
address sizes	: 32 bits physical, 32 bits virtual
power management:

no CMOV instruction much like the VIA processor.

Updated

4 years ago
blocking-b2g: --- → koi?
Please don't flip flags you don't understand.
blocking-b2g: koi? → ---
Comment hidden (spam)
blocking-b2g: 2.2r? → ---
tracking-b2g: backlog → ---
This bug got usurped by work to require SSE2.
Status: NEW → RESOLVED
Last Resolved: 6 years ago6 months ago
Resolution: --- → INVALID
You need to log in before you can comment on or make changes to this bug.