From owner-freebsd-java@FreeBSD.ORG Tue Feb 2 01:13:58 2010 Return-Path: Delivered-To: freebsd-java@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 39AE81065676 for ; Tue, 2 Feb 2010 01:13:58 +0000 (UTC) (envelope-from jlin@maxiscale.com) Received: from server505.appriver.com (server505c.appriver.com [98.129.35.7]) by mx1.freebsd.org (Postfix) with ESMTP id F24F28FC19 for ; Tue, 2 Feb 2010 01:13:57 +0000 (UTC) X-Policy: GLOBAL - maxiscale.com X-Policy: GLOBAL - maxiscale.com X-Primary: jlin@maxiscale.com X-Note: This Email was scanned by AppRiver SecureTide X-ALLOW: jlin@maxiscale.com ALLOWED X-Virus-Scan: V- X-Note: Spam Tests Failed: X-Country-Path: UNITED STATES->UNITED STATES->UNITED STATES X-Note-Sending-IP: 98.129.23.14 X-Note-Reverse-DNS: ht01.exg5.exghost.com X-Note-WHTLIST: jlin@maxiscale.com X-Note: User Rule Hits: X-Note: Global Rule Hits: G169 G170 G171 G172 G176 G177 G188 G275 X-Note: Encrypt Rule Hits: X-Note: Mail Class: ALLOWEDSENDER X-Note: Headers Injected Received: from [98.129.23.14] (HELO ht01.exg5.exghost.com) by server505.appriver.com (CommuniGate Pro SMTP 5.2.14) with ESMTPS id 25688279; Mon, 01 Feb 2010 19:13:50 -0600 Received: from MBX01.exg5.exghost.com ([169.254.1.90]) by ht01.exg5.exghost.com ([98.129.23.14]) with mapi; Mon, 1 Feb 2010 19:13:56 -0600 From: Joe Lin To: "freebsd-java@freebsd.org" Date: Mon, 1 Feb 2010 19:13:56 -0600 Thread-Topic: DatagramCahnnel scatter/gather problem on diablo 1.6.0_07-b02 Thread-Index: AcqjpB8q8Wczp9IMSbGmLiMOxs7sHgAAJ4Lw Message-ID: <8B6860326495B2438DCBEA74AA981C7A78B224DE@MBX01.exg5.exghost.com> References: <8B6860326495B2438DCBEA74AA981C7A78B220E0@MBX01.exg5.exghost.com> <201002011207.57163.pieter@degoeje.nl> <8B6860326495B2438DCBEA74AA981C7A78B22476@MBX01.exg5.exghost.com> <201002020207.30685.pieter@degoeje.nl> In-Reply-To: <201002020207.30685.pieter@degoeje.nl> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: acceptlanguage: en-US Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 Cc: Pieter de Goeje Subject: RE: DatagramCahnnel scatter/gather problem on diablo 1.6.0_07-b02 X-BeenThere: freebsd-java@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Porting Java to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 02 Feb 2010 01:13:58 -0000 I think that is the problem. As I looked at the code in DatagramDispatcher.= c:writev0(), these fields only got zeroed out in solaris or linux: m.msg_name =3D NULL; m.msg_namelen =3D 0; m.msg_iov =3D iov; m.msg_iovlen =3D len; #ifdef __solaris__ m.msg_accrights =3D NULL; m.msg_accrightslen =3D 0; #endif #ifdef __linux__ m.msg_control =3D NULL; m.msg_controllen =3D 0; #endif -----Original Message----- From: Pieter de Goeje [mailto:pieter@degoeje.nl]=20 Sent: Monday, February 01, 2010 5:08 PM To: freebsd-java@freebsd.org Cc: Joe Lin Subject: Re: DatagramCahnnel scatter/gather problem on diablo 1.6.0_07-b02 On Monday 01 February 2010 23:42:27 Joe Lin wrote: > Did a struss and the error happened with sendmsg call: > > sendmsg(0x4,0x7fffffbfe580,0x0,0x1,0x2,0x830c17de8) ERR#22 'Invalid > argument' The struss output is broken because sendmsg only takes 3 arguments. It seem= s=20 that java passes bogus data in msg_flags and possibly msg_control and=20 msg_controllen fields of struct msghdr: (gdb) p *m $4 =3D {msg_name =3D 0x0, msg_namelen =3D 0, msg_iov =3D 0x5dee4e00, msg_io= vlen =3D 2,=20 msg_control =3D 0x29012e74, msg_controllen =3D 10480328, msg_flags =3D 7407= 77920} > > -----Original Message----- > From: Pieter de Goeje [mailto:pieter@degoeje.nl] > Sent: Monday, February 01, 2010 3:08 AM > To: freebsd-java@freebsd.org > Cc: Joe Lin > Subject: Re: DatagramCahnnel scatter/gather problem on diablo 1.6.0_07-b0= 2 > > On Monday 01 February 2010 02:08:55 Joe Lin wrote: > > Thanks for the reply. I looked at JDK source code and it appears that t= he > > JNI call should be in > > > > J2se/src/solaris/native/sun/nio/ch/DatagramDispatcher.c:write0(): > > > > > > There's only linux and solaris #ifdef but not for BSD. I wonder how/wha= t > > BSD is calling. Since I'm getting a "IOException:Invalid argument" so I > > guess this should correspond to a EINVAL. And a sendmsg() in FreeBSD do= es > > not return an EINVAL. So the Diablo port must be calling a writev(). Bu= t > > I could not locate the source code. Wish I can find out what went wrong > > with dialblo VM. > > You could use ktrace/kdump to find out what it (not?) calls and why it > dies. > > - Pieter > > No virus found in this incoming message. > Checked by AVG - www.avg.com > Version: 9.0.733 / Virus Database: 271.1.1/2649 - Release Date: 01/30/10 > 22:39:00 _______________________________________________ > freebsd-java@freebsd.org mailing list > http://lists.freebsd.org/mailman/listinfo/freebsd-java > To unsubscribe, send any mail to "freebsd-java-unsubscribe@freebsd.org" --=20 Pieter de Goeje No virus found in this incoming message. Checked by AVG - www.avg.com=20 Version: 9.0.733 / Virus Database: 271.1.1/2649 - Release Date: 01/31/10 23= :35:00