<feed xmlns='http://www.w3.org/2005/Atom'>
<title>ruby.git/bootstraptest/test_fork.rb, branch v3_4_9</title>
<subtitle>The Ruby Programming Language</subtitle>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/'/>
<entry>
<title>[3.4] Fix deadlock on th-&gt;interrupt_lock after fork</title>
<updated>2026-03-07T04:41:44+00:00</updated>
<author>
<name>Jean Boussier</name>
<email>jean.boussier@gmail.com</email>
</author>
<published>2026-02-04T12:12:42+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=43771bb0efcd139acd9112a770e8b8d719118dce'/>
<id>43771bb0efcd139acd9112a770e8b8d719118dce</id>
<content type='text'>
[Bug #21860]

If a thread was holding this lock before fork, it will not exist in the
child process. We should re-initialize these locks as we do with the VM
locks when forking.

Co-Authored-By: John Hawthorn &lt;john@hawthorn.email&gt;
Co-authored-by: Aaron Patterson &lt;tenderlove@ruby-lang.org&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
[Bug #21860]

If a thread was holding this lock before fork, it will not exist in the
child process. We should re-initialize these locks as we do with the VM
locks when forking.

Co-Authored-By: John Hawthorn &lt;john@hawthorn.email&gt;
Co-authored-by: Aaron Patterson &lt;tenderlove@ruby-lang.org&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>Extend the timeout of fork-exit bootstraptest</title>
<updated>2024-11-21T10:23:15+00:00</updated>
<author>
<name>Yusuke Endoh</name>
<email>mame@ruby-lang.org</email>
</author>
<published>2024-11-21T09:47:43+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=cabfaa9fb4731c0b82847f51f0b5266f8c78415f'/>
<id>cabfaa9fb4731c0b82847f51f0b5266f8c78415f</id>
<content type='text'>
It often fails randomly.

http://ci.rvm.jp/results/trunk-yjit@ruby-sp2-noble-docker/5421564
```
 Fstderr output is not empty
   bootstraptest.test_fork.rb_78_287.rb:16:in 'block in &lt;main&gt;': failed (RuntimeError)
           from &lt;internal:numeric&gt;:257:in 'Integer#times'
           from bootstraptest.test_fork.rb_78_287.rb:10:in '&lt;main&gt;'
```

I'm not sure why the frequency of failure has suddenly increased,
though.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
It often fails randomly.

http://ci.rvm.jp/results/trunk-yjit@ruby-sp2-noble-docker/5421564
```
 Fstderr output is not empty
   bootstraptest.test_fork.rb_78_287.rb:16:in 'block in &lt;main&gt;': failed (RuntimeError)
           from &lt;internal:numeric&gt;:257:in 'Integer#times'
           from bootstraptest.test_fork.rb_78_287.rb:10:in '&lt;main&gt;'
```

I'm not sure why the frequency of failure has suddenly increased,
though.
</pre>
</div>
</content>
</entry>
<entry>
<title>Re-initialize vm-&gt;ractor.sched.lock after fork</title>
<updated>2024-08-13T18:52:24+00:00</updated>
<author>
<name>John Hawthorn</name>
<email>john@hawthorn.email</email>
</author>
<published>2024-08-08T09:10:15+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=87a85550edd786665e081b355c6af62c4854b1d7'/>
<id>87a85550edd786665e081b355c6af62c4854b1d7</id>
<content type='text'>
Previously under certain conditions it was possible to encounter a
deadlock in the forked child process if ractor.sched.lock was held.

Co-authored-by: Nathan Froyd &lt;froydnj@gmail.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Previously under certain conditions it was possible to encounter a
deadlock in the forked child process if ractor.sched.lock was held.

Co-authored-by: Nathan Froyd &lt;froydnj@gmail.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>bootstraptest/test_fork.rb: Stop too restrict NPROC test temporarily</title>
<updated>2018-01-09T08:05:40+00:00</updated>
<author>
<name>mame</name>
<email>mame@b2dd03c8-39d4-4d8f-98ff-823fe69b080e</email>
</author>
<published>2018-01-09T08:05:40+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=60bb4fcdf615e20b39d7726b6ff7c0d84b7c8475'/>
<id>60bb4fcdf615e20b39d7726b6ff7c0d84b7c8475</id>
<content type='text'>
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@61718 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@61718 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
</pre>
</div>
</content>
</entry>
<entry>
<title>* bootstraptest/test_fork.rb ([ruby-dev:37934]): :NPROC (RLIMIT_NPROC)</title>
<updated>2015-11-10T08:50:06+00:00</updated>
<author>
<name>ngoto</name>
<email>ngoto@b2dd03c8-39d4-4d8f-98ff-823fe69b080e</email>
</author>
<published>2015-11-10T08:50:06+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=b935a13ba559a6993f6fcbdcc1096ef6b2d41b02'/>
<id>b935a13ba559a6993f6fcbdcc1096ef6b2d41b02</id>
<content type='text'>
  is not supported on some platforms (e.g. Solaris 10).


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@52521 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
  is not supported on some platforms (e.g. Solaris 10).


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@52521 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
</pre>
</div>
</content>
</entry>
<entry>
<title>test_fork.rb: wait signals</title>
<updated>2014-06-28T18:12:47+00:00</updated>
<author>
<name>nobu</name>
<email>nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e</email>
</author>
<published>2014-06-28T18:12:47+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=f1cf168bcfc93d0f85c97594f902212b2ee16fba'/>
<id>f1cf168bcfc93d0f85c97594f902212b2ee16fba</id>
<content type='text'>
* bootstraptest/test_fork.rb: wait until receiving both singals,
  upto 0.1sec.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46606 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* bootstraptest/test_fork.rb: wait until receiving both singals,
  upto 0.1sec.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46606 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
</pre>
</div>
</content>
</entry>
<entry>
<title>bootstraptest/test_{fork,io,thread}.rb: reduce sleep times</title>
<updated>2014-06-07T19:57:46+00:00</updated>
<author>
<name>nobu</name>
<email>nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e</email>
</author>
<published>2014-06-07T19:57:46+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=85521e60eef7eee999cf1c0c0e460cabdeaa6f7f'/>
<id>85521e60eef7eee999cf1c0c0e460cabdeaa6f7f</id>
<content type='text'>
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46379 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46379 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
</pre>
</div>
</content>
</entry>
<entry>
<title>* thread.c (rb_threadptr_check_signal): only wake up main thread.</title>
<updated>2011-06-30T22:29:34+00:00</updated>
<author>
<name>ko1</name>
<email>ko1@b2dd03c8-39d4-4d8f-98ff-823fe69b080e</email>
</author>
<published>2011-06-30T22:29:34+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=fa4514e4fedc1e1390200e3901e2add22a4a27b4'/>
<id>fa4514e4fedc1e1390200e3901e2add22a4a27b4</id>
<content type='text'>
* thread.c (rb_threadptr_execute_interrupts_common): check signal
  deliverly if it is main thread.
  fixes [ruby-dev:44005] [Ruby 1.9 - Bug #4950]
* bootstraptest/test_fork.rb: add a test for above.
* signal.c (rb_get_next_signal): skip if signal_buff is empty.
  (check signal_buff.size first)
* vm_core.h: remove unused variable rb_thread_t::exec_signal.
* thread.c (rb_thread_check_trap_pending): check
  rb_signal_buff_size() because rb_thread_t::exec_signal
  is no longer available.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@32345 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* thread.c (rb_threadptr_execute_interrupts_common): check signal
  deliverly if it is main thread.
  fixes [ruby-dev:44005] [Ruby 1.9 - Bug #4950]
* bootstraptest/test_fork.rb: add a test for above.
* signal.c (rb_get_next_signal): skip if signal_buff is empty.
  (check signal_buff.size first)
* vm_core.h: remove unused variable rb_thread_t::exec_signal.
* thread.c (rb_thread_check_trap_pending): check
  rb_signal_buff_size() because rb_thread_t::exec_signal
  is no longer available.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@32345 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
</pre>
</div>
</content>
</entry>
<entry>
<title>* bootstraptest/test_fork.rb: add a test for [ruby-core:28924].</title>
<updated>2010-04-19T16:03:39+00:00</updated>
<author>
<name>mame</name>
<email>mame@b2dd03c8-39d4-4d8f-98ff-823fe69b080e</email>
</author>
<published>2010-04-19T16:03:39+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=ab10ac8f12f7a903ab5d6c96983f6b9073441468'/>
<id>ab10ac8f12f7a903ab5d6c96983f6b9073441468</id>
<content type='text'>
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@27405 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@27405 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
</pre>
</div>
</content>
</entry>
<entry>
<title>* thread_pthread.c (rb_thread_create_timer_thread): print fatal error</title>
<updated>2009-06-07T23:59:58+00:00</updated>
<author>
<name>ko1</name>
<email>ko1@b2dd03c8-39d4-4d8f-98ff-823fe69b080e</email>
</author>
<published>2009-06-07T23:59:58+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=0cdfbc9446d65959dc24b82e38b3cb5d6f9d825f'/>
<id>0cdfbc9446d65959dc24b82e38b3cb5d6f9d825f</id>
<content type='text'>
  message to stderr instead of using rb_bug().
* KNOWNBUGS.rb, bootstraptest/test_fork.rb: move a fixed test.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@23647 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
  message to stderr instead of using rb_bug().
* KNOWNBUGS.rb, bootstraptest/test_fork.rb: move a fixed test.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@23647 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
</pre>
</div>
</content>
</entry>
</feed>
