I'm not sure how java interacts with auto type casting (i'm from C
world), and i found, that java don't support unsigned int, so i did
like this:

     int bytesToRead=buffer.length;
     if(((int)unread)>0)
     {
            bytesToRead = Math.min((int) unread, buffer.length);
     }
     
Yes, this helped me, though i don't understand why others haven't
experienced such problem.

>> I think i found the problem:
>> At MapOutputFile.java:123
>> bytesToRead = Math.min((int) unread, buffer.length);
>> 
>> if unread is greater then 2^31, bytesToRead will be negative.

DC> So the fix is to change this to:

DC> bytesToRead = (int)Math.min(unread, buffer.length);

DC> Right?  Does this fix things for you?  If so, I'll commit it.

DC> Thanks,

DC> Doug



Michael

Reply via email to