lkml.org 
[lkml]   [1997]   [Dec]   [24]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Subjectlinux 2.1.75 + UTIME 1.14 crash mid-bootup
Date
From
On my K5 I get a repatable crash mid-bootup with UTIME under 2.1.75; the
timer gets calibrated, I see the message about kswapd starting, then:


divide error: 0000
CPU: 0
EIP: 0010:[<c010d07e>]
EFLAGS: 0010097
eax: fa552692 ebx: 00000000 ecx: 00000211 edx: ffffffc0
esi: 00000000 edi: c01feaa8 ebp: 00009000 esp: c0005f44
ds: 0018 es: 0018 ss: 0018
Process swapper (pid: 1, process nr: 1, stackpage = c0005000)
Stack: c0005f70 00000296 c010d0e6 c0004000 c0005fe4 c0191170 c0005f70 c0004000
c0005fe4 c01fecb4 00000001 34a0bc12 00046cd0 c01911ce c01feaa8 00000000
c01eae1a 00000000 c01eae04 c01ea0c1 c0004000 c0005fe4 00000000 00009000
Call Trace: [<c010d0e6>] [<c0191170>] [<c01911ce>] [<c012ee50>] [<c010996a>] [<c0120bcc>] [<c01080d3>]
[<c0107fe0>] [<c0108084>]
Code: f7 f1 ba 10 27 00 00 89 c1 31 c0 f7 f1 a3 98 78 1d c0 89 c3
Using `/System.map' to map addresses to symbols.

>>EIP: c010d07e <do_fast_gettimeoffset+36/64>
Trace: c010d0e6 <do_gettimeofday+22/58>
Trace: c0191170 <init_std_data+14/58>
Trace: c01911ce <rand_clear_pool+1a/20>
Trace: c012ee50 <sys_setup+40/44>
Trace: c010996a <system_call+3a/40>
Trace: c0120bcc <kswapd>
Trace: c01080d3 <init+4f/1ac>
Trace: c0107fe0 <this_must_match_init_task+1fe0/2000>
Trace: c01080d3 <init+4f/1ac>

Code: c010d07e <do_fast_gettimeoffset+36/64> divl %ecx,%eax
Code: c010d080 <do_fast_gettimeoffset+38/64> movl $0x2710,%edx
Code: c010d085 <do_fast_gettimeoffset+3d/64> movl %eax,%ecx
Code: c010d087 <do_fast_gettimeoffset+3f/64> xorl %eax,%eax
Code: c010d089 <do_fast_gettimeoffset+41/64> divl %ecx,%eax
Code: c010d08b <do_fast_gettimeoffset+43/64> movl %eax,0xc01d7898
Code: c010d090 <do_fast_gettimeoffset+48/64> movl %eax,%ebx
Code: c010d092 <do_fast_gettimeoffset+4a/64>
[the last Code: line out of ksymoops ends without a newline]

Clues? The patch applied cleanly, no .rej files exist, and the 2.1.75 I
built before applying the utime patch works fine (at the very least, it
boots :-)).

Note that when I built arch/i386/kernel/time.s, I didn't see code
looking like the above; all the divl instructions had but a single
argument! (gcc 2.7.2.3, libc 5.4.recent...)

Should this function even be called with UTIME enabled? I know some
"fast" timer code breaks UTIME, but it's not clear which is which...

Keith


\
 
 \ /
  Last update: 2005-03-22 13:40    [from the cache]
©2003-2011 Jasper Spaans