From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([140.186.70.92]:60329) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1RIzPa-0004Mf-AS for qemu-devel@nongnu.org; Wed, 26 Oct 2011 05:04:39 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1RIzPV-0002b2-CK for qemu-devel@nongnu.org; Wed, 26 Oct 2011 05:04:34 -0400 Received: from goliath.siemens.de ([192.35.17.28]:25207) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1RIzPU-0002ab-Uj for qemu-devel@nongnu.org; Wed, 26 Oct 2011 05:04:33 -0400 Message-ID: <4EA7CD1B.2070106@siemens.com> Date: Wed, 26 Oct 2011 11:04:27 +0200 From: Jan Kiszka MIME-Version: 1.0 References: <20110811164621.32220.49907.malonedeb@chaenomeles.canonical.com> <4E719C36.8030903@web.de> <4E71D72F.1020401@web.de> <4E71E784.9010209@web.de> <4E71F873.5020700@web.de> <4E72015C.7070709@web.de> In-Reply-To: Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit Subject: Re: [Qemu-devel] [Bug 824650] [NEW] Latest GIT assert error in arp_table.c List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Roy Tam Cc: Bug 824650 <824650@bugs.launchpad.net>, qemu-devel@nongnu.org On 2011-10-26 10:03, Roy Tam wrote: > Hi, > > 2011/9/15 Jan Kiszka : >> On 2011-09-15 15:20, Roy Tam wrote: >>> 2011/9/15 Jan Kiszka : >>>> On 2011-09-15 14:05, Roy Tam wrote: >>>>> Here you go. >>>>> >>>>> sb16: warning: command 0xf,1 is not truly understood yet >>>>> sb16: warning: command 0xe,2 is not truly understood yet >>>>> [Switching to Thread 13840.0x3140] >>>>> >>>>> Breakpoint 1, arp_table_search (slirp=0x19f7380, ip_addr=4294967295, >>>>> out_ethaddr=0x20af64a "") at slirp/arp_table.c:75 >>>>> 75 // assert((ip_addr & htonl(~(0xf << 28))) != 0); >>>>> (gdb) c >>>>> Continuing. >>>>> [New Thread 13840.0x31b8] >>>>> [Switching to Thread 13840.0x3628] >>>>> >>>>> Breakpoint 1, arp_table_search (slirp=0x19f7380, ip_addr=0, >>>>> out_ethaddr=0x22f642 "\"") at slirp/arp_table.c:75 >>>>> 75 // assert((ip_addr & htonl(~(0xf << 28))) != 0); >>>>> (gdb) bt >>>>> #0 arp_table_search (slirp=0x19f7380, ip_addr=0, out_ethaddr=0x22f642 "\"") >>>>> at slirp/arp_table.c:75 >>>>> #1 0x004bafbd in if_encap (slirp=0x19f7488, ifm=0x2255978) >>>>> at slirp/slirp.c:709 >>>>> #2 0x004b8a73 in if_start (slirp=0x19f7380) at slirp/if.c:210 >>>>> #3 0x004b9c9e in ip_output (so=0x2255978, m0=0x0) at slirp/ip_output.c:84 >>>>> #4 0x004bf737 in tcp_output (tp=0x1cac848) at slirp/tcp_output.c:456 >>>>> #5 0x004c09ad in tcp_drop (tp=0x1cac848, err=0) at slirp/tcp_subr.c:225 >>>>> #6 0x004c1182 in tcp_timers (timer=, tp=) >>>>> at slirp/tcp_timer.c:287 >>>>> #7 tcp_slowtimo (slirp=0x0) at slirp/tcp_timer.c:88 >>>>> #8 0x004bb6f1 in slirp_select_poll (readfds=0x22fae0, writefds=0x22f9dc, >>>>> xfds=0x22f8d8, select_error=2291816) at slirp/slirp.c:433 >>>>> #9 0x0048fb87 in main_loop_wait (nonblocking=0) >>>>> at C:/msys/home/User/qemu/vl.c:1436 >>>>> #10 0x00490d10 in main_loop () at C:/msys/home/User/qemu/vl.c:1466 >>>>> #11 qemu_main (argc=0, argv=0x19f5100, envp=0x0) >>>>> at C:/msys/home/User/qemu/vl.c:3453 >>>>> #12 0x0049322d in SDL_main (argc=17, argv=0x19f5100) >>>>> at C:/msys/home/User/qemu/vl.c:102 >>>>> #13 0x005eb784 in console_main () >>>>> #14 0x005eb844 in WinMain@16 () >>>>> #15 0x005eb068 in main () >>>>> (gdb) frame 4 >>>>> #4 0x004bf737 in tcp_output (tp=0x1cac848) at slirp/tcp_output.c:456 >>>>> 456 error = ip_output(so, m); >>>>> (gdb) print *tp >>>>> $1 = {seg_next = 0x1cac848, seg_prev = 0x1cac848, t_state = 0, t_timer = {0, >>>>> 0, 0, 0}, t_rxtshift = 0, t_rxtcur = 12, t_dupacks = 0, t_maxseg = 1460, >>>>> t_force = 0 '\000', t_flags = 0, t_template = {ti_i = {ih_mbuf = { >>>>> mptr = 0x0, dummy = 0}, ih_x1 = 0 '\000', ih_pr = 0 '\000', >>>>> ih_len = 0, ih_src = {S_un = {S_un_b = {s_b1 = 0 '\000', >>>>> s_b2 = 0 '\000', s_b3 = 0 '\000', s_b4 = 0 '\000'}, S_un_w = { >>>>> s_w1 = 0, s_w2 = 0}, S_addr = 0}}, ih_dst = {S_un = {S_un_b = { >>>>> s_b1 = 0 '\000', s_b2 = 0 '\000', s_b3 = 0 '\000', >>>>> s_b4 = 0 '\000'}, S_un_w = {s_w1 = 0, s_w2 = 0}, S_addr = 0}}}, >>>> >>>> That confirms my theory: the template is not yet initialized. >>>> >>>> A shot from the hips: does this patch help? >>>> >>> >>> Yeah the assertion doesn't fail anymore. Thanks. >> >> Now I just need to invent some good "why this is correct"... ;) >> >> Thanks for testing, > > I just have time now to make some tests about -net user. > And I found that the User mode networking doesn't work anymore after > your slirp patch series. Can you be more verbose? What precisely does not work? Same setup as before (host, guest, command line, steps to reproduce)? I'm not facing problems here ATM. Thanks, Jan -- Siemens AG, Corporate Technology, CT T DE IT 1 Corporate Competence Center Embedded Linux