2.0.34 quite reproducible OOPS in con_init()

Yann Dirson (ydirson@mygale.org)
Wed, 10 Jun 1998 01:24:49 +0200 (CEST)


This OOPS occured to me twice, when under X (xdm on tty2), while ppp0
is up. The visual symptoms are: color-palette changing, cursor
freezes, kbd unresponsive, but the system's still running behind
(packets get sent and received according to the modem's lights).

The X freeze also occurs sometimes when ppp0 is down, but then I get
no OOPS, only the "release_dev" lines (I have 3 or 4 occurences of
them, in addition to those with OOPSes).

Note it never occured during all the time I was running 2.0.33.

There is maybe an X server problem as well, but the fact that I got
2 similar OOPSes makes me think that's not all of it.

Now the OOPSes:
===
Jun 9 18:19:31 bylbo kernel: Linux version 2.0.34 (root@bylbo) (gcc version 2.7.2.3) #1 Fri Jun 5 23:39:29 CEST 1998
[...]

Jun 9 12:24:08 bylbo kernel: registered device ppp0
Jun 9 12:32:49 bylbo kernel: Unable to handle kernel NULL pointer dereference at virtual address c0000082
Jun 9 12:32:49 bylbo kernel: current->tss.cr3 = 00db3000, %cr3 = 00db3000
Jun 9 12:32:49 bylbo kernel: *pde = 00102067
Jun 9 12:32:49 bylbo kernel: *pte = 00000000
Jun 9 12:32:49 bylbo kernel: Oops: 0000
Jun 9 12:32:49 bylbo kernel: CPU: 0
Jun 9 12:32:49 bylbo kernel: EIP: 0010:[con_init+516/1040]
Jun 9 12:32:49 bylbo kernel: EFLAGS: 00013206
Jun 9 12:32:49 bylbo kernel: eax: 00000000 ebx: 00000000 ecx: 00000010 edx: 00000301
Jun 9 12:32:49 bylbo kernel: esi: 00000000 edi: 001aabe8 ebp: 0000203c esp: 01140e24
Jun 9 12:32:49 bylbo kernel: ds: 0018 es: 0018 fs: 002b gs: 002b ss: 0018
Jun 9 12:32:49 bylbo kernel: Process XF86_SVGA (pid: 215, process nr: 6, stackpage=01140000)
Jun 9 12:32:49 bylbo kernel: Stack: 00167ad5 0124e000 010c5e00 0110ea5c 00000001 00000000 00167a30 0110ea5c
Jun 9 12:32:49 bylbo kernel: 00000001 010c5e00 0012f5c2 010c5e00 00184af2 00000001 00000000 00000004
Jun 9 12:32:49 bylbo kernel: 0110ea5c 00000000 00000000 00000000 0012f77d 00000001 00000000 0110ea5c
Jun 9 12:32:49 bylbo kernel: Call Trace: [tty_select+165/192] [tty_select+0/192] [check+50/144] [do_select+349/656] [sys_select+398/608] [read_chan+800/1888] [tty_read+177/224]
Jun 9 12:32:49 bylbo kernel: [system_call+85/124]
Jun 9 12:32:49 bylbo kernel: Code: 80 a0 82 00 00 00 7f 8b 93 b0 aa 1a 00 a1 50 ac 1a 00 89 02
Jun 9 12:32:49 bylbo kernel: release_dev: tty2: read/write wait queue active!
Jun 9 12:32:49 bylbo kernel: ad/write wait queue active!
Jun 9 12:32:49 bylbo kernel: release_dev: tty2: read/write wait queue active!
Jun 9 12:32:49 bylbo last message repeated 156 times
Jun 9 12:32:49 bylbo kernel: ad/write wait queue active!
Jun 9 12:32:49 bylbo kernel: release_dev: tty2: read/write wait queue active!
Jun 9 12:32:50 bylbo last message repeated 234 times
[...]

Jun 9 19:08:14 bylbo kernel: registered device ppp0
Jun 9 19:10:44 bylbo kernel: Unable to handle kernel NULL pointer dereference at virtual address c0000082
Jun 9 19:10:44 bylbo kernel: current->tss.cr3 = 00a29000, %cr3 = 00a29000
Jun 9 19:10:44 bylbo kernel: *pde = 00102067
Jun 9 19:10:44 bylbo kernel: *pte = 00000000
Jun 9 19:10:44 bylbo kernel: Oops: 0000
Jun 9 19:10:44 bylbo kernel: CPU: 0
Jun 9 19:10:45 bylbo kernel: EIP: 0010:[con_init+516/1040]
Jun 9 19:10:45 bylbo kernel: EFLAGS: 00013206
Jun 9 19:10:45 bylbo kernel: eax: 00000000 ebx: 00000000 ecx: 00000010 edx: 00000301
Jun 9 19:10:45 bylbo kernel: esi: 00000000 edi: 001aabe8 ebp: 0000203c esp: 01349e24
Jun 9 19:10:45 bylbo kernel: ds: 0018 es: 0018 fs: 002b gs: 002b ss: 0018
Jun 9 19:10:45 bylbo kernel: Process XF86_SVGA (pid: 239, process nr: 6, stackpage=01349000)
Jun 9 19:10:45 bylbo kernel: Stack: 00167ad5 01380000 00a28000 01396198 00000001 00000000 00167a30 01396198
Jun 9 19:10:45 bylbo kernel: 00000001 00a28000 0012f5c2 00a28000 00184af2 00000001 00000000 0000000d
Jun 9 19:10:45 bylbo kernel: 01396198 00000000 00000001 00000000 0012f77d 00000001 00000000 01396198
Jun 9 19:10:45 bylbo kernel: Call Trace: [tty_select+165/192] [tty_select+0/192] [check+50/144] [do_select+349/656] [sys_select+398/608] [unix_recvmsg+956/1104] [system_call+85/124]
Jun 9 19:10:45 bylbo kernel: Code: 80 a0 82 00 00 00 7f 8b 93 b0 aa 1a 00 a1 50 ac 1a 00 89 02
Jun 9 19:10:45 bylbo kernel: release_dev: tty2: read/write wait queue active!
Jun 9 19:10:45 bylbo kernel: ad/write wait queue active!
Jun 9 19:10:45 bylbo kernel: release_dev: tty2: read/write wait queue active!
Jun 9 19:10:45 bylbo last message repeated 307 times
Jun 9 19:10:45 bylbo kernel: ad/write wait queue active!
Jun 9 19:10:46 bylbo kernel: release_dev: tty2: read/write wait queue active!
Jun 9 19:10:46 bylbo last message repeated 156 times
Jun 9 19:10:46 bylbo kernel: ad/write wait queue active!
Jun 9 19:10:46 bylbo kernel: release_dev: tty2: read/write wait queue active!
Jun 9 19:10:46 bylbo last message repeated 77 times
Jun 9 19:10:46 bylbo kernel: release_dad/write wait queue active!
Jun 9 19:10:46 bylbo kernel: release_dev: tty2: read/write wait queue active!
Jun 9 19:10:46 bylbo last message repeated 77 times
[...]
====

Using, drivers/chars/console.s shows the following, where
<con_init+516> seems to be the "andb". I'd guess it refers roughly to
something inside the for-loop that starts at console.c:2045

====
.L2128:
leal 0(,%esi,4),%ebx
movl %ebp,vc_cons(%ebx)
addl $224,%ebp
movl %ebp,vt_cons(,%esi,4)
addl $28,%ebp
movl %ebp,vc_scrbuf(,%esi,4)
addl video_screen_size,%ebp
movl vc_cons(%ebx),%eax
andb $127,130(%eax)
movl vc_cons(%ebx),%edx
movl video_screen_size,%eax
movl %eax,(%edx)
pushl %esi
movl video_num_columns,%eax
pushl %eax
movl video_num_lines,%eax
pushl %eax
pushl %esi
call vc_init
movl $0,48(%esp)
movl $0,44(%esp)
addl $16,%esp
.align 4
.L2132:
====

FWIW, more info on my machine:

i486
SVGA X server (clgd5422 driver), Debian version 3.3.2.1-1
gcc 2.7.2.3-4
binutils 2.9.1-0.2
linux86 0.13.0-4

Hope this helps,

-- 
Yann Dirson    <ydirson@mygale.org> | Stop making M$-Bill richer & richer,
isp-email:   <ydirson@a2points.com> |     support Debian GNU/Linux:
debian-email:   <dirson@debian.org> |         more powerful, more stable !
http://www.mygale.org/~ydirson/     | Check <http://www.debian.org/>

- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.rutgers.edu