From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([140.186.70.92]:56922) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1R4Bep-0006HE-Lc for qemu-devel@nongnu.org; Thu, 15 Sep 2011 09:07:15 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1R4Bek-0001f7-GG for qemu-devel@nongnu.org; Thu, 15 Sep 2011 09:07:11 -0400 Received: from fmmailgate01.web.de ([217.72.192.221]:58205) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1R4Bek-0001et-44 for qemu-devel@nongnu.org; Thu, 15 Sep 2011 09:07:06 -0400 Message-ID: <4E71F873.5020700@web.de> Date: Thu, 15 Sep 2011 15:06:59 +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> In-Reply-To: Content-Type: multipart/signed; micalg=pgp-sha1; protocol="application/pgp-signature"; boundary="------------enig1CD145FE592E4610C35B0665" Sender: jan.kiszka@web.de 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 This is an OpenPGP/MIME signed message (RFC 2440 and 3156) --------------enig1CD145FE592E4610C35B0665 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable On 2011-09-15 14:05, Roy Tam wrote: > Here you go. >=20 > 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] >=20 > Breakpoint 1, arp_table_search (slirp=3D0x19f7380, ip_addr=3D4294967295= , > out_ethaddr=3D0x20af64a "") at slirp/arp_table.c:75 > 75 // assert((ip_addr & htonl(~(0xf << 28))) !=3D 0); > (gdb) c > Continuing. > [New Thread 13840.0x31b8] > [Switching to Thread 13840.0x3628] >=20 > Breakpoint 1, arp_table_search (slirp=3D0x19f7380, ip_addr=3D0, > out_ethaddr=3D0x22f642 "\"") at slirp/arp_table.c:75 > 75 // assert((ip_addr & htonl(~(0xf << 28))) !=3D 0); > (gdb) bt > #0 arp_table_search (slirp=3D0x19f7380, ip_addr=3D0, out_ethaddr=3D0x2= 2f642 "\"") > at slirp/arp_table.c:75 > #1 0x004bafbd in if_encap (slirp=3D0x19f7488, ifm=3D0x2255978) > at slirp/slirp.c:709 > #2 0x004b8a73 in if_start (slirp=3D0x19f7380) at slirp/if.c:210 > #3 0x004b9c9e in ip_output (so=3D0x2255978, m0=3D0x0) at slirp/ip_outp= ut.c:84 > #4 0x004bf737 in tcp_output (tp=3D0x1cac848) at slirp/tcp_output.c:456= > #5 0x004c09ad in tcp_drop (tp=3D0x1cac848, err=3D0) at slirp/tcp_subr.= c:225 > #6 0x004c1182 in tcp_timers (timer=3D, tp=3D) > at slirp/tcp_timer.c:287 > #7 tcp_slowtimo (slirp=3D0x0) at slirp/tcp_timer.c:88 > #8 0x004bb6f1 in slirp_select_poll (readfds=3D0x22fae0, writefds=3D0x2= 2f9dc, > xfds=3D0x22f8d8, select_error=3D2291816) at slirp/slirp.c:433 > #9 0x0048fb87 in main_loop_wait (nonblocking=3D0) > 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=3D0, argv=3D0x19f5100, envp=3D0x0) > at C:/msys/home/User/qemu/vl.c:3453 > #12 0x0049322d in SDL_main (argc=3D17, argv=3D0x19f5100) > 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=3D0x1cac848) at slirp/tcp_output.c:456= > 456 error =3D ip_output(so, m); > (gdb) print *tp > $1 =3D {seg_next =3D 0x1cac848, seg_prev =3D 0x1cac848, t_state =3D 0, = t_timer =3D {0, > 0, 0, 0}, t_rxtshift =3D 0, t_rxtcur =3D 12, t_dupacks =3D 0, t_max= seg =3D 1460, > t_force =3D 0 '\000', t_flags =3D 0, t_template =3D {ti_i =3D {ih_mbu= f =3D { > mptr =3D 0x0, dummy =3D 0}, ih_x1 =3D 0 '\000', ih_pr =3D 0 '\0= 00', > ih_len =3D 0, ih_src =3D {S_un =3D {S_un_b =3D {s_b1 =3D 0 '\000'= , > s_b2 =3D 0 '\000', s_b3 =3D 0 '\000', s_b4 =3D 0 '\000'}, S= _un_w =3D { > s_w1 =3D 0, s_w2 =3D 0}, S_addr =3D 0}}, ih_dst =3D {S_un =3D= {S_un_b =3D { > s_b1 =3D 0 '\000', s_b2 =3D 0 '\000', s_b3 =3D 0 '\000', > s_b4 =3D 0 '\000'}, S_un_w =3D {s_w1 =3D 0, s_w2 =3D 0}, S_= addr =3D 0}}}, That confirms my theory: the template is not yet initialized. A shot from the hips: does this patch help? diff --git a/slirp/tcp_input.c b/slirp/tcp_input.c index c1214c0..5a79c68 100644 --- a/slirp/tcp_input.c +++ b/slirp/tcp_input.c @@ -610,6 +610,7 @@ findso: so->so_ti =3D ti; tp->t_timer[TCPT_KEEP] =3D TCPTV_KEEP_INIT; tp->t_state =3D TCPS_SYN_RECEIVED; + tcp_template(tp); } return; Jan --------------enig1CD145FE592E4610C35B0665 Content-Type: application/pgp-signature; name="signature.asc" Content-Description: OpenPGP digital signature Content-Disposition: attachment; filename="signature.asc" -----BEGIN PGP SIGNATURE----- Version: GnuPG v2.0.16 (GNU/Linux) Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/ iEYEARECAAYFAk5x+HYACgkQitSsb3rl5xTiFgCgud8fHk+w8AWKgG0aRkHnkt8M Dq0AoOgIhhzxu1NhTyweFUBetUBnM2J2 =o1Cd -----END PGP SIGNATURE----- --------------enig1CD145FE592E4610C35B0665--