I could just exclude those two tests on FreeBSD, if that's fine for you...

I just tried "Ruby 1.9.2 preview 1 released" under linux-i386
with glibc 2.3.6, with linuxthreads add on. It fails with:

test_fork.rb .bootstraptest.tmp.rb:6:in `wait': No child processes (Errno::ECHILD)
        from bootstraptest.tmp.rb:6:in `<main>'
..

test_thread.rb ......................./tmp/bootstraptest.tmpwd20090826-2884-tqrfb5/zzz.rb:3:in `wait2': No child processes (Errno::ECHILD) from /tmp/bootstraptest.tmpwd20090826-2884-tqrfb5/zzz.rb:3:in `<top (required)>'
        from bootstraptest.tmp.rb:13:in `require'
        from bootstraptest.tmp.rb:13:in `<main>'
F..F...................
#916 test_thread.rb:219:in `<top (required)>':
     open("zzz.rb", "w") do |f|
       f.puts <<-END
         begin
           Thread.new { fork { GC.start } }.join
           pid, status = Process.wait2
           $result = status.success? ? :ok : :ng
         rescue NotImplementedError
           $result = :ok
         end
       END
     end
     require "./zzz.rb"
     $result
  #=> "" (expected "ok")


#919 test_thread.rb:254:in `<top (required)>':
     STDERR.reopen(STDOUT)
     exec "/"
  #=> killed by signal 32
FAIL 2/938 tests failed

So these two failures can be expected also on current hppa.

It remains the #226.
Under GNU/kFreeBSD it sometimes passes, sometimes fails.

In general, I do not understand how code in thread_pthread.c:

static pthread_t timer_thread_id;
static pthread_cond_t timer_thread_cond = PTHREAD_COND_INITIALIZER;
static pthread_mutex_t timer_thread_lock = PTHREAD_MUTEX_INITIALIZER;
rb_thread_create_timer_thread()
thread_timer()

could survive correctly fork(), see also
http://www.opengroup.org/onlinepubs/009695399/functions/pthread_atfork.html

Please, could you exclude all three tests on GNU/kFreeBSD,
drop FTBFS from bug title and leave this bug open.

I will try investigate yet more later.

Petr



--
To UNSUBSCRIBE, email to [email protected]
with a subject of "unsubscribe". Trouble? Contact [email protected]

Reply via email to