Messages in this thread | | | Date | Tue, 11 Aug 1998 09:13:36 +0200 (CEST) | From | Gerd Knorr <> | Subject | console oopses |
| |
On Mon, 10 Aug 1998, Shawn Leas wrote:
> > > This patch causes me major oopsing... I have a ksymoops'ed, and raw, and > > > an strace of an offending zsh process that did it. Every time I tried to > > > do a history search, it oopsed. Sometimes oopsed maniacally on shutdown. > > > > What does vesafb say at startup? > > Aug 9 19:10:46 cerebro kernel: vesafb: framebuffer at 0xf6000000, mapped to 0xc4800000, size 4096k > Aug 9 19:10:46 cerebro kernel: vesafb: mode is 1024x768x8, linelength=1024, pages=4 > Aug 9 19:10:46 cerebro kernel: vesafb: protected mode interface info at c000:4d86 > Aug 9 19:10:46 cerebro kernel: vesafb: pmi: set display start = c00c4dad, set palette = c00c4e0f > Aug 9 19:10:46 cerebro kernel: vesafb: pmi: ports = 3b4 3b5 3ba 3c0 3c1 3c4 3c5 3c6 3c7 3c8 3c9 3cc 3ce 3cf 3d0 3d1 3d2 3d3 3d4 3d5 3da , memory = > Aug 9 19:10:46 cerebro kernel: vesafb: scrolling: ypan using protected mode interface, yres_virtual=4096
nothing special...
> > > >>EIP: c018839f <write_chan+14f/1e8> > > > Trace: c011bc4e <handle_mm_fault+c2/148> > > > Trace: c0179839 <tty_write+10d/15c> > > > Trace: c018839f <write_chan+14f/1e8> > > > Trace: c0124f50 <sys_write+c0/124> > > > Trace: c010a9c0 <system_call+34/38> > > > > No fbcon here. Hmm, maybe the patch triggers some race in tty/console > > code? > > I guess I have no special insight into this area. want me to do some > tests? I'd be quite willing.
I think it is'nt vesafb itself what produces an oops. I suspect the changed timing (due to faster scrolling) triggers something else in the console/tty layer. I've seen other console oops reports too. Had one myself (with emacs), which looks much like yours (see the last 4 lines are common):
EIP: 0x00000000 ??? trace: 0xc0173852 t con_put_char+0x1e/0x28 trace: 0xc0178503 t opost+0x1b3/0x1c0 trace: 0xc017a330 t write_chan+0x110/0x1d4 trace: 0xc0176371 t tty_write+0x115/0x164 trace: 0xc017a220 t write_chan+0x0/0x1d4 trace: 0xc0125418 T sys_write+0xb4/0x10c trace: 0xc010acd0 T system_call+0x34/0x38
Just don't know how to track this one down. To me it looks like con_put_char called some NULL function-pointer, which is hardly possible. con_put_char is just this:
static void con_put_char(struct tty_struct *tty, unsigned char ch) { do_con_write(tty, 0, &ch, 1); }
Some hints anybody?
Gerd
-------------------------------------------------------------------- complete oops:
Unable to handle kernel NULL pointer dereference at virtual address 00000000 current->tss.cr3 = 0326f000, %cr3 = 0326f000 *pde = 00000000 Oops: 0000 CPU: 0 EIP: 0010:[<00000000>] EFLAGS: 00010603 eax: 00000000 ebx: 00000000 ecx: 00000000 edx: 081b97df esi: 00000000 edi: 00000000 ebp: c2143ef4 esp: c2143ee0 ds: 0018 es: 0018 ss: 0018 Process emacs (pid: 871, process nr: 38, stackpage=c2143000) Stack: 2d483931 65707974 355b1b73 3a682e40 090a3432 6d6d0809 483900ff 70790000 00000000 00000000 00000001 00000001 c0173852 c35eb000 00000000 c2143f28 00000000 091b0a4b c0178503 c35eb000 00000009 00000037 081b97a8 c35eb000 Call Trace: [<c0173852>] [<c0178503>] [<c017a330>] [<c0176371>] [<c017a220>] [<c0125418>] [<c010acd0>] Code: <1>Unable to handle kernel NULL pointer dereference at virtual address 00000000 current->tss.cr3 = 0326f000, %cr3 = 0326f000 *pde = 00000000 Oops: 0000 CPU: 0 EIP: 0010:[<c010b17f>] EFLAGS: 00010086 eax: 00000000 ebx: 00000000 ecx: c3e38000 edx: c01a9d98 esi: 0000002b edi: c2144000 ebp: c4800000 esp: c2143e1c ds: 0018 es: 0018 ss: 0018 Process emacs (pid: 871, process nr: 38, stackpage=c2143000) Stack: c2143ea4 c3419340 0000000b 00000000 00000000 c2143ef4 00000000 00000000 00000000 081b97df 00000000 00010603 c4800000 c5000000 c010b1e0 c2143ea4 c01918ff c019283f 00000000 00000000 c01101d6 c019283f c2143ea4 00000000 Call Trace: [<c4800000>] [<c5000000>] [<c010b1e0>] [<c01918ff>] [<c019283f>] [<c01101d6>] [<c019283f>] [<c010ae04>] [<c0173852>] [<c0178503>] [<c017a330>] [<c0176371>] [<c017a220>] [<c0125418>] [<c010acd0>] Code: 0f b6 0c 03 89 4c 24 38 51 68 f7 18 19 c0 e8 16 95 00 00 83 3741 symbols from /boot/System.map-2.1.115-9
EIP: 0x00000000 ??? trace: 0xc0173852 t con_put_char+0x1e/0x28 trace: 0xc0178503 t opost+0x1b3/0x1c0 trace: 0xc017a330 t write_chan+0x110/0x1d4 trace: 0xc0176371 t tty_write+0x115/0x164 trace: 0xc017a220 t write_chan+0x0/0x1d4 trace: 0xc0125418 T sys_write+0xb4/0x10c trace: 0xc010acd0 T system_call+0x34/0x38
EIP: 0xc010b17f t show_registers+0x26b/0x29c trace: 0xc4800000 ??? trace: 0xc5000000 ??? trace: 0xc010b1e0 T die+0x30/0x38 trace: 0xc01918ff T stext_lock+0x10ff/0x12df8 trace: 0xc019283f T stext_lock+0x203f/0x12df8 trace: 0xc01101d6 T do_page_fault+0x30e/0x318 trace: 0xc019283f T stext_lock+0x203f/0x12df8 trace: 0xc010ae04 t error_code+0x30/0x38 trace: 0xc0173852 t con_put_char+0x1e/0x28 trace: 0xc0178503 t opost+0x1b3/0x1c0 trace: 0xc017a330 t write_chan+0x110/0x1d4 trace: 0xc0176371 t tty_write+0x115/0x164 trace: 0xc017a220 t write_chan+0x0/0x1d4 trace: 0xc0125418 T sys_write+0xb4/0x10c trace: 0xc010acd0 T system_call+0x34/0x38 code: 00000000 <oops>: code: 0: 0f b6 0c 03 movzbl (%ebx,%eax,1),%ecx code: 4: 89 4c 24 38 movl %ecx,0x38(%esp,1) code: 8: 51 pushl %ecx code: 9: 68 f7 18 19 c0 pushl $0xc01918f7 code: e: e8 16 95 00 00 call 9529 <main+0x9529> code: 13:
- 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.altern.org/andrebalsa/doc/lkml-faq.html
| |