Subject: Re: [vserver] Kernel bug
From: Herbert Poetzl <herbert@13thfloor.at>
Date: Sat, 1 Sep 2007 02:27:10 +0200

On Thu, Aug 30, 2007 at 03:54:07PM +0200, MAZERAT Michel wrote:
> Hi,
> 
> I am trying to install a vserver in a etch version
> (/etc/debian_version : 4.0), but after installation, 
> when I start and stop the vserver, I obtain a "kernel bug".

next time, please avoid to hijack a thread ...
(http://en.wikipedia.org/wiki/Thread_hijacking)

try with a vanilla kernel (kernel.org) and recent
Linux-VServer patches instead of the debian kernel, 
and let us know how it goes ...

TIA,
Herbert

> My config is:
> host is Linux server 2.6.18-5-vserver-686 #1 SMP Mon Aug 13 00:11:17 UTC 
> 2007 i686 GNU/Linux on a DELL 1850.
> All of the command are run under root user.
> For the creation of the vserver, I used the command:
> vserver vs1 build -m debootstrap --rootdir /var/vservers/vdirbase 
> --hostname vs1.titi.com --interface eth0:192.168.0.3/24 -- -d etch -m 
> http://ftp2.fr.debian.org/debian -- --resolv-deps --arch i386
> In the directory "/etc/vservers/vs1"
>    - I created a file named "bcapabilities" containing only "SYS_ADMIN".
>    - I created an empty directory "rlimits"
> Then I run this following commands:
> ** vserver vs1 start
> Starting system log daemon: syslogd.
> Starting kernel log daemon: klogd.
> Not starting internet superserver: no services enabled.
> Starting periodic command scheduler: crond.
> ** vserver vs1 restart
> Stopping periodic command scheduler: crond.
> Stopping internet superserver: inetd.
> Saving the system clock..
> hwclock is unable to get I/O port access:  the iopl(3) call failed.
> Stopping kernel log daemon: klogd.
> Stopping system log daemon: syslogd.
> Asking all remaining processes to terminate...done.
> Killing all remaining processes...done.
> cat: /proc/cmdline: No such file or directory
> Deconfiguring network interfaces...done.
> Cleaning up ifupdown....
> Unmounting temporary filesystems...done.
> Deactivating swap...failed.
> mount: / not mounted already, or bad option
> Will now restart.
> 
> Message from syslogd@assurancetourix at Thu Aug 30 15:16:10 2007 ...
> host_vs1 kernel: ------------[ cut here ]------------
> .......
> 
> In the host's /var/log/syslog, this lines are writen:
> Aug 30 10:56:27 host_vs1 kernel:  <0>------------[ cut here ]------------
> Aug 30 10:56:27 host_vs1 kernel: kernel BUG at kernel/vserver/context.c:140!

(for debian maintainers)

this is an intentional check, and looking at the 
mainline code for 2.6.18.5 (vs2.0.2) I see that it
seems to be a problem with the context not being
in SHUTDOWN state, which was fixed about half a 
year ago by rearranging the alloc/hash/uhash calls
for context creation ...

> Aug 30 10:56:27 host_vs1 kernel: invalid opcode: 0000 [#2]
> Aug 30 10:56:27 host_vs1 kernel: SMP
> Aug 30 10:56:27 host_vs1 kernel: Modules linked in: nfs lockd nfs_acl 
> sunrpc ipv6 bluetooth button ac battery autofs4 dm_snapshot dm_mirror 
> dm_mod lo
> op evdev floppy serio_raw psmouse rtc pcspkr shpchp pci_hotplug 
> e752x_edac edac_mc sg ext3 jbd mbcache ide_cd cdrom sd_mod generic 
> ehci_hcd e1000 piix ide_c
> ore megaraid_mbox scsi_mod megaraid_mm uhci_hcd usbcore thermal 
> processor fan
> Aug 30 10:56:27 host_vs1 kernel: CPU:    1
> Aug 30 10:56:27 host_vs1 kernel: EIP:    0060:[<c0131a39>]    Not 
> tainted VLI
> Aug 30 10:56:27 host_vs1 kernel: EFLAGS: 00010246   
> (2.6.18-5-vserver-686 #1)
> Aug 30 10:56:27 host_vs1 kernel: EIP is at free_vx_info+0xc/0x63
> Aug 30 10:56:27 host_vs1 kernel: eax: f6935000   ebx: dfd35040   ecx: 
> dfba27c0   edx: f6935000
> Aug 30 10:56:27 host_vs1 kernel: esi: dfd35040   edi: dfbbd6f0   ebp: 
> f5eaff54   esp: f5eafee0
> Aug 30 10:56:27 host_vs1 kernel: ds: 007b   es: 007b   ss: 0068
> Aug 30 10:56:27 host_vs1 kernel: Process rc (pid: 31843[#49153], 
> ti=f5eae000 task=dfa72af0 task.ti=f5eae000)
> Aug 30 10:56:27 host_vs1 kernel: Stack: c011b54d 0040000c c0289bcf 
> 081f2153 0000005a 00000012 00000001 dfbbd6f0
> Aug 30 10:56:27 host_vs1 kernel:        c02d26a0 081fdf67 0000005a 
> 0000be14 00000000 dfa72c00 c28121e0 b8bbb065
> Aug 30 10:56:27 host_vs1 kernel:        ffffff06 c0355fc0 f72563f0 
> c0152f20 f72563f0 f6a8e080 c16e4acc 000000fd
> Aug 30 10:56:27 host_vs1 kernel: Call Trace:
> Aug 30 10:56:27 host_vs1 kernel:  [<c011b54d>] __mmdrop+0x3f/0x4c
> Aug 30 10:56:27 host_vs1 kernel:  [<c0289bcf>] schedule+0xa6b/0xad5
> Aug 30 10:56:27 host_vs1 kernel:  [<c0152f20>] __handle_mm_fault+0x840/0x864
> Aug 30 10:56:27 host_vs1 kernel:  [<c011fddc>] do_wait+0x89b/0x96d
> Aug 30 10:56:27 host_vs1 kernel:  [<c011790e>] default_wake_function+0x0/0xc
> Aug 30 10:56:27 host_vs1 kernel:  [<c011fed5>] sys_wait4+0x27/0x2a
> Aug 30 10:56:27 host_vs1 kernel:  [<c011feeb>] sys_waitpid+0x13/0x17
> Aug 30 10:56:27 host_vs1 kernel:  [<c0102c7b>] syscall_call+0x7/0xb
> Aug 30 10:56:27 host_vs1 kernel: Code: fe ff ff eb 13 85 c9 89 0d 24 72 
> 2d c0 0f 84 39 ff ff ff e9 46 ff ff ff 59 89 f8 5b 5e 5f c3 85 c0 89 c2 
> 74 06
> f6 40 19 01 75 08 <0f> 0b 8c 00 25 25 2a c0 8b 42 0c 85 c0 74 08 0f 0b 
> 8e 00 25 25
> Aug 30 10:56:27 host_vs1 kernel: EIP: [<c0131a39>] free_vx_info+0xc/0x63 
> SS:ESP 0068:f5eafee0
> 
> 
> When I passed the testme.sh and testfs.sh, here are the results:
> 
> ** testme.sh:
> Linux-VServer Test [V0.17] Copyright (C) 2003-2006 H.Poetzl
> chcontext is working.
> chbind is working.
> Linux 2.6.18-5-vserver-686 #1 SMP Mon Aug 13 00:11:17 UTC 2007 i686
> Ea 0.30.212 273/glibc (DSa) <compat,v11,fscompat,v13,net,v21,oldproc,olduts>
> VCI: 0002:0002 273 03000076 (TbLgnPHi)
> ---
> [000]# succeeded.
> [001]# succeeded.
> [011]# succeeded.
> [031]# succeeded.
> [101]# succeeded.
> [102]# succeeded.
> [201]# succeeded.
> [202]# succeeded.
> 
> ** testfs.sh legacy:
> Linux-VServer FS Test [V0.16] Copyright (C) 2005-2007 H.Poetzl
> Linux 2.6.18-5-vserver-686 i686/0.30.212
> VCI:  0002:0002 273 03000076 (ID24)
> ---
> testing ext2 filesystem ...
> [000]. [001]. [002]. [999].
> ---
> testing ext3 filesystem ...
> [000]. [001]. [002]. [999].
> ---
> testing xfs filesystem ...
> [000]* (xfs format failed)
> ---
> testing reiser filesystem ...
> [000]* (reiserfs format failed)
> ---
> testing jfs filesystem ...
> [000]* (jfs format failed)
> 
> ** testfs.sh new-style:
> Linux-VServer FS Test [V0.16] Copyright (C) 2005-2007 H.Poetzl
> Linux 2.6.18-5-vserver-686 i686/0.30.212
> VCI:  0002:0002 273 03000076 (ID24)
> ---
> testing ext2 filesystem ...
> [000]. [001]. [002]. [999].
> ---
> testing ext3 filesystem ...
> [000]. [001]. [002]. [999].
> ---
> testing xfs filesystem ...
> [000]* (xfs format failed)
> ---
> testing reiser filesystem ...
> [000]* (reiserfs format failed)
> ---
> testing jfs filesystem ...
> [000]* (jfs format failed)
> 
> After all of that, if I try to start again the vserver, I obtain a 
> "kernel panic" (I think that it is due to the previous kernel bug). But 
> like I am not in front of the server (I am working trough ssh) and no 
> messages are logged, I can not transmit the messages printed on screen.
> 
> What is the problem?
> 
> Thank you for your help
> Michel