2.6.11 + uml.sf.net patches panic
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
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
Quoted 1 line · Jeff Dike
The
write_ldtjust 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
Quoted 11 lines · Bodo Stroesser
Quoted 1 line · Jeff Dike
The
write_ldtjust 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
@@ -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++){
_
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.oarch/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 toUSER_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_ldtjust 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-ldtarch/um/sys-i386/ldt.carch/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