[#29233] [Bug #3085] Time dumping/loading using Psych — Tomo Kazahaya <redmine@...>
Bug #3085: Time dumping/loading using Psych
Issue #3085 has been updated by Aaron Patterson.
2010/4/4 Aaron Patterson <redmine@ruby-lang.org>:
[#29247] [Bug:trunk] matrix test failures — Tanaka Akira <akr@...>
matrix test fails as follows.
[#29255] [Bug #3092] IO Broken with Latest Windows — Charlie Savage <redmine@...>
Bug #3092: IO Broken with Latest Windows
[#29270] Proposal: Module#thunk_method — Charles Oliver Nutter <headius@...>
Many people use define_method solely so they can define a new method
On Apr 5, 2010, at 5:42 PM, Charles Oliver Nutter wrote:
Joshua Ballanco wrote:
Because often the pattern is to do the calculation and then define a
On Apr 6, 2010, at 4:17 PM, Charles Oliver Nutter wrote:
[#29287] [Bug #3102] Rubygems should avoid deprecated yaml api — Aaron Patterson <redmine@...>
Bug #3102: Rubygems should avoid deprecated yaml api
[#29291] [Bug #3104] Random: seeding issues — Marc-Andre Lafortune <redmine@...>
Bug #3104: Random: seeding issues
[#29293] URI.(un)escape deprecated? — Marc-Andre Lafortune <ruby-core-mailing-list@...>
Hi.
2010/4/7 Marc-Andre Lafortune <ruby-core-mailing-list@marc-andre.ca>:
On Thu, Apr 8, 2010 at 5:22 PM, Tanaka Akira <akr@fsij.org> wrote:
> So, Yui, could you please tell us what motivated this change and what
2010/4/9 NARUSE, Yui <naruse@airemix.jp>:
On Thu, Apr 8, 2010 at 10:31 PM, Tanaka Akira <akr@fsij.org> wrote:
2010/4/9 Austin Ziegler <halostatue@gmail.com>:
Hi,
[#29295] [Bug #3105] seg faults and bus errors with ruby 1.8.7 p249 — Greg Ferguson <redmine@...>
Bug #3105: seg faults and bus errors with ruby 1.8.7 p249
[#29313] [Bug #3112] require "yaml" doesn't use psych as default — Usaku NAKAMURA <redmine@...>
Bug #3112: require "yaml" doesn't use psych as default
Issue #3112 has been updated by Yui NARUSE.
On Thu, Apr 08, 2010 at 02:06:55PM +0900, Yui NARUSE wrote:
On 4/8/10, Aaron Patterson <aaron@tenderlovemaking.com> wrote:
First of all, people want compatibility.
I found Aaron added YAML.quick_emit to Psych, thank.
On Sat, Apr 10, 2010 at 07:11:28PM +0900, NARUSE, Yui wrote:
(2010/04/11 8:48), Aaron Patterson wrote:
On Sun, Apr 11, 2010 at 09:20:15AM +0900, NARUSE, Yui wrote:
Issue #3112 has been updated by Anshul Khandelwal.
[#29427] [Bug #3124] SocketError on SnowLeopard (during make test-all) — Aaron Patterson <redmine@...>
Bug #3124: SocketError on SnowLeopard (during make test-all)
[#29447] [RubySpec #3128] Randomness specs — Marc-Andre Lafortune <redmine@...>
RubySpec #3128: Randomness specs
[#29462] [Feature #3131] add Kernel#Hash() method like Kernel#Array() — Suraj Kurapati <redmine@...>
Feature #3131: add Kernel#Hash() method like Kernel#Array()
[#29464] [Bug #3132] …/nokogiri-1.4.1/ext/nokogiri/nokogiri.bundle: [BUG] Bus Error — Ashley Williams <redmine@...>
Bug #3132: …/nokogiri-1.4.1/ext/nokogiri/nokogiri.bundle: [BUG] Bus Error
[#29486] [Bug #3140] gem activation has changed between 1.8 and 1.9 — Aaron Patterson <redmine@...>
Bug #3140: gem activation has changed between 1.8 and 1.9
Issue #3140 has been updated by Aaron Patterson.
Hi,
We are about to ship a version of Ruby with a built in package manager with
On Fri, Jul 2, 2010 at 6:19 PM, Yehuda Katz <wycats@gmail.com> wrote:
On Sat, Jul 03, 2010 at 07:48:04AM +0900, Luis Lavena wrote:
After a brief discussion with Eric Hodel about this, there are a few questions before we can figure out how to solve this:
Is there any comment on this? This is a big bug in 1.9.2 that we'd like to get fixed as soon as we can, but I need some input on it.
I wrote this original code in gem_prelude.
Hi,
See comment on patch below. Other than my comments, I'm fine with this.
Since no one has responded, nobu, can you go ahead and commit it?
Issue #3140 has been updated by Yusuke Endoh.
Issue #3140 has been updated by Yusuke Endoh.
> I've commited the patch to trunk.
Hi,
> Roger, could you re-try to build from scratch? ould you apply
> I'll try with 1_9_2 next.
2010/7/14 Roger Pack <rogerdpack2@gmail.com>:
On Sun, Jul 11, 2010 at 10:23 AM, Yusuke ENDOH <mame@tsg.ne.jp> wrote:
Hi,
Uh-oh, rc2 has been released.
On Sun, Jul 11, 2010 at 12:26 PM, Yusuke ENDOH <mame@tsg.ne.jp> wrote:
Hi,
Issue #3140 has been updated by Yehuda Katz.
Hi,
Hi,
> If you 'gem install mongrel' on 1.9, it will fail (for a valid reason). The directory is not removed because that would prevent users from debugging the build process by reading 'gem_make.out' that is left there for this purpose.
[#29528] [Bug #3150] net/https peer verification doesn't do anything — Hongli Lai <redmine@...>
Bug #3150: net/https peer verification doesn't do anything
[#29578] [Bug #3163] SyntaxError when using variable which is also a method in current scope with a Symbol argument — Benoit Daloze <redmine@...>
Bug #3163: SyntaxError when using variable which is also a method in current scope with a Symbol argument
Issue #3163 has been updated by caleb clausen.
On 18 April 2010 02:06, caleb clausen <redmine@ruby-lang.org> wrote:
On 4/17/10, Benoit Daloze <eregontp@gmail.com> wrote:
On 18.04.10 04:34, Caleb Clausen wrote:
On 4/17/10, Kornelius Kalnbach <murphy@rubychan.de> wrote:
On 17.04.10 20:26, Benoit Daloze wrote:
>as in a ? b : c.
On 18.04.10 16:10, Benoit Daloze wrote:
[#29601] [Bug #3167] RDoc issues in interactive mode — Benoit Daloze <redmine@...>
Bug #3167: RDoc issues in interactive mode
[#29608] [Bug #3169] RDoc crossref confused by instance and class methods having same name — Marc-Andre Lafortune <redmine@...>
Bug #3169: RDoc crossref confused by instance and class methods having same name
Issue #3169 has been updated by Eric Hodel.
On 19.04.10 05:36, Eric Hodel wrote:
On Apr 18, 2010, at 21:28, Kornelius Kalnbach wrote:
[#29641] [Feature #3176] Thread#priority= should actually do something — caleb clausen <redmine@...>
Feature #3176: Thread#priority= should actually do something
Issue #3176 has been updated by Yusuke Endoh.
> Issue #3176 has been updated by Yusuke Endoh.
On 5/15/10, KOSAKI Motohiro <kosaki.motohiro@gmail.com> wrote:
Issue #3176 has been updated by caleb clausen.
> I tried to make it use pthread_setschedparam on linux. That would seem to be
Issue #3176 has been updated by caleb clausen.
Issue #3176 has been updated by caleb clausen.
[#29670] "include X; include Y" vs "include X, Y" — Daniel Berger <djberg96@...>
Hi,
[#29677] anonymous Module#name returns nil in 1.9 — Ryan Davis <ryand-ruby@...>
Is this intentional?
[#29710] [Bug #3185] File.expand_path repeats forward slashes at the beginning of the path — Brian Ford <redmine@...>
Bug #3185: File.expand_path repeats forward slashes at the beginning of the path
Issue #3185 has been updated by Brian Ford.
[#29745] [Bug #3191] imap exits on login with invalid credentials — Karl Baum <redmine@...>
Bug #3191: imap exits on login with invalid credentials
[#29812] identifying process of show stoppers for 1.9.2 release — Yusuke ENDOH <mame@...>
Hi, all
Yusuke ENDOH wrote:
[#29835] [Bug #3212] ConditionVariable may become inconsistent for interrupted threads — Sylvain Joyeux <redmine@...>
Bug #3212: ConditionVariable may become inconsistent for interrupted threads
Issue #3212 has been updated by Sylvain Joyeux.
Hi,
On 5/5/10, Yusuke ENDOH <mame@tsg.ne.jp> wrote:
Hi,
On 5/6/10, Yusuke ENDOH <mame@tsg.ne.jp> wrote:
Hi,
[#29845] [Bug #3215] Windows: IO.popen returns "handle is invalid" — Christian Höltje <redmine@...>
Bug #3215: Windows: IO.popen returns "handle is invalid"
[#29863] [Bug #3216] #join in thwait.rb only waits for first thread — Roger Pack <redmine@...>
Bug #3216: #join in thwait.rb only waits for first thread
[#29868] [Bug:trunk] assert now passes non-boolean result — Nobuyoshi Nakada <nobu@...>
Hi,
Issue #3219 has been updated by caleb clausen.
[#29874] [Bug #3220] bug in gc.c — Aaron Patterson <redmine@...>
Bug #3220: bug in gc.c
[ruby-core:29731] [Bug #2025] problem with pthread handling on non NPTL platform
Issue #2025 has been updated by Yusuke Endoh.
Category set to core
Assigned to set to Yusuke Endoh
Hi,
> I tried to fix some testsuite failures on GNU/kFreeBSD,
Thank you for your investigation reports!
I show a patch before I answer to each report.
The following patch removes "after_exec()" and changes sigprocmask()
to pthread_sigmask().
"make test" and "make test-rubyspec" was passed on my Linux.
I'm afraid that this patch breaks Ruby on other platforms, such as
os x, Solaris, etc. Could you (or anyone) test the patch?
diff --git a/process.c b/process.c
index e566e9b..4f68d69 100644
--- a/process.c
+++ b/process.c
@@ -2620,9 +2620,6 @@ rb_f_fork(VALUE obj)
switch (pid = rb_fork(0, 0, 0, Qnil)) {
case 0:
-#ifdef linux
- after_exec();
-#endif
rb_thread_atfork();
if (rb_block_given_p()) {
int status;
diff --git a/signal.c b/signal.c
index 3fe1633..92e5d35 100644
--- a/signal.c
+++ b/signal.c
@@ -888,11 +888,7 @@ static VALUE
trap_ensure(struct trap_arg *arg)
{
/* enable interrupt */
-#ifdef HAVE_SIGPROCMASK
- sigprocmask(SIG_SETMASK, &arg->mask, NULL);
-#else
- sigsetmask(arg->mask);
-#endif
+ pthread_sigmask(SIG_SETMASK, &arg->mask, NULL);
trap_last_mask = arg->mask;
return 0;
}
@@ -902,11 +898,7 @@ void
rb_trap_restore_mask(void)
{
#if USE_TRAP_MASK
-# ifdef HAVE_SIGPROCMASK
- sigprocmask(SIG_SETMASK, &trap_last_mask, NULL);
-# else
- sigsetmask(trap_last_mask);
-# endif
+ pthread_sigmask(SIG_SETMASK, &trap_last_mask, NULL);
#endif
}
@@ -966,12 +958,8 @@ sig_trap(int argc, VALUE *argv)
}
#if USE_TRAP_MASK
/* disable interrupt */
-# ifdef HAVE_SIGPROCMASK
sigfillset(&arg.mask);
- sigprocmask(SIG_BLOCK, &arg.mask, &arg.mask);
-# else
- arg.mask = sigblock(~0);
-# endif
+ pthread_sigmask(SIG_BLOCK, &arg.mask, &arg.mask);
return rb_ensure(trap, (VALUE)&arg, trap_ensure, (VALUE)&arg);
#else
@@ -1026,12 +1014,8 @@ init_sigchld(int sig)
#if USE_TRAP_MASK
/* disable interrupt */
-# ifdef HAVE_SIGPROCMASK
sigfillset(&mask);
- sigprocmask(SIG_BLOCK, &mask, &mask);
-# else
- mask = sigblock(~0);
-# endif
+ pthread_sigmask(SIG_BLOCK, &mask, &mask);
#endif
oldfunc = ruby_signal(sig, SIG_DFL);
@@ -1042,13 +1026,8 @@ init_sigchld(int sig)
}
#if USE_TRAP_MASK
-#ifdef HAVE_SIGPROCMASK
sigdelset(&mask, sig);
- sigprocmask(SIG_SETMASK, &mask, NULL);
-#else
- mask &= ~sigmask(sig);
- sigsetmask(mask);
-#endif
+ pthread_sigmask(SIG_SETMASK, &mask, NULL);
trap_last_mask = mask;
#endif
}
> Sometimes the child process would have 2 timer threads, sometimes
> it would have the expected 1.
I confirmed that issue on Linux.
The following patch logs when timer thread wakes up.
diff --git a/thread_pthread.c b/thread_pthread.c
index e6295db..51ed234 100644
--- a/thread_pthread.c
+++ b/thread_pthread.c
@@ -762,6 +762,7 @@ thread_timer(void *dummy)
#define WAIT_FOR_10MS() native_cond_timedwait(&timer_thread_cond, &timer_thread_lock, get_ts(&ts, PER_NANO/100))
while (system_working > 0) {
int err = WAIT_FOR_10MS();
+ printf("pid: %d, tid: %p, timer thread tick\n", getpid(), pthread_self());
if (err == ETIMEDOUT);
else if (err == 0 || err == EINTR) {
if (rb_signal_buff_size() == 0) break;
With this patch applied,
$ ./miniruby -e '
trap(:USR1) { p :signaled }
if pid = fork
Process.kill(:USR1, pid)
Process.wait(pid)
else
sleep 0.1
p "#$$ wait start"
sleep 3
p "#$$ wait end"
end
'
pid: 1015, tid: 0xb7b77b90, timer thread tick
pid: 1017, tid: 0xb7b77b90, timer thread tick
:signaled
pid: 1015, tid: 0xb7b77b90, timer thread tick
pid: 1017, tid: 0xb7fddb90, timer thread tick
pid: 1017, tid: 0xb7b77b90, timer thread tick
*snip*
pid: 1015, tid: 0xb7b77b90, timer thread tick
pid: 1017, tid: 0xb7b77b90, timer thread tick
pid: 1017, tid: 0xb7fddb90, timer thread tick
"1017 wait start"
pid: 1015, tid: 0xb7b77b90, timer thread tick
pid: 1017, tid: 0xb7fddb90, timer thread tick
pid: 1017, tid: 0xb7b77b90, timer thread tick
*snip*
pid: 1017, tid: 0xb7fddb90, timer thread tick
pid: 1015, tid: 0xb7b77b90, timer thread tick
pid: 1017, tid: 0xb7b77b90, timer thread tick
pid: 1017, tid: 0xb7fddb90, timer thread tick
pid: 1017, tid: 0xb7b77b90, timer thread tick
pid: 1015, tid: 0xb7b77b90, timer thread tick
"1017 wait end"
pid: 1017, tid: 0xb7fddb90, timer thread tick
pid: 1015, tid: 0xb7b77b90, timer thread tick
The sub-process whose pid is 1017 has two timer threads whose tids
are 0xb7fddb90 and 0xb7b77b90.
I agree the cause is "after_exec()" in rb_f_fork(). It should be
removed.
> Ruby should not use PTHREAD_CREATE_DETACHED and after that use pthread_join.
As far as I know, pthread_join is not used against thread created
with PTHREAD_CREATE_DETACHED. Ruby uses pthread_join against only
timer thread which is not created with PTHREAD_CREATE_DETACHED, I
think.
Did you actually see any detached thread are pthread_join'ed?
> Ruby should use pthread_sigmask() instead of sigprocmask()
> when available and so on.
Agreed.
Thanks once again!
--
Yusuke Endoh <mame@tsg.ne.jp>
----------------------------------------
http://redmine.ruby-lang.org/issues/show/2025
----------------------------------------
http://redmine.ruby-lang.org