On Thu, Sep 02, 2010 at 03:46:00PM +0800, hutao@xxxxxxxxxxxxxx wrote: > Hi, > > I got a problem where it seemed crash got a bad backtrace. > The problem occurred under the following conditions: > On a qemu guest system loading a module that stuck at > the init function(say, call a function that did deadlooping), > then dumped the guest by `virsh dump vm dumpfile', and run > crash on the dumpfile. > > The module is: > > --- > #include <linux/module.h> > > int endless_loop(void) > { > printk("endless loop\n"); > while (1); > > return 0; > } > > int __init endless_init(void) > { > endless_loop(); > > return 0; > } > module_init(endless_init); > > MODULE_LICENSE("GPL"); > --- > > crash bt command got: > > crash> bt -a > PID: 0 TASK: ffffffff81648020 CPU: 0 COMMAND: "swapper" > #0 [ffffffff81601e08] schedule at ffffffff813e8a49 > #1 [ffffffff81601e18] apic_timer_interrupt at ffffffff8100344e > #2 [ffffffff81601ea0] need_resched at ffffffff8100970c > #3 [ffffffff81601eb0] default_idle at ffffffff81009f6b > #4 [ffffffff81601ec0] cpu_idle at ffffffff81001bf5 > > PID: 1088 TASK: ffff88001dda2d60 CPU: 1 COMMAND: "insmod" > #0 [ffff88001e751dc8] schedule at ffffffff813e8a49 > #1 [ffff88001e751dd0] schedule at ffffffff813e8aec > #2 [ffff88001e751e80] preempt_schedule_irq at ffffffff813e8c90 > #3 [ffff88001e751e90] retint_kernel at ffffffff813eab86 > #4 [ffff88001e751f20] do_one_initcall at ffffffff81000210 > #5 [ffff88001e751f50] sys_init_module at ffffffff8106b7ca > #6 [ffff88001e751f80] system_call_fastpath at ffffffff81002a82 > RIP: 00007f761bb58b7a RSP: 00007fff67a43120 RFLAGS: 00010206 > RAX: 00000000000000af RBX: ffffffff81002a82 RCX: 0000000000020010 > RDX: 0000000000b96010 RSI: 00000000000163da RDI: 0000000000b96030 > RBP: 0000000000b96010 R8: 0000000000010011 R9: 0000000000080000 > R10: 00007f761bb4b140 R11: 0000000000000202 R12: 00000000000163da > R13: 00007fff67a44985 R14: 00000000000163da R15: 0000000000b96010 > ORIG_RAX: 00000000000000af CS: 0033 SS: 002b > > Does it lose some function calls between do_one_initcall and retint_kernel? > (endless_loop <- endless_init) > In addition, if we don't stick in the init function (there is still a deadloop somewhere in module but triggered by, say, reading a /proc file) then the backtrace outputed by crash is correct. > > -- > Thanks, > Hu Tao > > -- > Crash-utility mailing list > Crash-utility@xxxxxxxxxx > https://www.redhat.com/mailman/listinfo/crash-utility -- Thanks, Hu Tao -- Crash-utility mailing list Crash-utility@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/crash-utility