Hi Pritha,

You should attach gdb to the CPU before the panic occurs and set a breakpoint 
on the panic symbol. 

Thanks,
Ali

Sent from my ARM powered mobile device

On May 26, 2012, at 11:46 AM, Pritha Ghoshal <pritha9...@neo.tamu.edu> wrote:

> Hi, 
> 
> I tried using the remote gdb mentioned in the debugging page, but I am 
> running a 4 core simulation, and even though one core gets a oops, the other 
> cores keep working. I attached the remote gdb to the failing core, but it 
> does not seem to stop simulation there and therefore I am not able to 
> backtrace. Do you know of any way I could make the simulation stop once 1 of 
> the cpu-s get a panic? 
> 
> Thanks
> Pritha
> 
> ----- Original Message -----
> From: "Pritha Ghoshal" <pritha9...@neo.tamu.edu>
> To: sa...@umich.edu, "gem5 users mailing list" <gem5-users@gem5.org>
> Sent: Tuesday, May 15, 2012 1:05:40 PM
> Subject: Re: [gem5-users] Kernel panic in skb_release_data in put_page call
> 
> Hi Ali, 
> 
> Thanks for your reply. It seems that the error is coming because the tx_ring 
> clearer thinks that the nr_frags is set on the skb and also sees a frag_list. 
> I cannot see these values getting set in the transmit path, when it pushes 
> into the tx_queue in the xmit_frame code. In the trace I am using I should 
> not have any fragmented packets. 
> 
> I am trying to hack it now to reset the nr_frags and the frag_list and see if 
> the problem goes, but I will dig into it more to see how these values are 
> getting set in the first place. 
> 
> By the way, I am not sure how to hook up gdb to the kernel running on gem5? 
> This is inside the kernel, so I was not sure how to run gdb on it. 
> 
> Thanks,
> Pritha
> 
> ----- Original Message -----
> From: "Ali Saidi" <sa...@umich.edu>
> To: "gem5 users mailing list" <gem5-users@gem5.org>
> Sent: Tuesday, May 15, 2012 12:34:41 AM
> Subject: Re: [gem5-users]    Kernel panic in skb_release_data in put_page call
> 
> 
> 
> 
> You're going to have to get gdb hooked up to gem5 and see where that address 
> is coming from and why its bad. With alpha all the kernel addresses should 
> start with ffffc, so some how something is going wrong. You can also try 
> sprinking printks or dprintks through the code to see where the address is 
> being generated. Once you track how it's computed, you can see where it is 
> loaded from and then go looking for who wrote that last and why it was wrong. 
> 
> 
> 
> Ali 
> 
> 
> 
> On 15.05.2012 01:08, Pritha Ghoshal wrote: 
> 
> Hi, 
> 
> I am trying to use two e1000 drivers to simulate an incoming port and an 
> outgoing port. I have the iptables setup in between to regulate traffic and 
> let only some packets proceed to the outgoing port. I have modified the 
> networking part of the kernel as follows: 
> 1. I added a virtual device driver which sits on top of eth0 and eth1. 
> 2. This device calls the iptable functions by using the NF_HOOK mechanism for 
> all three hooks - PRE_ROUTING, FORWARD, POST_ROUTING. 
> 3. I have removed the NF_HOOK calls from places like ip_rcv, ip_forward and 
> ip_output, the functions that were being called through NF_HOOKS are being 
> called directly now. 
> 
> When I try to run packets through this setup, it works well till 1000 
> packets. In the experiment where I try to send 10,000 packets, I get a kernel 
> panic: 
> Unable to handle kernel paging request at virtual address 0000074a7b000000^M
> CPU 0 ksoftirqd/0(4): Oops 0^M
> pc = []  ra = []  ps = 0000    Tainted: G        W^M
> pc is at put_page+0x28/0x190^M
> ra is at skb_release_data+0xe8/0x120^M
> v0 = 0000000000000000  t0 = fffffc001da7e350  t1 = 0000000000006000^M
> t2 = 0000000000000001  t3 = 0000000000000068  t4 = 0008000400000000^M
> t5 = 0000000000000000  t6 = 0000000000000002  t7 = fffffc001f04c000^M
> s0 = 0000074a7b000000  s1 = fffffc001e40bbc0  s2 = 0000000000000069^M
> s3 = fffffc001f248000  s4 = 0000000000000068  s5 = fffffc001f37e680^M
> s6 = 0000000000000001^M
> a0 = 0000074a7b000000  a1 = 000000009da7e2d2  a2 = 0000000000000068^M
> a3 = 0000000000000001  a4 = fffffc001f2f6800  a5 = fffffc001da897c0^M
> t8 = 0000000000000000  t9 = 0000000000000000  t10= 0000000002000000^M
> t11= ffffffffffffffff  pv = fffffc000037ddc0  at = 0000000000000020^M
> gp = fffffc000086fc60  sp = fffffc001f04fc38^M
> Trace:^M
> [] skb_release_data+0xe8/0x120^M
> [] __kfree_skb+0x1c/0x120^M
> [] dev_kfree_skb_any+0x40/0x70^M
> [] e1000_unmap_and_free_tx_resource+0x30/0x80^M
> [] e1000_clean+0xec/0x720^M
> [] net_rx_action+0x1d8/0x2c0^M
> [] __do_softirq+0x13c/0x170^M
> [] do_softirq+0x74/0x80^M
> [] kthread+0x0/0xc0^M
> [] ksoftirqd+0xb0/0x170^M
> [] kthread+0x70/0xc0^M
> [] ksoftirqd+0x0/0x170^M
> [] kernel_thread+0x28/0x90^M
> 
> It is giving an error in put_page call in the skb_release_data function. 
> Could someone help me in this? I am not sure how to proceed to debug this.. 
> 
> Thanks,
> Pritha
> 
> _______________________________________________
> gem5-users mailing list gem5-users@gem5.org 
> http://m5sim.org/cgi-bin/mailman/listinfo/gem5-users 
> 
> 
> 
> _______________________________________________
> gem5-users mailing list
> gem5-users@gem5.org
> http://m5sim.org/cgi-bin/mailman/listinfo/gem5-users
> _______________________________________________
> gem5-users mailing list
> gem5-users@gem5.org
> http://m5sim.org/cgi-bin/mailman/listinfo/gem5-users
> 
_______________________________________________
gem5-users mailing list
gem5-users@gem5.org
http://m5sim.org/cgi-bin/mailman/listinfo/gem5-users

Reply via email to