2.122 oops with java

Slava (slava_pestov@geocities.com)
Mon, 28 Sep 1998 14:45:03 +1200


Hello everybody,

My jEdit editor (written in Java, available at my homepage) oopeses when
an
attempt is made to read from a Unix domain socket. C programs don't seem
to be
affected. This is kernel 2.1.122 with no non-standard patches + libc
5.4.46.
Here is the code chuck that produces the oops:

/**/
FileReader in = new FileReader(file);

... more unrelated code here, checking if file is a url, etc ...

char[] buff = new char[4096];
int n;
// the oops occurs in read()
while ((n = in.read(buff, 0, buff.length)) != -1)
{
insertString(getLength(),new String(buff,0,n),null);
}
in.close();
/**/

Slava

PS: Where do I get the klogd that automatically decodes the call trace?
Doing it by hand is painful.

Sep 28 10:36:58 fireball kernel: Unable to handle kernel NULL pointer
dereferenc
e at virtual address 0000002c
Sep 28 10:36:58 fireball kernel: current->tss.cr3 = 01b03000, ^Lr3 =
01b03000
Sep 28 10:36:58 fireball kernel: current->tss.cr3 = 01b03000, ^Lr3 =
01b03000
Sep 28 10:36:58 fireball kernel: *pde = 00000000
Sep 28 10:36:58 fireball kernel: *pde = 00000000
Sep 28 10:36:58 fireball kernel: Oops: 0000
Sep 28 10:36:58 fireball kernel: CPU: 0
Sep 28 10:36:59 fireball kernel: EIP: 0010:[<c012a946>]
Sep 28 10:36:59 fireball kernel: EFLAGS: 00010202
Sep 28 10:36:59 fireball kernel: eax: c1fa2800 ebx: c12d3660 ecx:
00000009
edx: 00000000
Sep 28 10:36:59 fireball kernel: esi: 00002800 edi: 00002800 ebp:
00000004
esp: c0b7ff88
Sep 28 10:36:59 fireball kernel: ds: 0018 es: 0018 ss: 0018
Sep 28 10:36:59 fireball kernel: Process java (pid: 1939, process nr:
23, stackp
age=c0b7f000)
Sep 28 10:36:59 fireball kernel: Stack: c012ac20 00000009 c12d3660
00002800 c0b7
e000 00002800 00000004 413c0c4c
Sep 28 10:36:59 fireball kernel: 00000000 c0115b4d 413c0f04
413c07b0 c010
8bf0 c12d3660 c0107a64 00000009
Sep 28 10:36:59 fireball kernel: 00000004 00002800 00002800
00000004 413c
0c4c 00000037 0000002b 0000002b
Sep 28 10:36:59 fireball kernel: Call Trace: [<c012ac20>] [<c0115b4d>]
[<c0108bf
0>] [<c0107a64>]
Sep 28 10:36:59 fireball kernel: Code: 83 7a 2c 00 74 13 89 f0 c1 e8 0d
83 e0 01
50 53 51 8b 42 2c

EIP: 0010:[<c012a946>] - c012a90c t setfl -- this seems the reference
filep->f_ops and filep->dentry without checking if they're non null,
maybe that's the problem?
[<c012ac20>] - c012a97c T sys_fcntl -- this is strange, why would a
syscall be called from within the kernel?
[<c0115b4d>] - c0115b08 T do_bottom_half
[<c0108bf0>] - c0108bb8 T do_IRQ
[<c0107a64>] - c0100000 - there's a whole bunch of symbols which start
at c0100000... probably interrupt handler

Slava

-- 
Slava Pestov (mailto:slava_pestov@geocities.com)
http://www.geocities.com/SiliconValley/Heights/7925
Linux 2.0.35 on an i586MMX (400.59 BogoMips)

- 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/