Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 20900 - Kernel 2.4.20+ crashes with Illegal Operand exception on AMD 800 T-Bird
Summary: Kernel 2.4.20+ crashes with Illegal Operand exception on AMD 800 T-Bird
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: [OLD] Core system (show other bugs)
Hardware: x86 Linux
: High major (vote)
Assignee: x86-kernel@gentoo.org (DEPRECATED)
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2003-05-13 03:36 UTC by Marius Caldas
Modified: 2003-08-10 16:09 UTC (History)
2 users (show)

See Also:
Package list:
Runtime testing required: ---


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Marius Caldas 2003-05-13 03:36:24 UTC
One of my systems is an Athlon T-Bird 800 using a SIS-735 chipset and 1GB of PC133 
SDRAM. The compiler is GCC 3.2.2, CHOST="i686-pc-linux-gnu", 
CFLAGS="-mcpu=athlon-xp -O3 -pipe", ACCEPT_KEYWORDS="~x86". All kernels up to 
2.4.19 compiled and ran fine. With the Kernel config set for CPU=Athlon(GCC>=3.1), 
kernels starting from 2.4.20 crash at boot right after identifying the IDE disks, with the 
message "Illegal Operand 0000". I tried compiling the kernel for i386 and resetting a 
series of options in the kernel config but it always ends with the same result. My other 
box, an Athlon 2600 with the KT333 chipset, upgraded to newest kernel without any 
problems. 

Reproducible: Always
Steps to Reproduce:
Comment 1 Neil Watson 2003-05-13 09:32:30 UTC
Shouldn't your -mcpu flag be athlon-tbird and not athlon-xp?  See man gcc 
(-mcpu). 
Comment 2 Marius Caldas 2003-05-13 12:48:04 UTC
Oops, it was late night, I ended up copying the values for make.conf from my Athlon 2600. :-\  
The value for cflags on my Athlon 800 is of course athlon-tbird.  
CFLAGS="-march=athlon-tbird -O3 -pipe".  
All other values are as above.  
Thanks for pointing that out, but that is not the problem.  
Comment 3 aethyr 2003-05-14 04:30:13 UTC
How exactly did you compile your kernel?

It shouldn't matter what your cflags are, as the kernel as its own set of flags in its Makefile if you compile manually.

Are you overclocking?  Is this your first kernel compilation?
Comment 4 Marius Caldas 2003-05-14 14:02:14 UTC
Hi Aethyr. No, this is not my first kernel compile. I'm an embedded sw engineer, and I've got lots of experience compiling the Linux kernel, analyzing source code, and making small changes to the kernel. You're right in that the CFLAGS are not relevant in this case. 
I'm not overclocking, since the ECS K7S5A (SIS735) mobo makes this rather incovenient. Memory timing is conservative. It is equipped with a Voodoo 3500 AGP card, a NS83820 Ethernet card (driver compiled as a module) and 1GB of PC133 SDRAM (running at 100 MHz). I'm using the embedded SIS 5513 IDE controller built into the kernel. I'm also using the internal SIS900 Ethernet port, driver is compiled as a module. This box is being used as a NAT gateway, with iptables. All iptables options are compiled as modules. The kernel configuration for the 2.4.20+ kernels is identical to the 2.4.19 configuration. I'm using an ext2 boot partition and a Reiserfs root partition (built into the kernel, not a module). The boot manager is Grub.
As I pointed out above, the kernel was compiled with gcc 3.2.2, the CPU setting is for an Athlon(GCC>=3.1). I tried several different CPU settings (i386, i586, i686, and Athlon(GCC<3.1) which is equivalent to the i686 setting.
The problem appears ONLY in the 2.4.20 series. It pops up right after the kernel probes the IDE drives, so I don't think it has anything to do with modules, which have not been loaded yet.
I suspect that changes in the IDE subsystem are the problem, but I don't have the time to look into that right now. I'd appreciate any pointers you might have.
Thanks!
Comment 5 Paul de Vrieze (RETIRED) gentoo-dev 2003-05-21 05:11:27 UTC
I think I just found the same problem with gentoo-sources-2.4.20-r5. The problem comes up when iptables is compiled statically in the kernel. Building all iptables as modules seems to solve the problem. I think there is a problem in one of the connection tracking modules, but I didn't check it further yet.
Comment 6 Marius Caldas 2003-06-12 23:37:38 UTC
Ok, so I had some time to get back to it. The gentoo-source Kernel 2.4.20-r5 running in my Athlon 800 crashes at sched.c:

Floppy Drive(s): fd0 is 1.44M
kernel BUG at sched.c:1141!
invalid operand: 0000

register dump follows... This does not happen on kernel 2.4.19.  Compiling the iptables as modules or not compiling them at all makes no difference. Ideas anyone?
Comment 7 Marius Caldas 2003-06-15 22:09:51 UTC
Ok, here goes some more data: I tried the vanilla-sources kernel 2.4.21, and it booted 
fine. The "Illegal Operand" bug is not present in this kernel. Just as a reminder, it was 
not present in gentoo-sources kernels 2.4.19-rX either . All of the gentoo-sources 
kernels from 2.4.20 to r5 have this "Illegal Operand" bug pop up at boot time. 
Comment 8 Marius Caldas 2003-08-09 12:53:50 UTC
Hi all,
I finally had time to go back to this bug. It seems it is related to using the High Memory option in the kernel. This bug also happened on a Pentium 4, not only on my Athlon 800. I was using the option since I had 1GB or RAM to use. When I disabled the High Memory support, the bug went away on both machines. So the bug is still out there, and it is related to having High Memory enabled and having 1GB of RAM.
Comment 9 Tim Yamin (RETIRED) gentoo-dev 2003-08-10 16:09:35 UTC
RESOLVED

Please disable "High Memory" support if you get this bug.