Hello,

I'm running apache server and apache benchmark in x86 dual system. It works 
well in atomic mode with default configuration. I take a checkpoint before 
client sending request. When the simulator restores from the checkpoint and 
runs in detailed mode, the test system (server) gets a kernel panic upon 
receiving packets from the clients:

build/X86/gem5.opt configs/example/fs.py --kernel=vmlinux --disk-image=big.img 
--dual -r 1 --caches --cpu-type=detailed

BUG: unable to handle kernel NULL pointer dereference at 0000000000000710
IP: [<ffffffff803fed22>] rx_irq+0x32/0x250
PGD 72d6067 PUD 72d7067 PMD 0
Oops: 0000 [#1]
last sysfs file:
CPU 0
Modules linked in:
Pid: 0, comm: swapper Tainted: G        W  2.6.28.4-dirty #5
RIP: 0010:[<ffffffff803fed22>]  [<ffffffff803fed22>] rx_irq+0x32/0x250
RSP: 0018:ffffffff8083beb0  EFLAGS: 000000a8
RAX: 0000000000000000 RBX: ffff88000706e640 RCX: 000000000000023c
RDX: ffff88000706e940 RSI: 0000000000000000 RDI: ffff88000706e000
RBP: ffffffff80892968 R08: 0000000000000000 R09: 0000000000000000
R10: 0000000000000064 R11: ffffffff8021afc0 R12: ffff88000706e000
R13: ffff88000706e640 R14: ffff88000706e710 R15: 0000000000000000
FS:  000000004e7fb950(0000) GS:ffffffff80844020(0000) knlGS:0000000000000000
CS:  0010 DS: 0018 ES: 0018 CR0: 000000008005003b
CR2: 0000000000000710 CR3: 00000000072d3000 CR4: 00000000000006e0
DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
DR3: 0000000000000000 DR6: 0000000000000000 DR7: 0000000000000000
Process swapper (pid: 0, threadinfo ffffffff807e6000, task ffffffff8076d380)
Stack:
 ffffffff802108e9 0000000000000000 00000000000002a8 ffff88000706e640
 ffffffff80892968 ffff88000706e000 0000000000000100 000000000000000a
 0000000000000000 ffffffff803fef5d ffffffff803ff438 0000000000000000
Call Trace:
 <IRQ> <0> [<ffffffff802108e9>] ? read_tsc+0x9/0x20
 [<ffffffff803fef5d>] ? rx_action+0x1d/0x70
 [<ffffffff803ff438>] ? ns83820_irq+0x1c8/0x2b0
 [<ffffffff80232c59>] ? tasklet_action+0x39/0x80
 [<ffffffff80232e8c>] ? __do_softirq+0x7c/0x130
 [<ffffffff8020c19c>] ? call_softirq+0x1c/0x30
 [<ffffffff8020d015>] ? do_softirq+0x35/0x70
 [<ffffffff8020d0f9>] ? do_IRQ+0xa9/0x1a0
 [<ffffffff8020b996>] ? ret_from_intr+0x0/0xa
 <EOI> <0> [<ffffffff80209d32>] ? __exit_idle+0x12/0x30
 [<ffffffff8020a23a>] ? cpu_idle+0x2a/0x50
Code: 49 81 c6 10 07 00 00 41 55 49 89 fd 49 81 c5 40 06 00 00 41 54 55 53 48 
83 ec 18 48 89 7c 24 08 9c 8f 44 24 10 fa 48 8b 44 24 08 <8b> 88 10 07 00 00 85 
c9 0f 84 cb 01 00 00 49 8b 96 10 02 00 00
RIP  [<ffffffff803fed22>] rx_irq+0x32/0x250
 RSP <ffffffff8083beb0>
CR2: 0000000000000710
Kernel panic - not syncing: Fatal exception in interrupt

I'm using kernel v2.6.28.4 and NSGigE Ethernet card. I found a similar kernel 
panic in previous post but my problem is a little bit different. I tried the 
checkpoint restore to atomic mode and it works well.  I tried other kernel and 
Ethernet card combination and met different errors. For example, when I use 
kernel v2.6.22.9 and E1000, there is no kernel panic but with an assertion 
error:

 build/X86/dev/i8254xGBe.cc:177: virtual Tick IGbE::read(PacketPtr): Assertion 
`pkt->getSize() == 4' failed.
Program aborted at cycle 5470903108500
./run_fs_test: line 6: 12004 Aborted                 (core dumped) 
build/X86/gem5.opt configs/example/fs.py --kernel=x86_64-vmlinux-2.6.22.9 
--disk-image=big.img --dual --checkpoint-dir=apache-e1000 -r 1 
--cpu-type=detailed --caches

Does anyone know how to solve this problem? Thanks!

Best regards
Fangfei
_______________________________________________
gem5-users mailing list
[email protected]
http://m5sim.org/cgi-bin/mailman/listinfo/gem5-users

Reply via email to