[Shards-general] [PATCH 0/3] implement IO.writev method
Daniel Berger
djberg96 at gmail.com
Mon Mar 15 15:27:00 EDT 2010
On Mon, Mar 15, 2010 at 11:36 AM, Eric Wong <normalperson at yhbt.net> wrote:
> Daniel Berger <djberg96 at gmail.com> wrote:
>> On Sun, Mar 14, 2010 at 11:46 PM, Eric Wong <normalperson at yhbt.net> wrote:
>> > Daniel Berger <djberg96 at gmail.com> wrote:
>> >> Hm, Solaris 10 is still not happy about something:
>> >>
>> >> 3) Failure:
>> >> test_writev_retry(TC_IO_Extra)
>> >> [./test/test_io_extra.rb:146:in `test_writev_retry'
>> >> ./test/test_io_extra.rb:124:in `each'
>> >> ./test/test_io_extra.rb:124:in `test_writev_retry'
>> >> ./test/test_io_extra.rb:123:in `each'
>> >> ./test/test_io_extra.rb:123:in `test_writev_retry']:
>> >> <393219> expected but was
>> >> <3120>.
>> >
>> > Can I get a truss dump of that test? I don't have access to any
>> > Solaris machines right now. Solaris could be hitting the weird retry
>> > path that never got hit under the other systems...
>>
>> I ran "truss -o truss_output ruby -Iext test/test_io_extra.rb.
>> Attached is the output. Please let me know if you want it run
>> differently.
>
> Thanks Daniel,
>
> I've tried various ways of making nogvl_writev() return short writes by
> modifying the arguments passed to writev() and everything still appears
> to retry and work fine on my Linux box.
>
> I'll come back to it later and maybe notice something else I missed.
> Let me know if you can take a look at fixing it, too, since I can't
> reproduce this Solaris issue on Linux nor FreeBSD right now.
Alright, I'll take a look at it this week. I think one thing I'd like
to do first is split blocking and nonblocking into separate tests.
If you're feeling up to it you could always snag an OpenSolaris image
and install that in a VM somewhere. I'm using Solaris 10, but they
_should_ be the same for our purposes I would think.
Regards,
Dan
More information about the shards-general
mailing list