kgio RubyGem user+dev discussion/patches/pulls/bugs/help
 help / color / mirror / code / Atom feed
From: Hleb Valoshka <375gnu@gmail.com>
To: kgio@librelist.org
Subject: Re: Concurrency issue in TestKgioUnixConnect?
Date: Thu, 5 Sep 2013 23:53:03 +0300	[thread overview]
Message-ID: <CAAB-Kck2ED1-hbfKvkug2R+H+HhyBAvQhZq6qF3LRCeVwi9dnQ@mail.gmail.com> (raw)
In-Reply-To: CAAB-Kcmd8nndbLhrjE12YtWfaJEbKh-_8w7G_E0qgQROBvT-=Q@mail.gmail.com

On 9/3/13, Hleb Valoshka <375gnu@gmail.com> wrote:
> I was able to reproduce it only one or two times in virtualized
> GNU/kFreeBSD.

Problem is more interesting. I decided to check your latest changes
for test_poll.rb under kfreebsd-i386 and i'd got failure in
test_unix_connect.rb with teardown of test_unix_socket_new_invalid:

  1) Error:
test_unix_socket_new_invalid(TestKgioUnixConnect):
Errno::ENOENT: No such file or directory -
/tmp/kgio_unix_120130906-13330-m89438/kgio_unix_120130906-13330-ch4t73
    test/test_unix_connect.rb:33:in `unlink'
    test/test_unix_connect.rb:33:in `teardown'

The same failure as on ia64, mipsel and x32 Jeremy pointed in the
first message. And it definitely not a race condition because for the
next time i run it as make test/test_unix_connect.rb

So I decided to add some debug output:


  def setup
...
puts "\n\nsetup"
system 'ls -lR /tmp/kgio*'
  end

  def teardown
puts "\nteardown"
system 'ls -lR /tmp/kgio*'
...
end

  def test_unix_socket_new_invalid
puts "\ntest in"
system 'ls -lR /tmp/kgio*'
    assert_raises(ArgumentError) { Kgio::UNIXSocket.new('*' * 1024 * 1024) }
puts "\ntest out"
system 'ls -lR /tmp/kgio*'
  end

And voila:

# Running tests:
...
setup
/tmp/kgio_unix_120130906-13330-m89438:
total 0
srwxr-xr-x 1 root root 0 Sep  6 01:23 kgio_unix_120130906-13330-ch4t73

test in
/tmp/kgio_unix_120130906-13330-m89438:
total 0
srwxr-xr-x 1 root root 0 Sep  6 01:23 kgio_unix_120130906-13330-ch4t73

test out
/tmp/kgio_unix_120130906-13330-m89438:
total 0

teardown
/tmp/kgio_unix_120130906-13330-m89438:
total 0
E
...

The socket has disappeared somewhere. Interesting, isn't it? The more
interesting that kfreebsd on amd64 doesn't have this issue. Both are
up-to-date Debian Sid.

Any ideas?

> I think the problem is caused by parallel tests invocation in ruby 1.9

It seems that I was wrong: it's possible to invoke tests in parallel,
and there is an explicit option for this `--jobs'. But it doesn't
mean, that tests are invoked in parallel by default.


  parent reply	other threads:[~2013-09-05 20:53 UTC|newest]

Thread overview: 13+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-09-01 14:03 Concurrency issue in TestKgioUnixConnect? Jérémy Bobbio
2013-09-01 16:57 ` Hleb Valoshka
2013-09-01 19:58   ` Eric Wong
2013-09-02 12:57     ` Hleb Valoshka
2013-09-02 21:24       ` Eric Wong
2013-09-03  8:50         ` Hleb Valoshka
2013-09-03 20:05           ` Eric Wong
2013-09-05 20:53           ` Hleb Valoshka [this message]
2013-09-05 23:11             ` Eric Wong
2013-09-06  8:56               ` Hleb Valoshka
2013-09-05  7:58       ` Hleb Valoshka
2013-09-05  8:14         ` Eric Wong
2013-09-05 12:35           ` Hleb Valoshka

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://yhbt.net/kgio/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=CAAB-Kck2ED1-hbfKvkug2R+H+HhyBAvQhZq6qF3LRCeVwi9dnQ@mail.gmail.com \
    --to=375gnu@gmail.com \
    --cc=kgio@librelist.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this public inbox

	https://yhbt.net/kgio.git/

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).