* There's no TCP_NOPUSH in Solaris 10
@ 2012-03-18 12:45 Edho Arief
2012-03-19 9:29 ` Eric Wong
2012-03-19 9:31 ` Eric Wong
0 siblings, 2 replies; 13+ messages in thread
From: Edho Arief @ 2012-03-18 12:45 UTC (permalink / raw)
To: kgio
The definition of kgio_autopush_read and kgio_autopush_write (in
read_write.c) never happened in Solaris 10: it's not linux and there's
no TCP_NOPUSH anywhere in its system header. It caused error when
running unicorn (and of course the test):
ld.so.1: ruby: fatal: relocation error: file
/home/edho/app/ruby19/lib/ruby/gems/1.9.1/gems/kgio-2.7.3/lib/kgio_ext.so:
symbol kgio_autopush_read: referenced symbol not found
ld.so.1: ruby: fatal: relocation error: file
/home/edho/app/ruby19/lib/ruby/gems/1.9.1/gems/kgio-2.7.3/lib/kgio_ext.so:
symbol kgio_autopush_write: referenced symbol not found
Forcing definition of them enables unicorn to work (at least seems to
be working) but fails test (tried both Linux and BSD version):
1) Failure:
test_wait_writable_ruby_default(TestUnixServerReadClientWrite)
[/home/edho/git/kgio/test/lib_read_write.rb:289]:
Exception raised:
<Interrupt>.
(it took long time so I stopped it)
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: There's no TCP_NOPUSH in Solaris 10
2012-03-18 12:45 There's no TCP_NOPUSH in Solaris 10 Edho Arief
@ 2012-03-19 9:29 ` Eric Wong
2012-03-19 9:31 ` Eric Wong
1 sibling, 0 replies; 13+ messages in thread
From: Eric Wong @ 2012-03-19 9:29 UTC (permalink / raw)
To: kgio
Edho Arief <edho@myconan.net> wrote:
> The definition of kgio_autopush_read and kgio_autopush_write (in
> read_write.c) never happened in Solaris 10: it's not linux and there's
> no TCP_NOPUSH anywhere in its system header. It caused error when
> running unicorn (and of course the test):
I don't care for non-Free platforms, but maybe some of the other BSDs
got broken, too, so I pushed out this fix to "master" on
git://bogomips.org/kgio.git
>From 85ae255f73b9b81ae3d17e6420dbb95a29dbe8b7 Mon Sep 17 00:00:00 2001
From: Eric Wong <normalperson@yhbt.net>
Date: Mon, 19 Mar 2012 05:53:03 +0000
Subject: [PATCH] fix for non-Linux, non-TCP_NOPUSH platforms
We don't need to care for TCP_NOPUSH in read_write.c, it's
entirely in autopush.c and no-op on platforms without
TCP_CORK/TCP_NOPUSH. TCP_CORK/TCP_NOPUSH are non-POSIX, so
it's entirely possible some Free systems will lack them.
Reported-by: Edho Arief <edho@myconan.net>
---
ext/kgio/read_write.c | 3 ---
1 file changed, 3 deletions(-)
diff --git a/ext/kgio/read_write.c b/ext/kgio/read_write.c
index 9c2440e..51d2d16 100644
--- a/ext/kgio/read_write.c
+++ b/ext/kgio/read_write.c
@@ -20,11 +20,8 @@ static inline void kgio_autopush_write(VALUE io) { }
#else
static const int peek_flags = MSG_PEEK;
-# include <netinet/tcp.h>
-# if defined(TCP_NOPUSH)
static inline void kgio_autopush_read(VALUE io) { kgio_autopush_recv(io); }
static inline void kgio_autopush_write(VALUE io) { kgio_autopush_send(io); }
-# endif
#endif
NORETURN(static void raise_empty_bt(VALUE, const char *));
^ permalink raw reply related [flat|nested] 13+ messages in thread
* Re: There's no TCP_NOPUSH in Solaris 10
2012-03-18 12:45 There's no TCP_NOPUSH in Solaris 10 Edho Arief
2012-03-19 9:29 ` Eric Wong
@ 2012-03-19 9:31 ` Eric Wong
2012-03-19 9:35 ` Edho Arief
1 sibling, 1 reply; 13+ messages in thread
From: Eric Wong @ 2012-03-19 9:31 UTC (permalink / raw)
To: kgio
Edho Arief <edho@myconan.net> wrote:
> Forcing definition of them enables unicorn to work (at least seems to
> be working) but fails test (tried both Linux and BSD version):
Wait, this fails on Linux and *BSD, too? Which Ruby version and exactly
which OSes did you use?
> 1) Failure:
> test_wait_writable_ruby_default(TestUnixServerReadClientWrite)
> [/home/edho/git/kgio/test/lib_read_write.rb:289]:
> Exception raised:
> <Interrupt>.
>
> (it took long time so I stopped it)
I've removed my idiotic assert_nothing_raised usage in all tests to make
it easier to track down. Also pushed to bogomips.org/kgio.git
>From 74b9f78e11b915439555290dc3bdd4331303561c Mon Sep 17 00:00:00 2001
From: Eric Wong <normalperson@yhbt.net>
Date: Mon, 19 Mar 2012 06:05:06 +0000
Subject: [PATCH] test/*: remove assert_nothing_raised
It makes test failures hard to track down, tests will
already fail if exceptions are thrown and we'll get
nice backtraces.
---
test/lib_read_write.rb | 19 +++++++------------
test/test_accept_class.rb | 10 +++++-----
test/test_autopush.rb | 22 +++++++++-------------
test/test_connect_fd_leak.rb | 10 ++++------
test/test_poll.rb | 4 +---
test/test_singleton_read_write.rb | 2 +-
test/test_tryopen.rb | 2 +-
7 files changed, 28 insertions(+), 41 deletions(-)
diff --git a/test/lib_read_write.rb b/test/lib_read_write.rb
index d7f50c2..dfcba20 100644
--- a/test/lib_read_write.rb
+++ b/test/lib_read_write.rb
@@ -9,10 +9,8 @@ module LibReadWriteTest
RANDOM_BLOB = File.open("/dev/urandom") { |fp| fp.read(10 * 1024 * 1024) }
def teardown
- assert_nothing_raised do
- @rd.close if defined?(@rd) && ! @rd.closed?
- @wr.close if defined?(@wr) && ! @wr.closed?
- end
+ @rd.close if defined?(@rd) && ! @rd.closed?
+ @wr.close if defined?(@wr) && ! @wr.closed?
end
def test_write_empty
@@ -264,10 +262,8 @@ module LibReadWriteTest
foo = nil
t0 = Time.now
thr = Thread.new { sleep 1; @wr.write "HELLO" }
- assert_nothing_raised do
- foo = @rd.kgio_read(5)
- elapsed = Time.now - t0
- end
+ foo = @rd.kgio_read(5)
+ elapsed = Time.now - t0
assert elapsed >= 1.0, "elapsed: #{elapsed}"
assert_equal "HELLO", foo
thr.join
@@ -286,10 +282,9 @@ module LibReadWriteTest
foo = nil
t0 = Time.now
thr = Thread.new { sleep 1; @rd.readpartial(nr) }
- assert_nothing_raised do
- foo = @wr.kgio_write("HELLO")
- elapsed = Time.now - t0
- end
+ foo = @wr.kgio_write("HELLO")
+ elapsed = Time.now - t0
+
assert_nil foo
if @wr.stat.pipe?
assert elapsed >= 1.0, "elapsed: #{elapsed}"
diff --git a/test/test_accept_class.rb b/test/test_accept_class.rb
index cf59a2f..0e1d172 100644
--- a/test/test_accept_class.rb
+++ b/test/test_accept_class.rb
@@ -12,12 +12,12 @@ class TestAcceptClass < Test::Unit::TestCase
end
def teardown
- assert_nothing_raised { Kgio.accept_class = nil }
+ Kgio.accept_class = nil
assert_equal Kgio::Socket, Kgio.accept_class
end
def test_tcp_socket
- assert_nothing_raised { Kgio.accept_class = Kgio::TCPSocket }
+ Kgio.accept_class = Kgio::TCPSocket
assert_equal Kgio::TCPSocket, Kgio.accept_class
end
@@ -31,21 +31,21 @@ class TestAcceptClass < Test::Unit::TestCase
@srv = Kgio::TCPServer.new(@host, 0)
@port = @srv.addr[1]
- assert_nothing_raised { Kgio.accept_class = Kgio::TCPSocket }
+ Kgio.accept_class = Kgio::TCPSocket
client = TCPSocket.new(@host, @port)
assert_instance_of Kgio::TCPSocket, @srv.kgio_accept
client = TCPSocket.new(@host, @port)
IO.select([@srv])
assert_instance_of Kgio::TCPSocket, @srv.kgio_tryaccept
- assert_nothing_raised { Kgio.accept_class = nil }
+ Kgio.accept_class = nil
client = TCPSocket.new(@host, @port)
assert_instance_of Kgio::Socket, @srv.kgio_accept
client = TCPSocket.new(@host, @port)
IO.select([@srv])
assert_instance_of Kgio::Socket, @srv.kgio_tryaccept
- assert_nothing_raised { Kgio.accept_class = Kgio::UNIXSocket }
+ Kgio.accept_class = Kgio::UNIXSocket
client = TCPSocket.new(@host, @port)
assert_instance_of Kgio::UNIXSocket, @srv.kgio_accept
client = TCPSocket.new(@host, @port)
diff --git a/test/test_autopush.rb b/test/test_autopush.rb
index 57fbefa..6c6e05f 100644
--- a/test/test_autopush.rb
+++ b/test/test_autopush.rb
@@ -18,12 +18,10 @@ class TestAutopush < Test::Unit::TestCase
@host = ENV["TEST_HOST"] || '127.0.0.1'
@srv = Kgio::TCPServer.new(@host, 0)
- assert_nothing_raised {
+ RUBY_PLATFORM =~ /linux/ and
@srv.setsockopt(Socket::IPPROTO_TCP, TCP_CORK, 1)
- } if RUBY_PLATFORM =~ /linux/
- assert_nothing_raised {
+ RUBY_PLATFORM =~ /freebsd/ and
@srv.setsockopt(Socket::IPPROTO_TCP, TCP_NOPUSH, 1)
- } if RUBY_PLATFORM =~ /freebsd/
@port = @srv.addr[1]
end
@@ -35,7 +33,7 @@ class TestAutopush < Test::Unit::TestCase
assert ! s.kgio_autopush?
s.kgio_autopush = true
assert s.kgio_autopush?
- assert_nothing_raised { s.kgio_write 'asdf' }
+ s.kgio_write 'asdf'
assert_equal :wait_readable, s.kgio_tryread(1)
assert s.kgio_autopush?
val = s.getsockopt(Socket::IPPROTO_TCP, opt).unpack('i')[0]
@@ -64,12 +62,10 @@ class TestAutopush < Test::Unit::TestCase
lines = io.readlines
assert lines.grep(/TCP_CORK/).empty?, lines.inspect
else
- assert_nothing_raised do
- @wr = @srv.kgio_accept
- t0 = Time.now
- @wr.kgio_write "HI\n"
- rc = @wr.kgio_tryread 666
- end
+ @wr = @srv.kgio_accept
+ t0 = Time.now
+ @wr.kgio_write "HI\n"
+ rc = @wr.kgio_tryread 666
end
assert_equal "HI\n", @rd.kgio_read(3)
diff = Time.now - t0
@@ -151,8 +147,8 @@ class TestAutopush < Test::Unit::TestCase
lines = io.readlines
assert_equal 2, lines.grep(/TCP_CORK/).size, lines.inspect
end
- assert_nothing_raised { @wr.close }
- assert_nothing_raised { @rd.close }
+ @wr.close
+ @rd.close
@wr = Kgio::TCPSocket.new(@host, @port)
if defined?(Strace)
diff --git a/test/test_connect_fd_leak.rb b/test/test_connect_fd_leak.rb
index f6a8543..1dfc4cd 100644
--- a/test/test_connect_fd_leak.rb
+++ b/test/test_connect_fd_leak.rb
@@ -9,11 +9,9 @@ class TestConnectFDLeak < Test::Unit::TestCase
nr = 0
path = "/non/existent/path"
assert(! File.exist?(path), "#{path} should not exist")
- assert_nothing_raised do
- begin
- sock = Kgio::UNIXSocket.new(path)
- rescue Errno::ENOENT
- end while (nr += 1) < 10000
- end
+ begin
+ sock = Kgio::UNIXSocket.new(path)
+ rescue Errno::ENOENT
+ end while (nr += 1) < 10000
end
end
diff --git a/test/test_poll.rb b/test/test_poll.rb
index df59354..40092cf 100644
--- a/test/test_poll.rb
+++ b/test/test_poll.rb
@@ -122,9 +122,7 @@ class TestPoll < Test::Unit::TestCase
exit!(0)
end
- assert_nothing_raised do
- empty += 1 until Kgio.poll(set.dup, 100)
- end
+ empty += 1 until Kgio.poll(set.dup, 100)
_, status = Process.waitpid2(pid)
assert status.success?, status.inspect
assert usr1 > 0, "usr1: #{usr1}"
diff --git a/test/test_singleton_read_write.rb b/test/test_singleton_read_write.rb
index 5abbf00..86d30a2 100644
--- a/test/test_singleton_read_write.rb
+++ b/test/test_singleton_read_write.rb
@@ -6,7 +6,7 @@ class TestSingletonReadWrite < Test::Unit::TestCase
def test_unix_socketpair
a, b = UNIXSocket.pair
- assert_nothing_raised { Kgio.trywrite(a, "HELLO") }
+ Kgio.trywrite(a, "HELLO")
buf = ""
assert_equal "HELLO", Kgio.tryread(b, 5, buf)
assert_equal "HELLO", buf
diff --git a/test/test_tryopen.rb b/test/test_tryopen.rb
index 5a8efb2..80b5de3 100644
--- a/test/test_tryopen.rb
+++ b/test/test_tryopen.rb
@@ -15,7 +15,7 @@ class TestTryopen < Test::Unit::TestCase
assert_equal File.read(__FILE__), tmp.read
assert_equal __FILE__, tmp.path
assert_equal __FILE__, tmp.to_path
- assert_nothing_raised { tmp.close }
+ tmp.close
end
def test_tryopen_ENOENT
^ permalink raw reply related [flat|nested] 13+ messages in thread
* Re: There's no TCP_NOPUSH in Solaris 10
2012-03-19 9:31 ` Eric Wong
@ 2012-03-19 9:35 ` Edho Arief
2012-03-19 9:52 ` Eric Wong
0 siblings, 1 reply; 13+ messages in thread
From: Edho Arief @ 2012-03-19 9:35 UTC (permalink / raw)
To: kgio
2012/3/19 Eric Wong <normalperson@yhbt.net>:
> Edho Arief <edho@myconan.net> wrote:
>> Forcing definition of them enables unicorn to work (at least seems to
>> be working) but fails test (tried both Linux and BSD version):
>
> Wait, this fails on Linux and *BSD, too? Which Ruby version and exactly
> which OSes did you use?
>
I mean neither BSD version:
static inline void kgio_autopush_read(VALUE io) { kgio_autopush_recv(io); }
static inline void kgio_autopush_write(VALUE io) { kgio_autopush_send(io); }
nor Linux:
static inline void kgio_autopush_read(VALUE io) { }
static inline void kgio_autopush_write(VALUE io) { }
passed the test on Solaris 10.
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: There's no TCP_NOPUSH in Solaris 10
2012-03-19 9:35 ` Edho Arief
@ 2012-03-19 9:52 ` Eric Wong
2012-03-19 10:10 ` Edho Arief
0 siblings, 1 reply; 13+ messages in thread
From: Eric Wong @ 2012-03-19 9:52 UTC (permalink / raw)
To: kgio
Edho Arief <edho@myconan.net> wrote:
> 2012/3/19 Eric Wong <normalperson@yhbt.net>:
> > Edho Arief <edho@myconan.net> wrote:
> >> Forcing definition of them enables unicorn to work (at least seems to
> >> be working) but fails test (tried both Linux and BSD version):
> >
> > Wait, this fails on Linux and *BSD, too? Which Ruby version and exactly
> > which OSes did you use?
>
> I mean neither BSD version:
> nor Linux:
OK, can you try with latest git? Also which Ruby version are you using?
Did any of this work in previous version of kgio?
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: There's no TCP_NOPUSH in Solaris 10
2012-03-19 9:52 ` Eric Wong
@ 2012-03-19 10:10 ` Edho Arief
2012-03-19 20:09 ` Eric Wong
0 siblings, 1 reply; 13+ messages in thread
From: Edho Arief @ 2012-03-19 10:10 UTC (permalink / raw)
To: kgio
2012/3/19 Eric Wong <normalperson@yhbt.net>:
>
> OK, can you try with latest git? Also which Ruby version are you using?
> Did any of this work in previous version of kgio?
I've never tested on other version since it was just my random weekend
experiment.
ruby 1.9.3p125 (2012-02-16 revision 34643) [i386-solaris2.10]
ruby -I lib:tmp/ext/ruby-1.9.3/ext/kgio
test/test_unix_server_read_client_write.rb
Run options:
# Running tests:
..............................^C
Finished tests in 489.996062s, 0.0000 tests/s, 0.0000 assertions/s.
0 tests, 0 assertions, 0 failures, 0 errors, 0 skips
Interrupted
make: *** [test/test_unix_server_read_client_write.rb] Error 1
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: There's no TCP_NOPUSH in Solaris 10
2012-03-19 10:10 ` Edho Arief
@ 2012-03-19 20:09 ` Eric Wong
2012-03-20 10:53 ` Edho Arief
0 siblings, 1 reply; 13+ messages in thread
From: Eric Wong @ 2012-03-19 20:09 UTC (permalink / raw)
To: kgio
Edho Arief <edho@myconan.net> wrote:
> 2012/3/19 Eric Wong <normalperson@yhbt.net>:
> >
> > OK, can you try with latest git? Also which Ruby version are you using?
> > Did any of this work in previous version of kgio?
>
> I've never tested on other version since it was just my random weekend
> experiment.
>
> ruby 1.9.3p125 (2012-02-16 revision 34643) [i386-solaris2.10]
If you have time, maybe truss/dtruss can tell you what's wrong? Do ruby
tests themselves pass? I'm not sure if anybody on the Ruby core team
tests/maintains your platform on a regular basis.
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: There's no TCP_NOPUSH in Solaris 10
2012-03-19 20:09 ` Eric Wong
@ 2012-03-20 10:53 ` Edho Arief
2012-03-21 20:15 ` Eric Wong
0 siblings, 1 reply; 13+ messages in thread
From: Edho Arief @ 2012-03-20 10:53 UTC (permalink / raw)
To: kgio
2012/3/20 Eric Wong <normalperson@yhbt.net>:
> Edho Arief <edho@myconan.net> wrote:
>> 2012/3/19 Eric Wong <normalperson@yhbt.net>:
>> >
>> > OK, can you try with latest git? Also which Ruby version are you using?
>> > Did any of this work in previous version of kgio?
>>
>> I've never tested on other version since it was just my random weekend
>> experiment.
>>
>> ruby 1.9.3p125 (2012-02-16 revision 34643) [i386-solaris2.10]
>
> If you have time, maybe truss/dtruss can tell you what's wrong? Do ruby
> tests themselves pass? I'm not sure if anybody on the Ruby core team
> tests/maintains your platform on a regular basis.
Failed one test for ruby: http://pastie.org/3634027
Here is the truss for kgio make test (relevant part, I hope):
ruby -I lib:tmp/ext/ruby-1.9.3/ext/kgio
test/test_unix_server_read_client_write.rb
write(1, " r u b y - I l i b :".., 84) = 84
lwp_sigmask(SIG_SETMASK, 0x60004007, 0x00000000) = 0xFFBFFEFF [0x0000FFFF]
lwp_sigmask(SIG_SETMASK, 0xFFBFFEFF, 0x0000FFFF) = 0x60004007 [0x00000000]
vfork() = 13190
lwp_sigmask(SIG_SETMASK, 0x60004007, 0x00000000) = 0xFFBFFEFF [0x0000FFFF]
schedctl() = 0xFEF4F000
lwp_sigmask(SIG_SETMASK, 0x00000000, 0x00000000) = 0xFFBFFEFF [0x0000FFFF]
Run options:
# Running tests:
........................waitid(P_ALL, 0, 0x080460E0, WEXITED|WTRAPPED)
(sleeping...)
......
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: There's no TCP_NOPUSH in Solaris 10
2012-03-20 10:53 ` Edho Arief
@ 2012-03-21 20:15 ` Eric Wong
2012-03-22 1:48 ` Edho Arief
0 siblings, 1 reply; 13+ messages in thread
From: Eric Wong @ 2012-03-21 20:15 UTC (permalink / raw)
To: kgio
Edho Arief <edho@myconan.net> wrote:
> 2012/3/20 Eric Wong <normalperson@yhbt.net>:
> > Edho Arief <edho@myconan.net> wrote:
> >> 2012/3/19 Eric Wong <normalperson@yhbt.net>:
> >> >
> >> > OK, can you try with latest git? Also which Ruby version are you using?
> >> > Did any of this work in previous version of kgio?
> >>
> >> I've never tested on other version since it was just my random weekend
> >> experiment.
> >>
> >> ruby 1.9.3p125 (2012-02-16 revision 34643) [i386-solaris2.10]
> >
> > If you have time, maybe truss/dtruss can tell you what's wrong? Do ruby
> > tests themselves pass? I'm not sure if anybody on the Ruby core team
> > tests/maintains your platform on a regular basis.
>
> Failed one test for ruby: http://pastie.org/3634027
Use "make check", that runs "make test-all" as well
> Here is the truss for kgio make test (relevant part, I hope):
>
> ruby -I lib:tmp/ext/ruby-1.9.3/ext/kgio
> test/test_unix_server_read_client_write.rb
> write(1, " r u b y - I l i b :".., 84) = 84
> lwp_sigmask(SIG_SETMASK, 0x60004007, 0x00000000) = 0xFFBFFEFF [0x0000FFFF]
> lwp_sigmask(SIG_SETMASK, 0xFFBFFEFF, 0x0000FFFF) = 0x60004007 [0x00000000]
> vfork() = 13190
> lwp_sigmask(SIG_SETMASK, 0x60004007, 0x00000000) = 0xFFBFFEFF [0x0000FFFF]
> schedctl() = 0xFEF4F000
> lwp_sigmask(SIG_SETMASK, 0x00000000, 0x00000000) = 0xFFBFFEFF [0x0000FFFF]
> Run options:
>
> # Running tests:
>
> ........................waitid(P_ALL, 0, 0x080460E0, WEXITED|WTRAPPED)
> (sleeping...)
You probably need to follow the fork() and trace children ("strace -f"
for Linux, maybe "truss -f"? My memory escapes me).
Just wondering, does this patch help?
--- a/test/lib_read_write.rb
+++ b/test/lib_read_write.rb
@@ -281,7 +281,7 @@ module LibReadWriteTest
elapsed = 0
foo = nil
t0 = Time.now
- thr = Thread.new { sleep 1; @rd.readpartial(nr) }
+ thr = Thread.new { sleep 1; @rd.read(nr) }
foo = @wr.kgio_write("HELLO")
elapsed = Time.now - t0
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: There's no TCP_NOPUSH in Solaris 10
2012-03-21 20:15 ` Eric Wong
@ 2012-03-22 1:48 ` Edho Arief
2012-03-22 8:38 ` Eric Wong
0 siblings, 1 reply; 13+ messages in thread
From: Edho Arief @ 2012-03-22 1:48 UTC (permalink / raw)
To: kgio
On 2012-03-22 3:15, Eric Wong wrote:
>> Failed one test for ruby: http://pastie.org/3634027
>
> Use "make check", that runs "make test-all" as well
>
Exactly same result.
> You probably need to follow the fork() and trace children ("strace -f"
> for Linux, maybe "truss -f"? My memory escapes me).
>
> Just wondering, does this patch help?
>
Yes it does: http://pastie.org/3645240
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: There's no TCP_NOPUSH in Solaris 10
2012-03-22 1:48 ` Edho Arief
@ 2012-03-22 8:38 ` Eric Wong
2012-03-22 15:00 ` Edho Arief
0 siblings, 1 reply; 13+ messages in thread
From: Eric Wong @ 2012-03-22 8:38 UTC (permalink / raw)
To: kgio
Edho Arief <edho@myconan.net> wrote:
> On 2012-03-22 3:15, Eric Wong wrote:
> >> Failed one test for ruby: http://pastie.org/3634027
> >
> > Use "make check", that runs "make test-all" as well
>
> Exactly same result.
Err, maybe "make test-all" or somehow skip the segfaulting test to
go to the socket tests
> > You probably need to follow the fork() and trace children ("strace -f"
> > for Linux, maybe "truss -f"? My memory escapes me).
> >
> > Just wondering, does this patch help?
OK, pushed this out (I thought I responded to this email earlier :x).
> Yes it does: http://pastie.org/3645240
1) Error:
test_unix_socket_new_invalid(TestKgioUnixConnect):
Errno::ENOENT: No such file or directory - /tmp/kgio_unix20120322-20281-fg6a03
test/test_unix_connect.rb:27:in `unlink'
test/test_unix_connect.rb:27:in `teardown'
I'm not sure how this could happen... Race condition in the filesystem?
Is /tmp a tmpfs directory? Can you try setting TMPDIR to point to a
different filesystem and see if you can reliably reproduce this?
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: There's no TCP_NOPUSH in Solaris 10
2012-03-22 8:38 ` Eric Wong
@ 2012-03-22 15:00 ` Edho Arief
2012-03-23 21:15 ` Eric Wong
0 siblings, 1 reply; 13+ messages in thread
From: Edho Arief @ 2012-03-22 15:00 UTC (permalink / raw)
To: kgio
2012/3/22 Eric Wong <normalperson@yhbt.net>:
>
> 1) Error:
> test_unix_socket_new_invalid(TestKgioUnixConnect):
> Errno::ENOENT: No such file or directory - /tmp/kgio_unix20120322-20281-fg6a03
> test/test_unix_connect.rb:27:in `unlink'
> test/test_unix_connect.rb:27:in `teardown'
>
> I'm not sure how this could happen... Race condition in the filesystem?
> Is /tmp a tmpfs directory? Can you try setting TMPDIR to point to a
> different filesystem and see if you can reliably reproduce this?
/tmp is tmpfs, yes. Changing to other mount point (ufs) didn't help.
It occurred 4 times out of 4 test runs (ie. every test).
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: There's no TCP_NOPUSH in Solaris 10
2012-03-22 15:00 ` Edho Arief
@ 2012-03-23 21:15 ` Eric Wong
0 siblings, 0 replies; 13+ messages in thread
From: Eric Wong @ 2012-03-23 21:15 UTC (permalink / raw)
To: kgio
Edho Arief <edho@myconan.net> wrote:
> 2012/3/22 Eric Wong <normalperson@yhbt.net>:
> >
> > 1) Error:
> > test_unix_socket_new_invalid(TestKgioUnixConnect):
> > Errno::ENOENT: No such file or directory - /tmp/kgio_unix20120322-20281-fg6a03
> > test/test_unix_connect.rb:27:in `unlink'
> > test/test_unix_connect.rb:27:in `teardown'
> >
> > I'm not sure how this could happen... Race condition in the filesystem?
> > Is /tmp a tmpfs directory? Can you try setting TMPDIR to point to a
> > different filesystem and see if you can reliably reproduce this?
>
> /tmp is tmpfs, yes. Changing to other mount point (ufs) didn't help.
> It occurred 4 times out of 4 test runs (ie. every test).
Weird. Do you think you can figure out a fix/workaround for this? It's
not a concern unless it affects a Free Software platform people use, but
I will accept a patch if you can fix the issue.
^ permalink raw reply [flat|nested] 13+ messages in thread
end of thread, other threads:[~2012-03-23 21:15 UTC | newest]
Thread overview: 13+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2012-03-18 12:45 There's no TCP_NOPUSH in Solaris 10 Edho Arief
2012-03-19 9:29 ` Eric Wong
2012-03-19 9:31 ` Eric Wong
2012-03-19 9:35 ` Edho Arief
2012-03-19 9:52 ` Eric Wong
2012-03-19 10:10 ` Edho Arief
2012-03-19 20:09 ` Eric Wong
2012-03-20 10:53 ` Edho Arief
2012-03-21 20:15 ` Eric Wong
2012-03-22 1:48 ` Edho Arief
2012-03-22 8:38 ` Eric Wong
2012-03-22 15:00 ` Edho Arief
2012-03-23 21:15 ` Eric Wong
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).