2002-01-17 18:29:09

by Tomasz Torcz

[permalink] [raw]
Subject: OOPS on 2.4.17 -18pre4 while mounting root (reiserfs, on LVM, devfs)

,

I'm stuck with 2.4.16, because newer kernels oops while booting.
I'm using LVM for root partition, starting system with
initrd. On working kernels, normally "Mounted devfsd on /dev" appears.


All dumps also avaiable at http://fordon.pl.eu.org/~zdzichu/oops/

WARNING: This version of ksymoops is obsolete.
WARNING: The current version can be obtained from ftp://ftp.ocs.com.au/pub/ksymoops
Options used: -V (default)
-o /lib/modules/2.4.8-pre4 (specified)
-K (specified)
-L (specified)
-m /usr/src/linux/System.map (default)
-c 1 (default)

No modules in ksyms, skipping objects
invalid operand: 0000
CPU: 0
EIP: 0010 [<c01273eb>] Not tainted
EFLAGS: 00010246
eax: 00000000 ebx: c1187d00 ecx: c1187d68 edx: c1187cf8
esi: c1187cf1 edi: c0279a74 ebp: c0321f88 esp: c1199f00
ds: 0018 es: 0018 ss: 0018
Process swapper (pid: 1, stackpage=c1199000)
Stack: c1199f68 c11862e0 c11d270e c1199fbc c1199f1c c1187d29 00000004 0000000c
c02e2f54 c0279a67 00000014 00000020 00000000 00000000 00000000 c02e2979
c0276480 00000002 00000000 ffffffff 00000007 c1199fe0 c11862e0 00000000
Call Trace: [<c0117976>] [<c0106d1b>] [<c010522c>] [<c0105254>] [<c0105688>]
Code: 0f 0b 8b 12 81 fa c8 e1 2b c0 75 d9 e1 c8 e1 2b e0 89 48 04

>>EIP: c01273eb <kmem_cache_create+eb/328>
Trace: c0117976 <sys_waitpid+16/20>
Trace: c0106d1b <system_call+33/38>
Trace: c010522c <prepare_namespace+120/13c>
Trace: c0105254 <init+c/108>
Trace: c0105688 <kernel_thread+28/38>
Code: c01273eb <kmem_cache_create+eb/328> 0000000000000000 <_EIP>: <===
Code: c01273eb <kmem_cache_create+eb/328> 0: 0f 0b ud2a <===
Code: c01273ed <kmem_cache_create+ed/328> 2: 8b 12 mov (%edx),%edx
Code: c01273ef <kmem_cache_create+ef/328> 4: 81 fa c8 e1 2b c0 cmp $0xc02be1c8,%edx
Code: c01273f5 <kmem_cache_create+f5/328> a: 75 d9 jne c01273d0 <kmem_cache_create+d0/328>
Code: c01273f7 <kmem_cache_create+f7/328> c: e1 c8 loope c01273c1 <kmem_cache_create+c1/328>
Code: c01273f9 <kmem_cache_create+f9/328> e: e1 2b loope c0127426 <kmem_cache_create+126/328>
Code: c01273fb <kmem_cache_create+fb/328> 10: e0 89 loopne c0127386 <kmem_cache_create+86/328>
Code: c01273fd <kmem_cache_create+fd/328> 12: 48 dec %eax
Code: c01273fe <kmem_cache_create+fe/328> 13: 04 00 add $0x0,%al

<0>Kernel panic: Attempted to kill init!

2 warnings issued. Results may not be reliable.

* -------------------------- (

lvm -- lvm_blk_ioctl: unknown command 0x5310
reiserfs: checking transaction log (device 3a:00) ...
Warning, log replay started on readonly filesystem
Using r5 to sort names
Reiserfs version 3.6.25
VFS: Mounted root (reiserfs filesystem) readonly.
devfs: devfs_do_symlink(root): could not append to parent, err: -17
change_root: old root has d_count=2
invalid operand: 0000
CPU: 0
EIP: 0010 [<c01273eb>] Not tainted
EFLAGS: 00010246
eax: 00000000 ebx: c1187d00 ecx: c1187d68 edx: c1187cf8
esi: c1187cf1 edi: c0279a74 ebp: c0321f88 esp: c1199f00
ds: 0018 es: 0018 ss: 0018
Process swapper (pid: 1, stackpage=c1199000)
Stack: c1199f68 c11862e0 c11d270e c1199fbc c1199f1c c1187d29 00000004 0000000c
c02e2f54 c0279a67 00000014 00000020 00000000 00000000 00000000 c02e2979
c0276480 00000002 00000000 ffffffff 00000007 c1199fe0 c11862e0 00000000
Call Trace: [<c0117976>] [<c0106d1b>] [<c010522c>] [<c0105254>] [<c0105688>]
Code: 0f 0b 8b 12 81 fa c8 e1 2b c0 75 d9 e1 c8 e1 2b e0 89 48 04
<0>Kernel panic: Attempted to kill init!


* ------------------ *

If some fields are empty or look unusual you may have an old version.
Compare to the current minimal requirements in Documentation/Changes.

Linux mother 2.4.16 #9 wto lis 27 17:19:56 CET 2001 i686 unknown

Gnu C 2.95.3
Gnu make 3.79.1
binutils 2.11.90.0.19
util-linux 2.11l
mount 2.11l
modutils 2.4.6
e2fsprogs 1.25
reiserfsprogs 3.x.0j
PPP 2.4.0
Linux C Library 2.2.4
Dynamic linker (ldd) 2.2.4
Procps 2.0.7
Net-tools 1.60
Kbd 1.06
Sh-utils 2.0
Modules Loaded 8139too es1370 gameport lirc_gpio lirc_dev loop


(gcc from slackware)


--
Tomasz Torcz
[email protected]


2002-01-17 18:58:53

by Pierre Rousselet

[permalink] [raw]
Subject: Re: OOPS on 2.4.17 -18pre4 while mounting root (reiserfs, on LVM, devfs)

Tomasz Torcz wrote:

> VFS: Mounted root (reiserfs filesystem) readonly.
> devfs: devfs_do_symlink(root): could not append to parent, err: -17
> change_root: old root has d_count=2

try booting with devfs=nomount as devfs is not properly configured on
your system.


Pierre
--
------------------------------------------------
Pierre Rousselet <[email protected]>
------------------------------------------------

2002-01-17 19:54:44

by Pierre Rousselet

[permalink] [raw]
Subject: swapper [was OOPS on 2.4.17 ...]

Tomasz Torcz wrote:
> Process swapper (pid: 1, stackpage=c1199000)

Michael H. Warfield wrote:
> Process swapper (pid: 0,stackpage=c022f000)

Hans-Christian Armingeon wrote:
> Process swapper (pid: 1, stackpage=cfe8d00)

what is this swapper process involved in 2.4.17 oops ? could it be
spawned when devfs thinks there is already a root fs mounted at boot
time before mounting the root fs given to the boot loader ?



Pierre
--
------------------------------------------------
Pierre Rousselet <[email protected]>
------------------------------------------------

2002-01-17 20:22:48

by Michael H. Warfield

[permalink] [raw]
Subject: Re: swapper [was OOPS on 2.4.17 ...]

On Thu, Jan 17, 2002 at 08:52:04PM +0100, Pierre Rousselet wrote:
> Tomasz Torcz wrote:
> > Process swapper (pid: 1, stackpage=c1199000)

> Michael H. Warfield wrote:
> > Process swapper (pid: 0,stackpage=c022f000)

> Hans-Christian Armingeon wrote:
> > Process swapper (pid: 1, stackpage=cfe8d00)

> what is this swapper process involved in 2.4.17 oops ? could it be
> spawned when devfs thinks there is already a root fs mounted at boot
> time before mounting the root fs given to the boot loader ?

It's blowing chunks even without devfs.

But you've pointed out something important. This is a heavily
upgraded RedHat 6.0 system and maybe there are some things which it
is doing which is inappropriate for the 2.4 kernels. I vaguely remember
a problem a while back with swapping and the swapper daemon and some
systems blowing chunks. All my various RedHat systems (6.0, 6.1, 6.2,
and 7.2) are all running kswapd. No "swapper" process, per se. And
init always has "1".

But even if some old application is doing something ill behaved,
that's still a problem since applications should not be capable of causing
such an oops. So that makes two problems, one in user space and one in
kernel space.

But... I've disabled swap on the afflicted system (it's got
enough memory that it damn well should have never swapped anyways). We
shall see what we shall see over the next couple of days.

Good point though...

> Pierre
> --
> ------------------------------------------------
> Pierre Rousselet <[email protected]>
> ------------------------------------------------

Mike
--
Michael H. Warfield | (770) 985-6132 | [email protected]
/\/\|=mhw=|\/\/ | (678) 463-0932 | http://www.wittsend.com/mhw/
NIC whois: MHW9 | An optimist believes we live in the best of all
PGP Key: 0xDF1DD471 | possible worlds. A pessimist is sure of it!

2002-01-18 07:18:13

by Borsenkow Andrej

[permalink] [raw]
Subject: Re: OOPS on 2.4.17 -18pre4 while mounting root (reiserfs, on LVM, devfs)

> VFS: Mounted root (reiserfs filesystem) readonly.
> devfs: devfs_do_symlink(root): could not append to parent, err: -17
> change_root: old root has d_count=2

17 == EEXIST

Your mkinitrd creates /dev/root in any form and devfs_do_symlink(root)
fails. We had the same pornlem in mandrake and Juan ended up commenting
it out in fs/super.c:

// devfs_mk_symlink (NULL, "root", DEVFS_FL_DEFAULT,
// name + 5, NULL, NULL);


-andrej

2002-01-20 20:46:03

by Richard Gooch

[permalink] [raw]
Subject: Re: OOPS on 2.4.17 -18pre4 while mounting root (reiserfs, on LVM, devfs)

Pierre Rousselet writes:
> Tomasz Torcz wrote:
>
> > VFS: Mounted root (reiserfs filesystem) readonly.
> > devfs: devfs_do_symlink(root): could not append to parent, err: -17
> > change_root: old root has d_count=2
>
> try booting with devfs=nomount as devfs is not properly configured on
> your system.

No, the problem is that he needs to apply the latest devfs patch. Some
of these problems have been fixed weeks ago. Grab devfs-patch-v199.7
and apply the appended patch as well. Let me know how it goes. I want
to release a new patch ASAP.

Regards,

Richard....
Permanent: [email protected]
Current: [email protected]

diff -urN linux-2.5.3-pre2/fs/devfs/base.c linux/fs/devfs/base.c
--- linux-2.5.3-pre2/fs/devfs/base.c Mon Jan 14 10:40:29 2002
+++ linux/fs/devfs/base.c Sun Jan 20 12:09:55 2002
@@ -1,6 +1,6 @@
/* devfs (Device FileSystem) driver.

- Copyright (C) 1998-2001 Richard Gooch
+ Copyright (C) 1998-2002 Richard Gooch

This library is free software; you can redistribute it and/or
modify it under the terms of the GNU Library General Public
@@ -604,6 +604,9 @@
20020113 Richard Gooch <[email protected]>
Fixed (rare, old) race in <devfs_lookup>.
v1.9
+ 20020120 Richard Gooch <[email protected]>
+ Fixed deadlock bug in <devfs_d_revalidate_wait>.
+ v1.10
*/
#include <linux/types.h>
#include <linux/errno.h>
@@ -636,7 +639,7 @@
#include <asm/bitops.h>
#include <asm/atomic.h>

-#define DEVFS_VERSION "1.9 (20020113)"
+#define DEVFS_VERSION "1.10 (20020120)"

#define DEVFS_NAME "devfs"

@@ -2878,13 +2881,16 @@
struct devfs_lookup_struct *lookup_info = dentry->d_fsdata;
DECLARE_WAITQUEUE (wait, current);

- if ( !dentry->d_inode && is_devfsd_or_child (fs_info) )
+ if ( is_devfsd_or_child (fs_info) )
{
devfs_handle_t de = lookup_info->de;
struct inode *inode;

- DPRINTK (DEBUG_I_LOOKUP, "(%s): dentry: %p de: %p by: \"%s\"\n",
- dentry->d_name.name, dentry, de, current->comm);
+ DPRINTK (DEBUG_I_LOOKUP,
+ "(%s): dentry: %p inode: %p de: %p by: \"%s\"\n",
+ dentry->d_name.name, dentry, dentry->d_inode, de,
+ current->comm);
+ if (dentry->d_inode) return 1;
if (de == NULL)
{
read_lock (&parent->u.dir.lock);