2.1.122 oops: Div by 0 in gettimeofday

Jeremy Fitzhardinge (jsgf@sirius.com)
Thu, 17 Sep 1998 11:27:48 -0700 (PDT)


Hi all,

I've been having this problem for a while, and I finally got around to
reporting it when it happened in 2.1.122.

If I start X just after booting and then leave it idle without doing
anything, various programs get killed by the kernel when gettimeofday
gets a div by 0 fault about 7 hours later. They all die within seconds
of each other, and any subsequent program trying to use gettimeofday
also triggers the problem.

If I use X first, then the problem doesn't happen. Before updating
to 2.1.122, I had 15 days of uptime, with the same X session for the
whole time.

I've got a Cyrix 6x86MX with suspend on idle turned on, and I don't
use APM.

J

----
Here's the details:

processor : 0
vendor_id : CyrixInstead
cpu family : 6
model : 82
model name : 6x86MX 2.5x Core/Bus Clock
stepping : 2.7
fdiv_bug : no
hlt_bug : no
sep_bug : no
f00f_bug : no
fpu : yes
fpu_exception : yes
cpuid level : 1
wp : yes
flags : fpu de msr cx8 pge cmov mmx
bogomips : 166.71
----
6x86 (Classic/L/MX) Register Dump utility

6x86 DIR0: 0x52 2.5X core/bus clock ratio
DIR1: 0x7

Wait a moment...
Calculated BogoMIPS: 167.77
Kernel BogoMIPS: 166.71

6x86 CCR0: 0x2 NC1 set (address region 640Kb-1Mb non-cacheable)
CCR1: 0x92 NO_LOCK set
CCR2: 0x88 SUSP_HLT set (low power suspend mode enabled)
CCR3: 0x10
CCR4: 0x87 no I/O recovery time
CCR5: 0xa1 allocate cache lines on write misses

6x86 Address Region Register dump:
ARR0: address = 0xA0000 , size = 128 KB
RCR = 0x9 : not cached, write gathering
ARR1: address = 0xC0000 , size = 256 KB
RCR = 0x1 : not cached
ARR2: disabled
ARR3: address = 0xA8000 , size = 32 KB
RCR = 0x9 : not cached, write gathering
ARR4: disabled
ARR5: disabled
ARR6: address = 0xE0000000 , size = 4 MB
RCR = 0x9 : not cached, write gathering
ARR7: address = 0x0 , size = 64 MB
RCR = 0x9 : cached, write gathering

----
Main memory size: 64 Mbytes
1 CyrixInstead processor
3 16550A serial ports
1 1.44M floppy drive
1 vga+ graphics device
1 keyboard
IDE devices:
QUANTUM FIREBALL540A, 519MB w/83kB Cache, CHS=528/32/63, DMA
Maxtor 83201A6, 3060MB w/256kB Cache, CHS=777/128/63, DMA
QUANTUM FIREBALL_TM2110A, 2014MB w/76kB Cache, CHS=4092/16/63
ATAPI 32X CDROM drive, 256kB Cache
SCSI devices:
PCI bus devices:
Host bridge: Intel 82439TX (rev 1).
ISA bridge: Intel 82371AB PIIX4 ISA (rev 1).
IDE interface: Intel 82371AB PIIX4 IDE (rev 1).
USB Controller: Intel 82371AB PIIX4 USB (rev 1).
Bridge: Intel 82371AB PIIX4 ACPI (rev 1).
Multimedia video controller: 3Dfx Voodoo (rev 2).
VGA compatible controller: S3 Inc. ViRGE/DX or /GX (rev 1).
----
The crashes:
divide error: 0000
CPU: 0
EIP: 0010:[<c010c0f9>]
EFLAGS: 00010046
eax: 00000000 ebx: fff97272 ecx: 00002710 edx: 00002710
esi: e2471933 edi: 00000000 ebp: bfffea80 esp: c2ffff94
ds: 0018 es: 0018 ss: 0018
Process kwm (pid: 535, process nr: 43, stackpage=c2fff000)
Stack: c010c1da c2ffffb8 00000004 c0116615 c2ffffb8 c2ffe000 00000004 00000000
bfffea88 360118bd 0004351f c0108918 bfffea80 00000000 402ba1b8 00000004
00000000 bfffea88 0000004e 0000002b 0000002b 0000004e 4041b821 00000023
Call Trace: [<c010c1da>] [<c0116615>] [<c0108918>]
Code: f7 f1 a3 4c 56 20 c0 89 c3 0f 31 31 d2 29 f0 f7 e3 81 fa 0f

>>EIP: c010c0f9 <do_fast_gettimeoffset+41/64>
Trace: c010c1da <do_gettimeofday+22/58>
Trace: c0116615 <sys_gettimeofday+19/a0>
Trace: c0108918 <system_call+34/38>
Code: c010c0f9 <do_fast_gettimeoffset+41/64>
Code: c010c0f9 <do_fast_gettimeoffset+41/64> f7 f1 divl %ecx,%eax
Code: c010c0fb <do_fast_gettimeoffset+43/64> a3 4c 56 20 c0 movl
%eax,0xc020564c
Code: c010c100 <do_fast_gettimeoffset+48/64> 89 c3 movl %eax,%ebx
Code: c010c102 <do_fast_gettimeoffset+4a/64> 0f 31 rdtsc
Code: c010c104 <do_fast_gettimeoffset+4c/64> 31 d2 xorl %edx,%edx
Code: c010c106 <do_fast_gettimeoffset+4e/64> 29 f0 subl %esi,%eax
Code: c010c108 <do_fast_gettimeoffset+50/64> f7 e3 mull %ebx,%eax
Code: c010c10a <do_fast_gettimeoffset+52/64> 81 fa 0f 00 90 cmpl
$0x9090000f,%edx
Code: c010c110 <do_fast_gettimeoffset+58/64> 90 nop

divide error: 0000
CPU: 0
EIP: 0010:[<c010c0f9>]
EFLAGS: 00010046
eax: 00000000 ebx: ff974f55 ecx: 00002685 edx: 00002710
esi: e9a77720 edi: bffffcf8 ebp: bffffc24 esp: c37f3f94
ds: 0018 es: 0018 ss: 0018
Process xfs (pid: 312, process nr: 27, stackpage=c37f3000)
Stack: c010c1da c37f3fb8 00000002 c0116615 c37f3fb8 c37f2000 00000002 bffffcf8
bffffc2c 36011aaa 000b39ff c0108918 bffffc24 00000000 00000000 00000002
bffffcf8 bffffc2c 0000004e 0000002b 0000002b 0000004e 40082821 00000023
Call Trace: [<c010c1da>] [<c0116615>] [<c0108918>]
Code: f7 f1 a3 4c 56 20 c0 89 c3 0f 31 31 d2 29 f0 f7 e3 81 fa 0f

>>EIP: c010c0f9 <do_fast_gettimeoffset+41/64>
Trace: c010c1da <do_gettimeofday+22/58>
Trace: c0116615 <sys_gettimeofday+19/a0>
Trace: c0108918 <system_call+34/38>
Code: c010c0f9 <do_fast_gettimeoffset+41/64>
Code: c010c0f9 <do_fast_gettimeoffset+41/64> f7 f1 divl %ecx,%eax
Code: c010c0fb <do_fast_gettimeoffset+43/64> a3 4c 56 20 c0 movl
%eax,0xc020564c
Code: c010c100 <do_fast_gettimeoffset+48/64> 89 c3 movl %eax,%ebx
Code: c010c102 <do_fast_gettimeoffset+4a/64> 0f 31 rdtsc
Code: c010c104 <do_fast_gettimeoffset+4c/64> 31 d2 xorl %edx,%edx
Code: c010c106 <do_fast_gettimeoffset+4e/64> 29 f0 subl %esi,%eax
Code: c010c108 <do_fast_gettimeoffset+50/64> f7 e3 mull %ebx,%eax
Code: c010c10a <do_fast_gettimeoffset+52/64> 81 fa 0f 00 90 cmpl
$0x9090000f,%edx
Code: c010c110 <do_fast_gettimeoffset+58/64> 90 nop

divide error: 0000
CPU: 0
EIP: 0010:[<c010c0f9>]
EFLAGS: 00010046
eax: 00000000 ebx: ff974f55 ecx: 00002685 edx: 00002710
esi: e9c115d7 edi: 080018a0 ebp: bffffcf8 esp: c3887f94
ds: 0018 es: 0018 ss: 0018
Process cfs (pid: 304, process nr: 23, stackpage=c3887000)
Stack: c010c1da c3887fb8 40005f80 c0116615 c3887fb8 c3886000 40005f80 080018a0
bffffcd8 36011aab 000b881f c0108918 bffffcf8 00000000 bffffcf8 40005f80
080018a0 bffffcd8 0000004e 0000002b 0000002b 0000004e 4002c769 00000023
Call Trace: [<c010c1da>] [<c0116615>] [<c0108918>]
Code: f7 f1 a3 4c 56 20 c0 89 c3 0f 31 31 d2 29 f0 f7 e3 81 fa 0f

>>EIP: c010c0f9 <do_fast_gettimeoffset+41/64>
Trace: c010c1da <do_gettimeofday+22/58>
Trace: c0116615 <sys_gettimeofday+19/a0>
Trace: c0108918 <system_call+34/38>
Code: c010c0f9 <do_fast_gettimeoffset+41/64>
Code: c010c0f9 <do_fast_gettimeoffset+41/64> f7 f1 divl %ecx,%eax
Code: c010c0fb <do_fast_gettimeoffset+43/64> a3 4c 56 20 c0 movl
%eax,0xc020564c
Code: c010c100 <do_fast_gettimeoffset+48/64> 89 c3 movl %eax,%ebx
Code: c010c102 <do_fast_gettimeoffset+4a/64> 0f 31 rdtsc
Code: c010c104 <do_fast_gettimeoffset+4c/64> 31 d2 xorl %edx,%edx
Code: c010c106 <do_fast_gettimeoffset+4e/64> 29 f0 subl %esi,%eax
Code: c010c108 <do_fast_gettimeoffset+50/64> f7 e3 mull %ebx,%eax
Code: c010c10a <do_fast_gettimeoffset+52/64> 81 fa 0f 00 90 cmpl
$0x9090000f,%edx
Code: c010c110 <do_fast_gettimeoffset+58/64> 90 nop

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.rutgers.edu
Please read the FAQ at http://www.tux.org/lkml/