Re: FPU-intensive programs crashing with floating point exceptionon Cyrix MII
From: Ondrej Zary
Date: Sun Aug 21 2005 - 16:28:48 EST
Linus Torvalds wrote:
On Sun, 21 Aug 2005, Chuck Ebbert wrote:
MATH ERROR: cwd = 0x37f, swd = 0x2800 <===========
The error I marked has no exception flags set. The rest are all (masked)
denormal exceptions. Why your Cyrix MII would cause an FPU exception in these
cases is beyond me. Could you try the statically-linked mprime program?
I use only the statically linked mprime.
Also, please try this one, to see where it happens.
I did some modification to the code so it calls show_regs() in both
cases where I get problems and also added the return so it does not
crash. The code looks like this:
---
printk("MATH ERROR: cwd = 0x%hx, swd = 0x%hx\n", cwd, swd);
switch (((~cwd) & swd & 0x3f) | (swd & 0x240)) {
case 0x000:
case 0x200:
show_regs(regs);
return;
---
Here are the results.
MATH ERROR: cwd = 0x37f, swd = 0x1820
Pid: 1699, comm: mprime
EIP: 0073:[<08181c73>] CPU: 0
EIP is at 0x8181c73
ESP: 007b:bf927ab4 EFLAGS: 00010202 Not tainted (2.6.12-pentium)
EAX: 00000001 EBX: 00000000 ECX: 0000808d EDX: b7f09480
ESI: b7455340 EDI: 080e01f0 EBP: bf927bf8 DS: 007b ES: 007b
CR0: 8005003b CR2: b7ed6058 CR3: 006f0000 CR4: 00000080
MATH ERROR: cwd = 0x37f, swd = 0x1020
Pid: 1699, comm: mprime
EIP: 0073:[<0818ca5f>] CPU: 0
EIP is at 0x818ca5f
ESP: 007b:bf927ab0 EFLAGS: 00010207 Not tainted (2.6.12-pentium)
EAX: 00000005 EBX: 00000000 ECX: 00008407 EDX: b7f08140
ESI: b789aea0 EDI: b7f08200 EBP: bf927bf8 DS: 007b ES: 007b
CR0: 8005003b CR2: b75c6000 CR3: 006f0000 CR4: 00000080
MATH ERROR: cwd = 0x37f, swd = 0x2820
Pid: 1699, comm: mprime
EIP: 0073:[<0818c4b1>] CPU: 0
EIP is at 0x818c4b1
ESP: 007b:bf927ab0 EFLAGS: 00010247 Not tainted (2.6.12-pentium)
EAX: 00000000 EBX: 00000000 ECX: 0000880f EDX: b7f09480
ESI: b741fc20 EDI: 080e0160 EBP: bf927bf8 DS: 007b ES: 007b
CR0: 8005003b CR2: b75c6000 CR3: 006f0000 CR4: 00000080
MATH ERROR: cwd = 0x37f, swd = 0x20
Pid: 1699, comm: mprime
EIP: 0073:[<08181ca1>] CPU: 0
EIP is at 0x8181ca1
ESP: 007b:bf927ab4 EFLAGS: 00010202 Not tainted (2.6.12-pentium)
EAX: 00000002 EBX: 00000000 ECX: 00000084 EDX: b7f09480
ESI: b74f86c0 EDI: 080e01f0 EBP: bf927bf8 DS: 007b ES: 007b
CR0: 8005003b CR2: b75c6000 CR3: 006f0000 CR4: 00000080
MATH ERROR: cwd = 0x37f, swd = 0x1a20
Pid: 1699, comm: mprime
EIP: 0073:[<08193c68>] CPU: 0
EIP is at 0x8193c68
ESP: 007b:bf927ab8 EFLAGS: 00010206 Not tainted (2.6.12-pentium)
EAX: 00000042 EBX: 00000000 ECX: 00154306 EDX: b7e3ba40
ESI: b7a1e680 EDI: b7e3be40 EBP: bf927bf8 DS: 007b ES: 007b
CR0: 8005003b CR2: b7499000 CR3: 006f0000 CR4: 00000080
MATH ERROR: cwd = 0x37f, swd = 0x20
Pid: 1699, comm: mprime
EIP: 0073:[<0818de05>] CPU: 0
EIP is at 0x818de05
ESP: 007b:bf927ab4 EFLAGS: 00010247 Not tainted (2.6.12-pentium)
EAX: 00000004 EBX: 00000000 ECX: 0000880f EDX: b7f06b40
ESI: b7426400 EDI: 080e1960 EBP: bf927bf8 DS: 007b ES: 007b
CR0: 8005003b CR2: b7499000 CR3: 006f0000 CR4: 00000080
MATH ERROR: cwd = 0x37f, swd = 0x20
Pid: 1699, comm: mprime
EIP: 0073:[<0818dfe4>] CPU: 0
EIP is at 0x818dfe4
ESP: 007b:bf927ab4 EFLAGS: 00010247 Not tainted (2.6.12-pentium)
EAX: 00000200 EBX: 00000000 ECX: 0000880f EDX: b7f06b40
ESI: b742a680 EDI: 080e1c60 EBP: bf927bf8 DS: 007b ES: 007b
CR0: 8005003b CR2: b7499000 CR3: 006f0000 CR4: 00000080
--
Ondrej Zary
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/