From: Yusuke Endoh <mame@...>
Date: 2011-07-05T01:35:46+09:00
Subject: [ruby-core:37778] [Ruby 1.9 - Bug #1341][Open] pthread_cond_timedwait failing in 1.9.1-p0 thread tests


Issue #1341 has been updated by Yusuke Endoh.

Status changed from Assigned to Open
Assignee deleted (Yusuke Endoh)

Hello,

> Now, following two links are dead. Do anyone know new URLs?
>
> * - http://docs.sun.com/app/docs/doc/806-0630/6j9vkb8ct?a=view
> * - http://bugs.opensolaris.org/view_bug.do?bug_id=4038480


Here.

http://download.oracle.com/docs/cd/E19683-01/816-0216/6m6ngupgv/index.html

EINVAL
Invalid argument. For cond_init(), type is not a recognized type. For cond_timedwait(), the specified number of seconds, abstime, is greater than current_time + 100,000,000, where current_time is the current time, or the number of nanoseconds is greater than or equal to 1,000,000,000.


The problem that I now focus on is that pthread_cond_timedwait may fail
with EINVAL if an argument is greater than current_time + 100,000,000
on Solaris.
The patch of [ruby-core:29702] is too old and cannot be applied, so
I rewrote and committed a new patch at r32409.  Now, "make test" passes
on Solaris.  Congrats.


Unfortunately, the original issue that OP reported was a different problem.
But I guess that there is no hope of fixing the issue.  At least I cannot.
So I resign the assignee of this ticket.  Sorry for late action.

-- 
Yusuke Endoh <mame@tsg.ne.jp>
----------------------------------------
Bug #1341: pthread_cond_timedwait failing in 1.9.1-p0 thread tests
http://redmine.ruby-lang.org/issues/1341

Author: Graham Agnew
Status: Open
Priority: Low
Assignee: 
Category: core
Target version: 1.9.x
ruby -v: ruby 1.9.1p0 (2009-01-30 revision 21907) [ia64-hpux11.23]


=begin
 I have been trying to compile and test 1.9.1-p0 on HP-UX 11i v2.  When running the tests, the threads tests crash with the following bug:
 
 > [BUG] pthread_cond_timedwait: 22
 > ruby 1.9.1p0 (2009-01-30 revision 21907) [ia64-hpux11.23]
 > 
 > -- control frame ----------
 > ---------------------------
 > -- Ruby level backtrace information-----------------------------------------
 > 
 > [NOTE]
 > You may encounter a bug of Ruby interpreter. Bug reports are welcome.
 > For details: http://www.ruby-lang.org/bugreport.html
 
 The errno 22 means EINVAL.  I put some print statements into the thread_pthread.c file to work out what was going on and it looks like there's a condition variable that is being initialised twice.
=end



-- 
http://redmine.ruby-lang.org