* PROBLEM: kmem_cache_create: duplicate cache fat_cache
@ 2005-05-18 8:17 Oleg
2005-05-19 18:10 ` OGAWA Hirofumi
0 siblings, 1 reply; 6+ messages in thread
From: Oleg @ 2005-05-18 8:17 UTC (permalink / raw)
To: linux-kernel
[1.] kmem_cache_create: duplicate cache fat_cache
[2.] When I load module vfat, I'm have BUG. vfat is embedded in my kernel.
[3.] modules
[4.] Linux version 2.6.12-rc3-mm3 (root@localhost.localdomain) (gcc version
3.3.2 20031022 (Red Hat Linux 3.3.2-1)) #18 SMP
[5.] kmem_cache_create: duplicate cache fat_cache
------------[ cut here ]------------
kernel BUG at mm/slab.c:1491!
invalid operand: 0000 [#1]
PREEMPT SMP
Modules linked in: fat nls_utf8 nls_cp866 nls_cp855 video hotkey
CPU: 0
EIP: 0060:[<c014a38f>] Not tainted VLI
EFLAGS: 00010202 (2.6.12-rc3-mm3)
EIP is at kmem_cache_create+0x45f/0x5e0
eax: 00000030 ebx: f7d187b4 ecx: 0000000d edx: 00000202
esi: c03c91ef edi: f885ed6e ebp: f7de1580 esp: f74d1f44
ds: 007b es: 007b ss: 0068
Process modprobe (pid: 2487, threadinfo=f74d0000 task=f7eef090)
Stack: c03c6f80 f885ed64 00000004 00020000 f74d1f6c f7de15d8 000000a9 c0000000
fffffffc 00000004 00000010 f8862540 00000000 0804e130 f74d0000 f8806037
f885ed64 00000014 00000000 00020000 f8857000 00000000 f88060e5 c013a8f4
Call Trace:
[<f8806037>] fat_cache_init+0x37/0x80 [fat]
[<f8857000>] init_once+0x0/0x20 [fat]
[<f88060e5>] init_fat_fs+0x5/0xc [fat]
[<c013a8f4>] sys_init_module+0x124/0x1a0
[<c0103175>] syscall_call+0x7/0xb
Code: 00 04 00 74 ec e9 8a 01 00 00 8b 4c 24 40 c7 04 24 80 6f 3c c0 89 4c 24
04 e8 4e 44 fd ff f0 ff 05 ac d2 50 c0 0f 8e 73 1a 00 00 <0f> 0b d3 05 95 65
3c c0 8b 0b e9 65 ff ff ff 8b 47 50 c7 04 24
ACPI: PCI Interrupt Link [APCJ] enabled at IRQ 21
ACPI: PCI Interrupt 0000:00:06.0[A] -> Link [APCJ] -> GSI 21 (level, high) ->
IRQ 21
PCI: Setting latency timer of device 0000:00:06.0 to 64
intel8x0_measure_ac97_clock: measured 57069 usecs
intel8x0: clocking to 47503
[6.]
[7.]
[7.1.] Gnu C 3.3.2
Gnu make 3.79.1
binutils 2.14.90.0.6
util-linux 2.12b
mount 2.12b
module-init-tools 3.0
e2fsprogs 1.36
jfsutils 1.1.3
reiserfsprogs 2003------------->
reiser4progs 1.0.4
pcmcia-cs 3.1.31
quota-tools 3.06.
PPP 2.4.1
nfs-utils 1.0.6
Linux C Library 2.3.2
Dynamic linker (ldd) 2.3.2
Procps 2.0.17
Net-tools 1.60
Kbd 1.08
Sh-utils 5.0
udev 050
Modules Loaded snd_intel8x0 snd_ac97_codec fat nls_utf8 nls_cp866
nls_cp855 video hotkey
[7.2.]
processor : 0
vendor_id : AuthenticAMD
cpu family : 6
model : 10
model name : AMD Athlon(tm) XP 2000+
stepping : 0
cpu MHz : 1664.005
cache size : 256 KB
fdiv_bug : no
hlt_bug : no
f00f_bug : no
coma_bug : no
fpu : yes
fpu_exception : yes
cpuid level : 1
wp : yes
flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca
cmov pat pse36 mmx fxsr sse syscall mmxext 3dnowext 3dnow
bogomips : 3331.51
[7.3.] snd_intel8x0 29440 - - Live 0xf8864000
snd_ac97_codec 81468 - - Live 0xf887e000
fat 47496 - - Loading 0xf8857000
nls_utf8 2112 - - Live 0xf8827000
nls_cp866 5312 - - Live 0xf8845000
nls_cp855 5056 - - Live 0xf882f000
video 14596 - - Live 0xf8832000
hotkey 7972 - - Live 0xf8829000
[7.4.]
/proc/ioports:
0000-001f : dma1
0020-0021 : pic1
0040-0043 : timer0
0050-0053 : timer1
0060-006f : keyboard
0080-008f : dma page reg
00a0-00a1 : pic2
00c0-00df : dma2
00f0-00ff : fpu
0170-0177 : ide1
01f0-01f7 : ide0
02f8-02ff : serial
0376-0376 : ide1
0378-037a : parport0
03c0-03df : vga+
03f6-03f6 : ide0
03f8-03ff : serial
0cf8-0cff : PCI conf1
1000-107f : motherboard
1000-1003 : PM1a_EVT_BLK
1004-1005 : PM1a_CNT_BLK
1008-100b : PM_TMR
1020-1027 : GPE0_BLK
1080-10ff : motherboard
1080-10ff : pnp 00:00
1400-147f : motherboard
1400-147f : pnp 00:00
1480-14ff : motherboard
14a0-14af : GPE1_BLK
1800-187f : motherboard
1800-187f : pnp 00:00
1880-18ff : motherboard
1880-18ff : pnp 00:00
1c00-1c3f : motherboard
1c00-1c3f : pnp 00:01
2000-203f : motherboard
2000-203f : pnp 00:01
c000-cfff : PCI Bus #01
c000-c0ff : 0000:01:07.0
c000-c0ff : 8139too
d400-d4ff : 0000:00:06.0
d400-d4ff : NVidia nForce2
d800-d87f : 0000:00:06.0
d800-d87f : NVidia nForce2
e400-e41f : 0000:00:01.1
f000-f00f : 0000:00:09.0
f000-f007 : ide0
f008-f00f : ide1
/proc/iomem
00000000-0009fbff : System RAM
00000000-00000000 : Crash kernel
0009fc00-0009ffff : reserved
000a0000-000bffff : Video RAM area
000c0000-000cf3ff : Video ROM
000f0000-000fffff : System ROM
00100000-47feffff : System RAM
00100000-003af696 : Kernel code
003af697-004bc2db : Kernel data
47ff0000-47ff2fff : ACPI Non-volatile Storage
47ff3000-47ffffff : ACPI Tables
d0000000-d7ffffff : PCI Bus #02
d0000000-d7ffffff : 0000:02:00.0
d8000000-dbffffff : 0000:00:00.0
dc000000-ddffffff : PCI Bus #02
dc000000-dcffffff : 0000:02:00.0
de000000-dfffffff : PCI Bus #01
df000000-df0000ff : 0000:01:07.0
df000000-df0000ff : 8139too
df001000-df0013ff : 0000:01:08.0
e0001000-e0001fff : 0000:00:06.0
e0001000-e0001fff : NVidia nForce2
e0003000-e0003fff : 0000:00:02.0
e0004000-e0004fff : 0000:00:02.1
e0005000-e00050ff : 0000:00:02.2
e0005000-e00050ff : ehci_hcd
fec00000-fec00fff : reserved
fee00000-fee00fff : reserved
ffff0000-ffffffff : reserved
[7.5.] required ?
[7.6.] none
[7.7.] module vfat && embedded vfat normal situation, and I'm don't like BUG
in my dmesg... Sorry, I'm from Russia.
^ permalink raw reply [flat|nested] 6+ messages in thread* Re: PROBLEM: kmem_cache_create: duplicate cache fat_cache
2005-05-18 8:17 PROBLEM: kmem_cache_create: duplicate cache fat_cache Oleg
@ 2005-05-19 18:10 ` OGAWA Hirofumi
2005-05-20 14:31 ` Re[2]: " Oleg
2005-06-06 19:43 ` Manfred Spraul
0 siblings, 2 replies; 6+ messages in thread
From: OGAWA Hirofumi @ 2005-05-19 18:10 UTC (permalink / raw)
To: Oleg; +Cc: linux-kernel, manfred
Oleg <graycardinal@pisem.net> writes:
> [1.] kmem_cache_create: duplicate cache fat_cache
> [2.] When I load module vfat, I'm have BUG. vfat is embedded in my kernel.
> [3.] modules
> [4.] Linux version 2.6.12-rc3-mm3 (root@localhost.localdomain) (gcc version
> 3.3.2 20031022 (Red Hat Linux 3.3.2-1)) #18 SMP
> [5.] kmem_cache_create: duplicate cache fat_cache
> ------------[ cut here ]------------
> kernel BUG at mm/slab.c:1491!
> invalid operand: 0000 [#1]
> PREEMPT SMP
> Modules linked in: fat nls_utf8 nls_cp866 nls_cp855 video hotkey
> CPU: 0
> EIP: 0060:[<c014a38f>] Not tainted VLI
> EFLAGS: 00010202 (2.6.12-rc3-mm3)
> EIP is at kmem_cache_create+0x45f/0x5e0
> eax: 00000030 ebx: f7d187b4 ecx: 0000000d edx: 00000202
> esi: c03c91ef edi: f885ed6e ebp: f7de1580 esp: f74d1f44
> ds: 007b es: 007b ss: 0068
> Process modprobe (pid: 2487, threadinfo=f74d0000 task=f7eef090)
> Stack: c03c6f80 f885ed64 00000004 00020000 f74d1f6c f7de15d8 000000a9 c0000000
> fffffffc 00000004 00000010 f8862540 00000000 0804e130 f74d0000 f8806037
> f885ed64 00000014 00000000 00020000 f8857000 00000000 f88060e5 c013a8f4
> Call Trace:
> [<f8806037>] fat_cache_init+0x37/0x80 [fat]
> [<f8857000>] init_once+0x0/0x20 [fat]
> [<f88060e5>] init_fat_fs+0x5/0xc [fat]
> [<c013a8f4>] sys_init_module+0x124/0x1a0
> [<c0103175>] syscall_call+0x7/0xb
> Code: 00 04 00 74 ec e9 8a 01 00 00 8b 4c 24 40 c7 04 24 80 6f 3c c0 89 4c 24
> 04 e8 4e 44 fd ff f0 ff 05 ac d2 50 c0 0f 8e 73 1a 00 00 <0f> 0b d3 05 95 65
> 3c c0 8b 0b e9 65 ff ff ff 8b 47 50 c7 04 24
[...]
> [7.7.] module vfat && embedded vfat normal situation, and I'm don't like BUG
> in my dmesg... Sorry, I'm from Russia.
Ummm... why is this normal situation? Didn't you run the
modules_install after changed .config? Anyway, this patch returns
NULL instead of calling BUG(). This case seems to also happen with
user error.
Manfred, what do you think of this?
--
OGAWA Hirofumi <hirofumi@mail.parknet.co.jp>
Signed-off-by: OGAWA Hirofumi <hirofumi@mail.parknet.co.jp>
---
mm/slab.c | 6 ++++--
1 files changed, 4 insertions(+), 2 deletions(-)
diff -puN mm/slab.c~slab-dont-call-bug mm/slab.c
--- linux-2.6.12-rc4/mm/slab.c~slab-dont-call-bug 2005-05-20 02:37:21.000000000 +0900
+++ linux-2.6.12-rc4-hirofumi/mm/slab.c 2005-05-20 02:39:42.000000000 +0900
@@ -1482,8 +1482,10 @@ next:
printk("kmem_cache_create: duplicate cache %s\n",name);
up(&cache_chain_sem);
unlock_cpu_hotplug();
- BUG();
- }
+ set_fs(old_fs);
+ cachep = NULL;
+ goto oops;
+ }
}
set_fs(old_fs);
}
_
^ permalink raw reply [flat|nested] 6+ messages in thread* Re[2]: PROBLEM: kmem_cache_create: duplicate cache fat_cache
2005-05-19 18:10 ` OGAWA Hirofumi
@ 2005-05-20 14:31 ` Oleg
2005-05-20 13:16 ` OGAWA Hirofumi
2005-06-06 19:43 ` Manfred Spraul
1 sibling, 1 reply; 6+ messages in thread
From: Oleg @ 2005-05-20 14:31 UTC (permalink / raw)
To: OGAWA Hirofumi; +Cc: linux-kernel, manfred
On Thursday 19 May 2005 22:10, you wrote:
> Oleg <graycardinal@pisem.net> writes:
> > [1.] kmem_cache_create: duplicate cache fat_cache
> > [2.] When I load module vfat, I'm have BUG. vfat is embedded in my
> > kernel. [3.] modules
> > [4.] Linux version 2.6.12-rc3-mm3 (root@localhost.localdomain) (gcc
> > version 3.3.2 20031022 (Red Hat Linux 3.3.2-1)) #18 SMP
> > [5.] kmem_cache_create: duplicate cache fat_cache
> > ------------[ cut here ]------------
> > kernel BUG at mm/slab.c:1491!
> > invalid operand: 0000 [#1]
> > PREEMPT SMP
> > Modules linked in: fat nls_utf8 nls_cp866 nls_cp855 video hotkey
> > CPU: 0
> > EIP: 0060:[<c014a38f>] Not tainted VLI
> > EFLAGS: 00010202 (2.6.12-rc3-mm3)
> > EIP is at kmem_cache_create+0x45f/0x5e0
> > eax: 00000030 ebx: f7d187b4 ecx: 0000000d edx: 00000202
> > esi: c03c91ef edi: f885ed6e ebp: f7de1580 esp: f74d1f44
> > ds: 007b es: 007b ss: 0068
> > Process modprobe (pid: 2487, threadinfo=f74d0000 task=f7eef090)
> > Stack: c03c6f80 f885ed64 00000004 00020000 f74d1f6c f7de15d8 000000a9
> > c0000000 fffffffc 00000004 00000010 f8862540 00000000 0804e130 f74d0000
> > f8806037 f885ed64 00000014 00000000 00020000 f8857000 00000000 f88060e5
> > c013a8f4 Call Trace:
> > [<f8806037>] fat_cache_init+0x37/0x80 [fat]
> > [<f8857000>] init_once+0x0/0x20 [fat]
> > [<f88060e5>] init_fat_fs+0x5/0xc [fat]
> > [<c013a8f4>] sys_init_module+0x124/0x1a0
> > [<c0103175>] syscall_call+0x7/0xb
> > Code: 00 04 00 74 ec e9 8a 01 00 00 8b 4c 24 40 c7 04 24 80 6f 3c c0 89
> > 4c 24 04 e8 4e 44 fd ff f0 ff 05 ac d2 50 c0 0f 8e 73 1a 00 00 <0f> 0b d3
> > 05 95 65 3c c0 8b 0b e9 65 ff ff ff 8b 47 50 c7 04 24
>
> [...]
>
> > [7.7.] module vfat && embedded vfat normal situation, and I'm don't like
> > BUG in my dmesg... Sorry, I'm from Russia.
>
> Ummm... why is this normal situation? Didn't you run the
> modules_install after changed .config? Anyway, this patch returns
> NULL instead of calling BUG(). This case seems to also happen with
> user error.
>
> Manfred, what do you think of this?
Thank you, but "goto opps", not "goto oops" in patch.
>Didn't you run the modules_install after changed .config?
No, I'm don't run modules_install. I'm build all modules first and use it (if required) for all my kernel's... And I have one init script, where :
...
/sbin/modprobe vfat
...
I want test to load any modules. Why not ?
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: PROBLEM: kmem_cache_create: duplicate cache fat_cache
2005-05-20 14:31 ` Re[2]: " Oleg
@ 2005-05-20 13:16 ` OGAWA Hirofumi
0 siblings, 0 replies; 6+ messages in thread
From: OGAWA Hirofumi @ 2005-05-20 13:16 UTC (permalink / raw)
To: Oleg; +Cc: linux-kernel, manfred
Oleg <graycardinal@pisem.net> writes:
> Thank you, but "goto opps", not "goto oops" in patch.
Ahh, sorry. I attached a fixed patch.
>>Didn't you run the modules_install after changed .config?
> No, I'm don't run modules_install. I'm build all modules first and use it (if required) for all my kernel's... And I have one init script, where :
> ...
> /sbin/modprobe vfat
> ...
> I want test to load any modules. Why not ?
If you use the different config kernel, it may use the different
structures size etc., it's obviously wrong and this miss match can be
the cause of Oops.
--
OGAWA Hirofumi <hirofumi@mail.parknet.co.jp>
Signed-off-by: OGAWA Hirofumi <hirofumi@mail.parknet.co.jp>
---
mm/slab.c | 6 ++++--
1 files changed, 4 insertions(+), 2 deletions(-)
diff -puN mm/slab.c~slab-dont-call-bug mm/slab.c
--- linux-2.6.12-rc4/mm/slab.c~slab-dont-call-bug 2005-05-20 22:04:21.000000000 +0900
+++ linux-2.6.12-rc4-hirofumi/mm/slab.c 2005-05-20 22:04:51.000000000 +0900
@@ -1488,8 +1488,10 @@ next:
printk("kmem_cache_create: duplicate cache %s\n",name);
up(&cache_chain_sem);
unlock_cpu_hotplug();
- BUG();
- }
+ set_fs(old_fs);
+ cachep = NULL;
+ goto opps;
+ }
}
set_fs(old_fs);
}
_
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: PROBLEM: kmem_cache_create: duplicate cache fat_cache
2005-05-19 18:10 ` OGAWA Hirofumi
2005-05-20 14:31 ` Re[2]: " Oleg
@ 2005-06-06 19:43 ` Manfred Spraul
2005-06-07 14:26 ` OGAWA Hirofumi
1 sibling, 1 reply; 6+ messages in thread
From: Manfred Spraul @ 2005-06-06 19:43 UTC (permalink / raw)
To: OGAWA Hirofumi; +Cc: Oleg, linux-kernel
[-- Attachment #1: Type: text/plain, Size: 432 bytes --]
OGAWA Hirofumi wrote:
>Ummm... why is this normal situation? Didn't you run the
>modules_install after changed .config? Anyway, this patch returns
>NULL instead of calling BUG(). This case seems to also happen with
>user error.
>
>
>
Either return NULL or ignore the collision. I don't know what's the
better solution.
I'm open to either approach - it depends on what the kmem_cache_create()
caller expects.
--
Manfred
[-- Attachment #2: patch-slab-nobug --]
[-- Type: text/plain, Size: 615 bytes --]
--- 2.6/mm/slab.c 2005-06-05 17:29:01.000000000 +0200
+++ build-2.6/mm/slab.c 2005-06-06 21:34:38.000000000 +0200
@@ -1480,9 +1480,14 @@
}
if (!strcmp(pc->name,name)) {
printk("kmem_cache_create: duplicate cache %s\n",name);
- up(&cache_chain_sem);
- unlock_cpu_hotplug();
- BUG();
+ /* This is a severe bug, because it breaks
+ * tuning by writing to /proc/slabinfo.
+ * But everything else works, and since
+ * duplicate caches typically happen if
+ * someone inserts a module twice, we'll
+ * continue.
+ */
+ WARN_ON(1);
}
}
set_fs(old_fs);
^ permalink raw reply [flat|nested] 6+ messages in thread* Re: PROBLEM: kmem_cache_create: duplicate cache fat_cache
2005-06-06 19:43 ` Manfred Spraul
@ 2005-06-07 14:26 ` OGAWA Hirofumi
0 siblings, 0 replies; 6+ messages in thread
From: OGAWA Hirofumi @ 2005-06-07 14:26 UTC (permalink / raw)
To: Manfred Spraul; +Cc: Oleg, linux-kernel, Andrew Morton
Manfred Spraul <manfred@colorfullife.com> writes:
> OGAWA Hirofumi wrote:
>
>>Ummm... why is this normal situation? Didn't you run the
>>modules_install after changed .config? Anyway, this patch returns
>>NULL instead of calling BUG(). This case seems to also happen with
>>user error.
>>
> Either return NULL or ignore the collision. I don't know what's the
> better solution.
>
> I'm open to either approach - it depends on what the
> kmem_cache_create() caller expects.
> --- 2.6/mm/slab.c 2005-06-05 17:29:01.000000000 +0200
> +++ build-2.6/mm/slab.c 2005-06-06 21:34:38.000000000 +0200
> @@ -1480,9 +1480,14 @@
> }
> if (!strcmp(pc->name,name)) {
> printk("kmem_cache_create: duplicate cache %s\n",name);
> - up(&cache_chain_sem);
> - unlock_cpu_hotplug();
> - BUG();
> + /* This is a severe bug, because it breaks
> + * tuning by writing to /proc/slabinfo.
> + * But everything else works, and since
> + * duplicate caches typically happen if
> + * someone inserts a module twice, we'll
> + * continue.
> + */
> + WARN_ON(1);
> }
> }
> set_fs(old_fs);
Ah, I see. I think this is friendly to developers and probably more
proper than my patch for this problem.
Thanks.
--
OGAWA Hirofumi <hirofumi@mail.parknet.co.jp>
^ permalink raw reply [flat|nested] 6+ messages in thread
end of thread, other threads:[~2005-06-07 14:27 UTC | newest]
Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2005-05-18 8:17 PROBLEM: kmem_cache_create: duplicate cache fat_cache Oleg
2005-05-19 18:10 ` OGAWA Hirofumi
2005-05-20 14:31 ` Re[2]: " Oleg
2005-05-20 13:16 ` OGAWA Hirofumi
2005-06-06 19:43 ` Manfred Spraul
2005-06-07 14:26 ` OGAWA Hirofumi
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox