harmony-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Geir Magnusson Jr <g...@pobox.com>
Subject Re: svn commit: r416477 - in /incubator/harmony/enhanced/classlib/trunk/modules/luni: ./ src/main/java/java/net/ src/test/java/tests/api/java/net/
Date Sat, 24 Jun 2006 19:53:13 GMT
Well, it appears that this is legit.  It's lighting the truncation flag.

So to be safe, I'm going to write this to check first, and either read
or re-alloc the buffer to get in one read()

Once I know that works reliably (by turning down the buffer size), I'll
bring it up to 2k so that it's there as a safety, but doesn't fire on
the platforms we've been working with.

geir

Geir Magnusson Jr wrote:
> Time to further reveal my ignorance for all to see... hopefully some
> good will come out of this.
> 
> Netlink uses datagrams, and while I thought I understood them, it
> appears I really don't.
> 
> I thought that datagrams were only unreliable over the network - once
> the OS made the bytes available on a recv*() call, they were secure.
> 
> So I can do the following sequence w/ a 2k buffer :
> 
>   recvfrom(s, buf, 2048, MSG_PEEK)
> 
> and get 1132 bytes back but since I used MSG_PEEK, the data is left to
> read again.  Then a real read w/ a buffer smaller than available data
> 
>   recvfrom(s, buf, 1024, 0)
> 
> and get 1024 bytes read.  Since that was my buffer size, and I know that
> there were 1132 bytes there, I expect that I can do another
> recvfrom(MSG_PEEK) and get 1132-1024 = 108 bytes.  I try that :
> 
>   recvfrom(s, buf, 2048, MSG_PEEK)
> 
> and get 20 bytes back, not 108 as (1132-1024 should result in..)
> 
> Why?  I know I'm rusty, but I used to do a lot of network programming,
> and thought I groked this.
> 
> Any ideas?
> 
> geir
> 
> Geir Magnusson Jr wrote:
>> I seem to have found a doozy :)
>>
>> In hysock.c / getNextNetlinkMsg() there's an assumption that anything
>> the kernel will ever send in a netlink request is less than 1k, so when
>> processing the receive buffer, if there still is data in the buffer and
>> it's not a complete message, it's considered an error.
>>
>> This is clearly wrong, and provable by simply doubling the buffer size.
>> This is suboptimal, of course, because there is no guarantee that 2k
>> will be enough one all systems either.
>>
>> I'm going to stare at this and attempt to rewrite it this weekend if I
>> find some time.
>>
>> Man, this would be easier w/ a debugger :)
>>
>> geir
>>
>>
>> George Harley wrote:
>>> Geir Magnusson Jr wrote:
>>>> I'm having 9 failures in and around this on ubuntu 6.  I haven't looked
>>>> to confirm this is the issue, but either way, yes, the tests should be
>>>> accommodating.
>>>>
>>>> geir
>>>>
>>>>   
>>> Hi Geir,
>>>
>>> I believe that I have fixed up the tests for Debian (and maybe RHEL).
>>> I'm happy to try and tackle any remaining issues but as I don't have
>>> access to an Ubuntu machine I would be really grateful if you could
>>> email details of the problems you are seeing.
>>>
>>> Thanks in advance,
>>> George
>>>
>>>
>>>
>>>> Mark Hindess wrote:
>>>>  
>>>>> Tests failed for me (and the linux build machine) with:
>>>>>
>>>>>   Incorrect host name returned: localhost.localdomain != localhost
>>>>>
>>>>>   junit.framework.AssertionFailedError: Incorrect host name returned:
>>>>> localhost.localdomain != localhost
>>>>>   at
>>>>> tests.api.java.net.InetAddressTest.test_getHostName(InetAddressTest.java:238)
>>>>>
>>>>>
>>>>> Because the standard Debian installation defines 127.0.0.1 to be
>>>>> localhost.localdomain.  I think the tests need to be more accommodating
>>>>> people aren't going to want to have to mess about with these system
>>>>> configurations.
>>>>>
>>>>> -Mark.
>>>>>
>>>>>
>>>>> On 23 June 2006 at 13:14, "Andrew Zhang" <zhanghuangzhu@gmail.com>
>>>>> wrote:
>>>>>    
>>>>>> ------=_Part_22520_3761084.1151039694395
>>>>>> Content-Type: text/plain; charset=ISO-8859-1; format=flowed
>>>>>> Content-Transfer-Encoding: 7bit
>>>>>> Content-Disposition: inline
>>>>>>
>>>>>> Hi Stepan,
>>>>>>
>>>>>> Maybe it needs configure /etc/hosts ? I'm not sure.
>>>>>>
>>>>>> I configured the host file on windows, the test passes. :)
>>>>>>
>>>>>> Thanks!
>>>>>>
>>>>>>
>>>>>> On 6/23/06, Stepan Mishura <stepan.mishura@gmail.com> wrote:
>>>>>>      
>>>>>>> Hi George,
>>>>>>>
>>>>>>> InetAddressTest and SocketPermissionTest still fails for me on
Linux.
>>>>>>> For example, InetAddressTest.test_getAllByNameLjava_lang_String
failed
>>>>>>> with:
>>>>>>>
>>>>>>> Incorrect number of aliases returned: 2 should be 1
>>>>>>> junit.framework.AssertionFailedError: Incorrect number of aliases
>>>>>>> returned:
>>>>>>> 2 should be 1 at
>>>>>>> tests.api.java.net.InetAddressTest.test_getAllByNameLjava_lang_String
>>>>>>> (
>>>>>>> InetAddressTest.java:165) at
>>>>>>> java.lang.reflect.AccessibleObject.invokeV(
>>>>>>> AccessibleObject.java:205)
>>>>>>>
>>>>>>> Thanks,
>>>>>>> Stepan.
>>>>>>>
>>>>>>> -----Original Message-----
>>>>>>> From: gharley@apache.org [mailto:gharley@apache.org]
>>>>>>> Sent: Friday, June 23, 2006 4:36 AM
>>>>>>> To: harmony-commits@incubator.apache.org
>>>>>>> Subject: svn commit: r416477 - in
>>>>>>> /incubator/harmony/enhanced/classlib/trunk/modules/luni: ./
>>>>>>> src/main/java/java/net/ src/test/java/tests/api/java/net/
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> Author: gharley
>>>>>>>
>>>>>>> Date: Thu Jun 22 14:36:24 2006
>>>>>>>
>>>>>>> New Revision: 416477
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> URL: http://svn.apache.org/viewvc?rev=416477&view=rev
>>>>>>>
>>>>>>> Log:
>>>>>>>
>>>>>>> Liberate ServerSocketTest, InetAddressTest and SocketPermissionTest
>>>>>>> from
>>>>>>> the
>>>>>>> excludes list. Fix up a couple of bugs in InetAddressTest. Remove
a
>>>>>>> couple
>>>>>>> of duplicate entries in tests.api.java.net.AllTests suite.
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> Modified:
>>>>>>>
>>>>>>>    incubator/harmony/enhanced/classlib/trunk/modules/luni/build.xml
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> incubator/harmony/enhanced/classlib/trunk/modules/luni/src/main/java/java/n
>>>>>>>
>>>>>>>         
>>>>>> et/ServerSocket.java
>>>>>>      
>>>>>>> incubator/harmony/enhanced/classlib/trunk/modules/luni/src/test/java/tests/
>>>>>>>
>>>>>>>         
>>>>>> api/java/net/AllTests.java
>>>>>>      
>>>>>>> incubator/harmony/enhanced/classlib/trunk/modules/luni/src/test/java/tests/
>>>>>>>
>>>>>>>         
>>>>>> api/java/net/InetAddressTest.java
>>>>>>      
>>>>>>> incubator/harmony/enhanced/classlib/trunk/modules/luni/src/test/java/tests/
>>>>>>>
>>>>>>>         
>>>>>> api/java/net/ServerSocketTest.java
>>>>>>      
>>>>>>> Modified:
>>>>>>> incubator/harmony/enhanced/classlib/trunk/modules/luni/build.xml
>>>>>>>
>>>>>>> URL:
>>>>>>>
>>>>>>> http://svn.apache.org/viewvc/incubator/harmony/enhanced/classlib/trunk/modu
>>>>>>>
>>>>>>>         
>>>>>> les/luni/build.xml?rev=416477&r1=416476&r2=416477&view=diff
>>>>>>      
>>>>>>> ===========================================================================
>>>>>>>
>>>>>>>         
>>>>>> ===
>>>>>>      
>>>>>>> <SNIP>
>>>>>>>
>>>>>>> -- 
>>>>>>> Thanks,
>>>>>>> Stepan Mishura
>>>>>>> Intel Middleware Products Division
>>>>>>>
>>>>>>> ------------------------------------------------------
>>>>>>> Terms of use : http://incubator.apache.org/harmony/mailing.html
>>>>>>> To unsubscribe, e-mail: harmony-dev-unsubscribe@incubator.apache.org
>>>>>>> For additional commands, e-mail: harmony-dev-help@incubator.apache.org
>>>>>>>
>>>>>>>
>>>>>>>         
>>>>>> -- 
>>>>>> Andrew Zhang
>>>>>> China Software Development Lab, IBM
>>>>>>
>>>>>> ------=_Part_22520_3761084.1151039694395--
>>>>>>       
>>>>> ---------------------------------------------------------------------
>>>>> Terms of use : http://incubator.apache.org/harmony/mailing.html
>>>>> To unsubscribe, e-mail: harmony-dev-unsubscribe@incubator.apache.org
>>>>> For additional commands, e-mail: harmony-dev-help@incubator.apache.org
>>>>>
>>>>>
>>>>>
>>>>>     
>>>> ---------------------------------------------------------------------
>>>> Terms of use : http://incubator.apache.org/harmony/mailing.html
>>>> To unsubscribe, e-mail: harmony-dev-unsubscribe@incubator.apache.org
>>>> For additional commands, e-mail: harmony-dev-help@incubator.apache.org
>>>>
>>>>
>>>>   
>>> ---------------------------------------------------------------------
>>> Terms of use : http://incubator.apache.org/harmony/mailing.html
>>> To unsubscribe, e-mail: harmony-dev-unsubscribe@incubator.apache.org
>>> For additional commands, e-mail: harmony-dev-help@incubator.apache.org
>>>
>>>
>>>
>> ---------------------------------------------------------------------
>> Terms of use : http://incubator.apache.org/harmony/mailing.html
>> To unsubscribe, e-mail: harmony-dev-unsubscribe@incubator.apache.org
>> For additional commands, e-mail: harmony-dev-help@incubator.apache.org
>>
>>
>>
> 
> ---------------------------------------------------------------------
> Terms of use : http://incubator.apache.org/harmony/mailing.html
> To unsubscribe, e-mail: harmony-dev-unsubscribe@incubator.apache.org
> For additional commands, e-mail: harmony-dev-help@incubator.apache.org
> 
> 
> 

---------------------------------------------------------------------
Terms of use : http://incubator.apache.org/harmony/mailing.html
To unsubscribe, e-mail: harmony-dev-unsubscribe@incubator.apache.org
For additional commands, e-mail: harmony-dev-help@incubator.apache.org


Mime
View raw message