Skip to contentSkip to conversation

2.6.11 + uml.sf.net patches panic

uml-devel Peter 4 participants 5 messages Mar 3, 2005 – Mar 5, 2005 User-mode Linux (UML)

lore
Share & tools
lore

Peter

author
#0 lore raw

Hi. I'm getting a kernel panic on the 2.6.11 code from user-mode-linux.sf.net.

Details: host=2.6.8.1+skas3v8. guest = 2.6.11 plus the 2.6.11-rc3-mm2 tarball from user-mode-linux.sf.net minus x11-fb, cross-build (in order to get past a compile error).

The panic happens when starting up a Java process (specifically starting up tomcat).

The problem does not occur with a vanilla 2.6.11 guest.

I'm happy to carry on using vanilla 2.6.11. But hopefully the stack trace below triggers some insight into a problem with one of the latest uml.sf.net patches.

Regards, Peter

Starting Tomcat: Kernel panic - not syncing: Kernel mode fault at addr 0x98c1003f, ip 0x4013a3e4

EIP: 0073:[<4013a3e4>] CPU: 0 Not tainted ESP: 007b:4bc77eec EFLAGS: 00000202
Not tainted
EAX: ffffffda EBX: 00000001 ECX: 4bc77f14 EDX: 00000010
ESI: 000fffff EDI: 00000010 EBP: 4bc77fec DS: 007b ES: 007b

Call Trace:
1014b678:  [<0807ab26>] printk+0x12/0x14
1014b688:  [<08087826>] notifier_call_chain+0x22/0x40
1014b6b8:  [<0807a282>] panic+0x56/0x104
1014b6c8:  [<08063cff>] segv+0x7f/0x270
1014b6d8:  [<08063e5a>] segv+0x1da/0x270
1014b740:  [<08064070>] segv_handler+0x0/0xa8
1014b748:  [<0807235e>] change_signals+0x42/0x6c
1014b7b8:  [<08064114>] segv_handler+0xa4/0xa8
1014b7f0:  [<08064070>] segv_handler+0x0/0xa8
1014b7f8:  [<080668c1>] sig_handler_common_skas+0x8d/0xdc
1014b808:  [<080668ba>] sig_handler_common_skas+0x86/0xdc
1014b828:  [<0807212a>] sig_handler+0x12/0x14
1014b888:  [<08074d0e>] write_ldt+0x1a6/0x2d8
1014b8f0:  [<080617cb>] um_virt_to_phys+0x4b/0x84
1014b8f4:  [<080f3000>] journal_switch_revoke_table+0x50/0x60
1014b910:  [<080669aa>] maybe_map+0x26/0x84
1014b92c:  [<080f41e1>] journal_update_superblock+0x1d/0x9c
1014b940:  [<08066a5e>] do_op+0x56/0x60
1014b960:  [<08066ad3>] do_buffer_op+0x6b/0x134
1014b970:  [<08066bf0>] copy_chunk_from_user+0x0/0x2c
1014b990:  [<08066bf0>] copy_chunk_from_user+0x0/0x2c
1014b9b0:  [<0807390d>] setjmp_wrapper+0x4d/0x54

[root@fc3 ~]# /etc/init.d/tomcat start
Starting Tomcat: Kernel panic - not syncing: Kernel mode fault at addr 0x98c1003f, ip 0x4013a3e4

EIP: 0073:[<4013a3e4>] CPU: 0 Not tainted ESP: 007b:4bc77eec EFLAGS: 00000202
Not tainted
EAX: ffffffda EBX: 00000001 ECX: 4bc77f14 EDX: 00000010
ESI: 000fffff EDI: 00000010 EBP: 4bc77fec DS: 007b ES: 007b

Call Trace:
1028f678:  [<0807ab26>] printk+0x12/0x14
1028f688:  [<08087826>] notifier_call_chain+0x22/0x40
1028f6b8:  [<0807a282>] panic+0x56/0x104
1028f6c8:  [<08063cff>] segv+0x7f/0x270
1028f6d8:  [<08063e5a>] segv+0x1da/0x270
1028f740:  [<08064070>] segv_handler+0x0/0xa8
1028f748:  [<0807235e>] change_signals+0x42/0x6c
1028f7b8:  [<08064114>] segv_handler+0xa4/0xa8
1028f7f0:  [<08064070>] segv_handler+0x0/0xa8
1028f7f8:  [<080668c1>] sig_handler_common_skas+0x8d/0xdc
1028f808:  [<080668ba>] sig_handler_common_skas+0x86/0xdc
1028f828:  [<0807212a>] sig_handler+0x12/0x14
1028f888:  [<08074d0e>] write_ldt+0x1a6/0x2d8
1028f8f0:  [<080617cb>] um_virt_to_phys+0x4b/0x84
1028f8f4:  [<08234000>] ip6_mc_del_src+0xd4/0x19c
1028f910:  [<080669aa>] maybe_map+0x26/0x84
1028f92c:  [<082351e1>] igmp6_mcf_seq_show+0x189/0x1c4
1028f940:  [<08066a5e>] do_op+0x56/0x60
1028f960:  [<08066ad3>] do_buffer_op+0x6b/0x134
1028f970:  [<08066bf0>] copy_chunk_from_user+0x0/0x2c
1028f990:  [<08066bf0>] copy_chunk_from_user+0x0/0x2c
1028f9b0:  [<0807390d>] setjmp_wrapper+0x4d/0x54

-------------------------------------------------------
SF email is sponsored by - The IT Product Guide
Read honest & candid reviews on hundreds of IT Products from real users. Discover which products truly live up to the hype. Start reading now.
http://ads.osdn.com/?ad_id=6595&alloc_id=14396&op=click
_______________________________________________
User-mode-linux-devel mailing list [email protected]
https://lists.sourceforge.net/lists/listinfo/user-mode-linux-devel

#1 lore raw
Quoted 3 lines · [email protected] said:

I'm happy to carry on using vanilla 2.6.11. But hopefully the stack trace below triggers some insight into a problem with one of the latest uml.sf.net patches.

The write_ldt just above the segfault in both stacks looks suspicious.

Could you try backing out the ldt patches:
skas-hold-own-ldt
ldt-use-stub

and see if the panic goes away?

Jeff

-------------------------------------------------------
SF email is sponsored by - The IT Product Guide
Read honest & candid reviews on hundreds of IT Products from real users. Discover which products truly live up to the hype. Start reading now.
http://ads.osdn.com/?ad_id=6595&alloc_id=14396&op=click
_______________________________________________
User-mode-linux-devel mailing list [email protected]
https://lists.sourceforge.net/lists/listinfo/user-mode-linux-devel

#2 lore raw
Quoted 1 line · Jeff Dike

The write_ldt just above the segfault in both stacks looks suspicious.

Yes. There seems to be a problem with this new stuff.

Peter, could you please send a full call trace? I guess, the ones in your mail are truncated, right?

Bodo

-------------------------------------------------------
SF email is sponsored by - The IT Product Guide
Read honest & candid reviews on hundreds of IT Products from real users. Discover which products truly live up to the hype. Start reading now.
http://ads.osdn.com/?ad_id=6595&alloc_id=14396&op=click
_______________________________________________
User-mode-linux-devel mailing list [email protected]
https://lists.sourceforge.net/lists/listinfo/user-mode-linux-devel

#3 lore raw
Quoted 11 lines · Bodo Stroesser
Quoted 1 line · Jeff Dike

The write_ldt just above the segfault in both stacks looks suspicious.

Yes. There seems to be a problem with this new stuff.

Peter, could you please send a full call trace? I guess, the ones in your mail are truncated, right?

Bodo

Meanwhile I found a problem in arch/um/sys-i386/ldt.c, which causes UML to panic, if LDT-entry number 8 is written, using modify_ldt-syscall.

This crash is very similar to the one Peter had, so I hope the appended oneliner will solve the problem.

Bodo

---

arch/um/sys-i386/ldt.c renamed from arch/um/sys-i386/ldt.c~fix-skas-ldt +1 -1
diff -puN arch/um/sys-i386/ldt.c~fix-skas-ldt arch/um/sys-i386/ldt.c
@@ -208,7 +208,7 @@ static int write_ldt(void __user * ptr, 
 		goto out_unlock;
 
 	if(ldt_info.entry_number >= ldt->entry_count &&
-	   ldt_info.entry_number > LDT_DIRECT_ENTRIES){
+	   ldt_info.entry_number >= LDT_DIRECT_ENTRIES){
 		for(i=ldt->entry_count/LDT_ENTRIES_PER_PAGE;
 		    i*LDT_ENTRIES_PER_PAGE <= ldt_info.entry_number;
 		    i++){

_

#4 lore raw

Re: [uml-devel] 2.6.11 + uml.sf.net patches panic (now fixed, replaced by CPU problem)

Hi. I just tried 2.6.11 + jeff's patches (which are now against 2.6.11 and appear to include bodo's patch from below).

With this codebase I was able to startup tomcat without getting the kernel crash I reported previously. Cool.

There were some problems though. My feedback on this setup is below. The main showstopper is an issue where the guest UML sucks up all available CPU. I've gone back to using 2.6.9-bs7 for the time being.

Regards, Peter
http://rimuhosting.com

bodo's fp-state would not apply (at least with patch -p 1). All other patches went in OK.

Got this:
HOSTCC scripts/kallsyms
HOSTCC scripts/bin2c
CC init/main.o
In file included from include/asm/pgtable.h:28,

                 from include/linux/bootmem.h:7,
                 from init/main.c:30:

include/asm/pgtable-3level.h: In function `pfn_pmd':
include/asm/pgtable-3level.h:138: warning: implicit declaration of function `__pmd' include/asm/pgtable-3level.h:138: incompatible types in return make[1]: *** [init/main.o] Error 1
make: *** [init] Error 2
make linux

Had to disable the 3level page table option inside the UML specific options.

Got:

  CC      arch/um/drivers/ubd_kern.o
  CC      arch/um/drivers/x11_kern.o
  CC      arch/um/drivers/x11_user.o

arch/um/drivers/x11_user.c:10:19: X11/X.h: No such file or directory arch/um/drivers/x11_user.c:11:22: X11/Xlib.h: No such file or directory arch/um/drivers/x11_user.c:12:23: X11/Xutil.h: No such file or directory arch/um/drivers/x11_user.c:13:24: X11/keysym.h: No such file or directory arch/um/drivers/x11_user.c:14:33: X11/extensions/XShm.h: No such file or directory arch/um/drivers/x11_user.c:23: syntax error before "Display" arch/um/drivers/x11_user.c:23: warning: no semicolon at end of struct or union arch/um/drivers/x11_user.c:24: warning: type defaults to int' in declaration of root' arch/um/drivers/x11_user.c:24: warning: type defaults to int' in declaration of win'

Disabled X11 Framebuffer driver

Got:

CC arch/um/drivers/random.o
LD arch/um/drivers/built-in.o
arch/um/os-Linux/Makefile:15: *** commands commence before first target.
Stop.
make: *** [arch/um/os-Linux] Error 2
make linux

In the Makefile I saw:

user-objs-$(CONFIG_TTY_LOG) += tty_log.o

USER_OBJS := $(user-objs-y) aio.o elf_aux.o file.o helper.o irq.o main.o
mem.o process.o sigio.o signal.o start_up.o syscall.o trap.o
time.o \
tt.o tty.o uaccess.o umid.o util.o

Changed that to
USER_OBJS := $(user-objs-y) aio.o elf_aux.o file.o helper.o irq.o main.o \

(Excuse the email wrapping. Basically the first USER_OBJS line is missing a trailing '\').

When I start it up the UML sits maxing out the CPU. I think vanilla 2.6.11 UML guests do that as well.

38 processes: 35 sleeping, 3 running, 0 zombie, 0 stopped

CPU states:  cpu    user    nice  system    irq  softirq  iowait    idle
   total    2.6%    0.0%    0.0%  97.3%     0.0%    0.0%    0.0%

Mem: 255660k av, 48348k used, 207312k free, 0k shrd, 4320k buff

Checking for the skas3 patch in the host:
- /proc/mm...found
- PTRACE_FAULTINFO...found
- PTRACE_LDT...found
Checking PROT_EXEC mmap in /tmp...OK
Linux version 2.6.11-rimu6 ([email protected]) (gcc version 3.2.3 20030502 (Red Hat Linux 3.2.3-42)) #1 Sat Mar 5 22:07:34 UTC 2005
Built 1 zonelists
Kernel command line: con=null con0=fd:0,fd:1 eth0=tuntap,tap39 mem=256M ubd7=/dev/shm2/tmp/fc3.rimuhosting.com/swapfs.swp ubd0=/home/umlusers/fc3.rimuhosting.com/wbl3-3.backingfilenota.cow root=98:0 PID hash table entries: 2048 (order: 11, 32768 bytes)
Dentry cache hash table entries: 65536 (order: 6, 262144 bytes)
Inode-cache hash table entries: 32768 (order: 5, 131072 bytes)
Memory: 255488k available
Mount-cache hash table entries: 512 (order: 0, 4096 bytes)
Checking for host processor cmov support...Yes
Checking for host processor xmm support...No
Checking that ptrace can change system call numbers...OK
Checking syscall emulation patch for ptrace...OK
Checking advanced syscall emulation patch for ptrace...missing
Checking that host ptys support output SIGIO...Yes
Checking that host ptys support SIGIO on close...No, enabling workaround
Checking for /dev/anon on the host...Not available (open failed with errno 2)
NET: Registered protocol family 16

Quoted 43 lines · Bodo Stroesser
Quoted 6 lines · Bodo Stroesser
Quoted 1 line · Jeff Dike

The write_ldt just above the segfault in both stacks looks suspicious.

Quoted 6 lines

Yes. There seems to be a problem with this new stuff.

Peter, could you please send a full call trace? I guess, the ones in your mail are truncated, right?

Bodo

Meanwhile I found a problem in arch/um/sys-i386/ldt.c, which causes UML to panic, if LDT-entry number 8 is written, using modify_ldt-syscall.

This crash is very similar to the one Peter had, so I hope the appended oneliner will solve the problem.

Bodo

------------------------------------------------------------------------

---

diff -puN arch/um/sys-i386/ldt.c~fix-skas-ldt arch/um/sys-i386/ldt.c

arch/um/sys-i386/ldt.c renamed from arch/um/sys-i386/ldt.c~fix-skas-ldt +1 -1
@@ -208,7 +208,7 @@ static int write_ldt(void __user * ptr, 
 		goto out_unlock;
 
 	if(ldt_info.entry_number >= ldt->entry_count &&
-	   ldt_info.entry_number > LDT_DIRECT_ENTRIES){
+	   ldt_info.entry_number >= LDT_DIRECT_ENTRIES){
 		for(i=ldt->entry_count/LDT_ENTRIES_PER_PAGE;
 		    i*LDT_ENTRIES_PER_PAGE <= ldt_info.entry_number;
 		    i++){
Quoted 1 line

_

-------------------------------------------------------
SF email is sponsored by - The IT Product Guide
Read honest & candid reviews on hundreds of IT Products from real users. Discover which products truly live up to the hype. Start reading now.
http://ads.osdn.com/?ad_id=6595&alloc_id=14396&op=click
_______________________________________________
User-mode-linux-devel mailing list [email protected]
https://lists.sourceforge.net/lists/listinfo/user-mode-linux-devel