2000-11-29 14:46:15

by Tim Sullivan

[permalink] [raw]
Subject: test12-pre3: paging problem

Hello,

The following occurred during startup using test12-pre3. test12-pre2
does not exhibit the problem.

regards,

-tim


kernel: Unable to handle kernel paging request at virtual address
fffffffc
kernel: printing eip:
kernel: c011a41f
kernel: *pde = 00001063
kernel: *pte = 00000000
kernel: Oops: 0000
kernel: CPU: 0
kernel: EIP: 0010:[sys_setitimer+191/208]
kernel: EFLAGS: 00010246
kernel: eax: 00000000 ebx: cf4e1fb0 ecx: 00000000 edx: c027169d
kernel: esi: bffffc68 edi: cf4e1fc0 ebp: 00000000 esp: cf4e1f88
kernel: ds: 0018 es: 0018 ss: 0018
kernel: Process ntpdate (pid: 451, stackpage=cf4e1000)
kernel: Stack: cf4e0000 bffffd1c 00000009 bffffc70 00000000 cf4e0000
400538e8 00000000
kernel: 00000000 40166214 00000000 00030d40 00000000 000186a0
c010a847 00000000
kernel: bffffc58 00000000 bffffd1c 00000009 bffffc70 00000068
0000002b 0000002b
kernel: Call Trace: [system_call+51/56]
kernel: Code: c8 5d 83 c4 28 c3 90 90 90 90 90 90 90 90 90 90 90 83 ec
44


kernel: Unable to handle kernel paging request at virtual address
fffffffc
kernel: printing eip:
kernel: c011a41f
kernel: *pde = 00001063
kernel: *pte = 00000000
kernel: Oops: 0000
kernel: CPU: 0
kernel: EIP: 0010:[sys_setitimer+191/208]
kernel: EFLAGS: 00010246
kernel: eax: 00000000 ebx: cf301fb0 ecx: 00000000 edx: c027139d
kernel: esi: bffffc28 edi: cf301fc0 ebp: 00000000 esp: cf301f88
kernel: ds: 0018 es: 0018 ss: 0018
kernel: Process ntpd (pid: 460, stackpage=cf301000)
kernel: Stack: cf300000 bffffd6c 00000002 bffffc30 00000000 cf300000
400538e8 00000000
kernel: 00000000 40185214 00000001 00000000 00000001 00000000
c010a847 00000000
kernel: bffffc18 00000000 bffffd6c 00000002 bffffc30 00000068
0000002b 0000002b
kernel: Call Trace: [system_call+51/56]
kernel: Code: c8 5d 83 c4 28 c3 90 90 90 90 90 90 90 90 90 90 90 83 ec
44


kernel: Unable to handle kernel paging request at virtual address
fffffffc
kernel: printing eip:
kernel: c011a41f
kernel: *pde = 00001063
kernel: *pte = 00000000
kernel: Oops: 0000
kernel: CPU: 0
kernel: EIP: 0010:[sys_setitimer+191/208]
kernel: EFLAGS: 00010246
kernel: eax: 00000000 ebx: cdc65fb0 ecx: 00000000 edx: c027169d
kernel: esi: bfffe8d8 edi: cdc65fc0 ebp: 00000000 esp: cdc65f88
kernel: ds: 0018 es: 0018 ss: 0018
kernel: Process X (pid: 853, stackpage=cdc65000)
kernel: Stack: cdc64000 bfffe8f8 00000000 bfffe8e0 cfae5000 cdc64000
000fae50 c012cd2c
kernel: c1447d40 080d78b0 00000000 00004e20 00000000 00004e20
c010a847 00000000
kernel: bfffe8c8 00000000 bfffe8f8 00000000 bfffe8e0 00000068
0000002b 0000002b
kernel: Call Trace: [sys_open+136/180] [system_call+51/56]
kernel: Code: c8 5d 83 c4 28 c3 90 90 90 90 90 90 90 90 90 90 90 83 ec
44


2000-11-29 15:57:11

by Tim Sullivan

[permalink] [raw]
Subject: Re: test12-pre3: paging problem

Brian Gerst wrote:
>
> Run the oops messages through ksymoops please. It is useless in this
> form.
>

In this case, it is not very helpful.

ksymoops 2.3.5 on i686 2.4.0-test12-pre3. Options used
-v /usr/src/linux/vmlinux (specified)
-k /proc/ksyms (specified)
-l /proc/modules (default)
-o /lib/modules/2.4.0-test12-pre3/ (default)
-m /usr/src/linux/System.map (default)

kernel: Unable to handle kernel paging request at virtual address
fffffffc
kernel: Unable to handle kernel paging request at virtual address
fffffffc
kernel: Unable to handle kernel paging request at virtual address
fffffffc


regards,

-tim

2000-11-29 16:15:58

by Brian Gerst

[permalink] [raw]
Subject: Re: test12-pre3: paging problem

Tim Sullivan wrote:
>
> Hello,
>
> The following occurred during startup using test12-pre3. test12-pre2
> does not exhibit the problem.
>
> regards,
>
> -tim
>
> kernel: Unable to handle kernel paging request at virtual address
> fffffffc
> kernel: printing eip:
> kernel: c011a41f
> kernel: *pde = 00001063
> kernel: *pte = 00000000
> kernel: Oops: 0000
> kernel: CPU: 0
> kernel: EIP: 0010:[sys_setitimer+191/208]
> kernel: EFLAGS: 00010246
> kernel: eax: 00000000 ebx: cf4e1fb0 ecx: 00000000 edx: c027169d
> kernel: esi: bffffc68 edi: cf4e1fc0 ebp: 00000000 esp: cf4e1f88
> kernel: ds: 0018 es: 0018 ss: 0018
> kernel: Process ntpdate (pid: 451, stackpage=cf4e1000)
> kernel: Stack: cf4e0000 bffffd1c 00000009 bffffc70 00000000 cf4e0000
> 400538e8 00000000
> kernel: 00000000 40166214 00000000 00030d40 00000000 000186a0
> c010a847 00000000
> kernel: bffffc58 00000000 bffffd1c 00000009 bffffc70 00000068
> 0000002b 0000002b
> kernel: Call Trace: [system_call+51/56]
> kernel: Code: c8 5d 83 c4 28 c3 90 90 90 90 90 90 90 90 90 90 90 83 ec
> 44

Disassemblind the code bytes, it shows up as:
0: c8 5d 83 c4 enter $0x835d,$0xc4
4: 28 c3 subb %al,%bl
6: 90 nop
which is definately wrong. Moving one byte forward it becomes:
0: 5d popl %ebp
1: 83 c4 28 addl $0x28,%esp
4: c3 ret
5: 90 nop
which a normal sequence of instructions for the end of a function. It
looks like a branch may have been miscompiled off by one. What
compiler/binutils are you using?

--

Brian Gerst

2000-11-29 17:08:22

by Tim Sullivan

[permalink] [raw]
Subject: Re: test12-pre3: paging problem

Brian Gerst wrote:
>
> Tim Sullivan wrote:
> >
> > Hello,
> >
> > The following occurred during startup using test12-pre3. test12-pre2
> > does not exhibit the problem.
> >
> > regards,
> >
> > -tim
> >
> > kernel: Unable to handle kernel paging request at virtual address
> > fffffffc
> > kernel: printing eip:
> > kernel: c011a41f
> > kernel: *pde = 00001063
> > kernel: *pte = 00000000
> > kernel: Oops: 0000
> > kernel: CPU: 0
> > kernel: EIP: 0010:[sys_setitimer+191/208]
> > kernel: EFLAGS: 00010246
> > kernel: eax: 00000000 ebx: cf4e1fb0 ecx: 00000000 edx: c027169d
> > kernel: esi: bffffc68 edi: cf4e1fc0 ebp: 00000000 esp: cf4e1f88
> > kernel: ds: 0018 es: 0018 ss: 0018
> > kernel: Process ntpdate (pid: 451, stackpage=cf4e1000)
> > kernel: Stack: cf4e0000 bffffd1c 00000009 bffffc70 00000000 cf4e0000
> > 400538e8 00000000
> > kernel: 00000000 40166214 00000000 00030d40 00000000 000186a0
> > c010a847 00000000
> > kernel: bffffc58 00000000 bffffd1c 00000009 bffffc70 00000068
> > 0000002b 0000002b
> > kernel: Call Trace: [system_call+51/56]
> > kernel: Code: c8 5d 83 c4 28 c3 90 90 90 90 90 90 90 90 90 90 90 83 ec
> > 44
>
> Disassemblind the code bytes, it shows up as:
> 0: c8 5d 83 c4 enter $0x835d,$0xc4
> 4: 28 c3 subb %al,%bl
> 6: 90 nop
> which is definately wrong. Moving one byte forward it becomes:
> 0: 5d popl %ebp
> 1: 83 c4 28 addl $0x28,%esp
> 4: c3 ret
> 5: 90 nop
> which a normal sequence of instructions for the end of a function. It
> looks like a branch may have been miscompiled off by one. What
> compiler/binutils are you using?
>
> --
>
> Brian Gerst


compiler = kgcc (RedHat 7)
gcc version egcs-2.91.66 19990314/Linux (egcs-1.1.2 release)
binutils = 2.10.0.18

-tim