From: Rennie d. <ren...@gm...> - 2006-05-17 17:20:13
|
I'm trying to build a UML guest system based on Gentoo and the 2.6.16.16 kernel. It seems to work, except that it always hangs on shutdown at the message " * Deactivating swap ...". This is after syslog and sshd have been shut down, so there's no log information and I can't get a ps output. My skills with gdb are limited (is it possible to get a something like a ps listing from gdb or uml_mconsole?), but the UML kernel seems to be spending some of its time in an idle loop and some in the stack trace below. I can kill the uml system with uml_mconsole, but it's annoying to have to do that all the time. Does anyone know why this is happening or how I can fix it? Thanks, Rennie deGraaf Host kernel: 2.6.16-1.2096_FC4 (unmodified Fedora Core 4 kernel) Host system: Fedora Core 4 Guest kernel: 2.6.16.16 (unmodified) Guest system: Gentoo Kernel stack trace: Program received signal SIGINT, Interrupt. sig_handler (sig=29) at arch/um/os-Linux/signal.c:42 42 in arch/um/os-Linux/signal.c (gdb) bt #0 sig_handler (sig=29) at arch/um/os-Linux/signal.c:42 #1 <signal handler called> #2 0x002ed402 in __kernel_vsyscall () #3 0x003c7513 in __write_nocancel () from /lib/libc.so.6 #4 0x08083119 in file_io (fd=11, buf=0xa0b3adc, len=64, io_proc=0x805c440, copy_user_proc=0x805fe50 <copy_to_user_proc>) at arch/um/os-Linux/file.c:333 #5 0x0807f7ca in do_ubd_request (q=0x9502bc8) at arch/um/drivers/ubd_kern.c:1054 #6 0x0816641b in generic_unplug_device (q=0x9502bc8) at block/ll_rw_blk.c:1611 #7 0x080d4a58 in swap_unplug_io_fn (unused_bdi=0x82644f8, page=Variable "page" is not available. ) at include/linux/blkdev.h:629 #8 0x080e56e6 in block_sync_page (page=0x94a13a0) at include/linux/blkdev.h:629 #9 0x080bd562 in sync_page (word=0x94a13a0) at mm/filemap.c:165 #10 0x0820f225 in __wait_on_bit (wq=0x94b0600, q=0xa0b3b8c, action=0x80bd530 <sync_page>, mode=2) at kernel/wait.c:162 #11 0x080bdd51 in wait_on_page_bit (page=Variable "page" is not available. ) at mm/filemap.c:455 #12 0x080d5995 in try_to_unuse (type=0) at include/linux/pagemap.h:189 #13 0x080d6354 in sys_swapoff (specialfile=0x804f078 "\030\uffff\215\uffff") at mm/swapfile.c:1155 #14 0x080647ca in handle_syscall (r=0x96682d8) at arch/um/kernel/skas/syscall.c:42 #15 0x080897be in userspace (regs=0x96682d8) at arch/um/os-Linux/skas/process.c:151 #16 0x08064458 in fork_handler (sig=10) at arch/um/kernel/skas/process_kern.c:96 #17 <signal handler called> #18 0x002ed402 in __kernel_vsyscall () #19 0x080890f4 in map (mm_idp=0xa8741bc, virt=32277, len=157712640, r=3359623, w=1, x=1, phys_fd=6, offset=14423702927018972, done=1, data=0xa103aec) at arch/um/os-Linux/skas/mem.c:209 #20 0x0806495a in do_ops (mmu=0x94f8740, ops=0xa103ab8, last=136695296, finished=156206912, flush=0xa103aec) at arch/um/kernel/skas/tlb.c:31 #21 0x00000001 in ?? () #22 0x094f8740 in ?? () #23 0x0a103ab8 in ?? () #24 0x0825ce00 in init_sighand () #25 0x094f8740 in ?? () #26 0x0a100000 in ?? () #27 0x08089a99 in switch_threads (me=0x94f8c24, next=0x825baec) at arch/um/os-Linux/skas/process.c:485 #28 0x0806428d in switch_to_skas (prev=0x94f8740, next=0x825ce00) at arch/um/kernel/skas/process_kern.c:35 #29 0x0805f8fa in _switch_to (prev=0x333df7, next=0x825ce00, last=0x94f8740) at arch/um/kernel/process_kern.c:123 #30 0x0820e569 in schedule () at kernel/sched.c:1600 #31 0x0809aa57 in do_wait (pid=-1, options=4, infop=0x0, stat_addr=0xbf501fc8, ru=0x0) at kernel/exit.c:1495 #32 0x0809ae61 in sys_wait4 (pid=-1, stat_addr=0xbf501fc8, options=0, ru=0x0) at kernel/exit.c:1571 #33 0x0809ae95 in sys_waitpid (pid=-1, stat_addr=0xbf501fc8, options=0) at kernel/exit.c:1586 #34 0x080647ca in handle_syscall (r=0x94f8918) at arch/um/kernel/skas/syscall.c:42 #35 0x080897be in userspace (regs=0x94f8918) at arch/um/os-Linux/skas/process.c:151 #36 0x08064458 in fork_handler (sig=10) at arch/um/kernel/skas/process_kern.c:96 #37 <signal handler called> #38 0x002ed402 in __kernel_vsyscall () #39 0x08089a99 in switch_threads (me=0x8e0db04, next=0xa0b3a34) at arch/um/os-Linux/skas/process.c:485 #40 0x0806428d in switch_to_skas (prev=0x8e0d620, next=0x9668100) at arch/um/kernel/skas/process_kern.c:35 #41 0x0805f8fa in _switch_to (prev=0x94f8bdc, next=0x9668100, last=0x8e0d620) at arch/um/kernel/process_kern.c:123 #42 0x0820e569 in schedule () at kernel/sched.c:1600 #43 0x0820f113 in schedule_timeout (timeout=Variable "timeout" is not available.) at kernel/timer.c:1136 #44 0x080f6ce5 in do_select (n=11, fds=0x8e13be0, timeout=0x8e13c38) at fs/select.c:276 #45 0x080f7007 in core_sys_select (n=11, inp=0xbf67f4d0, outp=0x0, exp=0x0, timeout=0x8e13c38) at fs/select.c:353 #46 0x080f715d in sys_select (n=11, inp=0xbf67f4d0, outp=0x0, exp=0x0, tvp=0xbf67f4c8) at fs/select.c:398 #47 0x080647ca in handle_syscall (r=0x8e0d7f8) at arch/um/kernel/skas/syscall.c:42 #48 0x080897be in userspace (regs=0x8e0d7f8) at arch/um/os-Linux/skas/process.c:151 #49 0x0806437f in new_thread_handler (sig=10) at arch/um/kernel/skas/process_kern.c:66 #50 <signal handler called> #51 0x002ed402 in __kernel_vsyscall () #52 0x00000000 in ?? () (gdb) |