[gamin] kernel oops when removing a wathced directory
- From: Egmont Koblinger <egmont uhulinux hu>
- To: gamin-list gnome org
- Subject: [gamin] kernel oops when removing a wathced directory
- Date: Wed, 6 Oct 2004 16:07:22 +0200
Hi,
The subject says it all :-)) The rest are just boring details...
I'm using an overpatched 2.6.9-rc3 with inotify patch 0.12.0. Previously I
had an overpatched 2.6.9-rc2 with inotify 0.9.2, and that one worked fine.
I'm just compiling a vanilla+inotify kernel to try that one...
Here's what I do to reproduce the bug:
Copy-paste monitor.c (Example 8-1) from
http://techpubs.sgi.com/library/tpl/cgi-bin/getdoc.cgi?coll=0650&db=bks&fname=/SGI_Developer/books/IIDsktp_IG/sgi_html/ch08.html
replace GETfd with GETFD and compile it
$ mkdir /tmp/foobar
$ ./monitor /tmp/foobar
; keep trying patiently until it starts successfully, often it exits with
; a "Success" error :)
; Then in another terminal:
$ rmdir /tmp/foobar
Segmentation fault
$ dmesg
Unable to handle kernel paging request at virtual address 0001041b
printing eip:
c0425623
*pde = 00000000
Oops: 0002 [#1]
SMP
Modules linked in: [long list...]
CPU: 1
EIP: 0060:[<c0425623>] Tainted: P VLI
EFLAGS: 00210216 (2.6.9-rc3-1)
EIP is at _spin_lock+0x3/0x20
eax: 0001041b ebx: dd7ca988 ecx: c04b2550 edx: dd7ca988
esi: ce1210c4 edi: ce1210c4 ebp: d7bbdf00 esp: d7bbdf00
ds: 007b es: 007b ss: 0068
Process rmdir (pid: 10491, threadinfo=d7bbc000 task=c3613000)
Stack: d7bbdf18 c036f65d 00000000 dd7ca988 ce1210c4 ce1210c4 d7bbdf30 c036f849
dd7ca988 00000000 00000000 c792f320 d7bbdf60 c016a9c4 ce1210c4 ce1210c4
00000800 00000000 de70ea24 00000080 c792f38c c792f320 d06b0000 c792f320
Call Trace:
[<c0108405>] show_stack+0x75/0x90
[<c0108565>] show_registers+0x125/0x190
[<c010873a>] die+0xda/0x160
[<c011d2f0>] do_page_fault+0x2b0/0x5de
[<c0107fdd>] error_code+0x2d/0x40
[<c036f65d>] ignore_helper+0x1d/0xb0
[<c036f849>] inotify_inode_is_dead+0x29/0x50
[<c016a9c4>] vfs_rmdir+0x134/0x220
[<c016ab39>] sys_rmdir+0x89/0xe0
[<c0106ea7>] syscall_call+0x7/0xb
Code: 00 00 00 01 0f 94 c0 84 c0 b9 01 00 00 00 75 09 f0 81 02 00 00 00 01
31 c9 89 c8 5d c3 8d 74 26 00 8d bc 27 00 00 00 00 55 89 e5 <f0> fe 08 79 09
f3 90 80 38 00 7e f9 eb f2 5d c3 8d b6 00 00 00
Further attempts to access the contents of /tmp/foobar cause no more oops or
segfault, rather the process (rmdir or whatever) stucks in 'D' state
forever...
bye,
Egmont
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]