# Miniruby -e 'Process.kill(:INT, $$)' hang under cron

**URL:** <https://www.ruby-forum.com/t/miniruby-e-process-kill-int-hang-under-cron/232545>\
**Category:** Development\
**Created:** [October 15, 2014, 5:19pm UTC](https://www.ruby-forum.com/t/miniruby-e-process-kill-int-hang-under-cron/232545 "2014-10-15T17:19:30Z")\
**Posts on this page:** 1\
**Page:** 1

<div class="post-metadata">

**Author:** ![addis\_a](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/a/c4cdca/32.png) [@addis\_a](https://www.ruby-forum.com/u/addis_a)\
**Post date:** [October 15, 2014, 5:19pm UTC](https://www.ruby-forum.com/t/miniruby-e-process-kill-int-hang-under-cron/232545/1 "2014-10-15T17:19:30Z")

</div>

Issue #9820 has been updated by Tomoyuki C…

Backport changed from 2.0.0: DONTNEED, 2.1: REQUIRED to 2.0.0: DONTNEED,  
2.1: DONE

r47818 and r47832 were backported into `ruby_2_1` branch at r47956.

* * *

Bug #9820: miniruby -e ‘Process.kill(:INT, $$)’ hang under cron

> **[Bug #9820: miniruby -e 'Process.kill(:INT, $$)' hang under cron - Ruby master...](https://bugs.ruby-lang.org/issues/9820#change-49470)**
>
> Redmine

- Author: Akira T.
- Status: Closed
- Priority: Normal
- Assignee:
- Category:
- Target version:
- ruby -v: ruby 2.2.0dev (2014-05-09 trunk 45884) [x86\_64-linux]
- Backport: 2.0.0: DONTNEED, 2.1: DONE

* * *

最近、しばたさんが運用を始めた chkbuild で、  
TestBeginEndBlock#test\_propagate\_signaled が hang しています。  
[http://chkbuild002.hsbt.org/chkbuild/ruby-trunk/log/20140509T060013Z.fail.html.gz](http://chkbuild002.hsbt.org/chkbuild/ruby-trunk/log/20140509T060013Z.fail.html.gz)

調べて再現コードを小さくしていった結果、

miniruby -e ‘Process.kill(:INT, $$)’

というのを cron から動かしたときは hang し、  
端末から動かしたときは hang しない、ということが判明しました。

strace した結果をみると、  
cron 下では timer thread が prctl の直後に poll を呼び出してそれが終わらないという挙動なのに対し、  
端末ではそのあたりで context switch が起きている、ような気がします。

strace の結果を strace.cron.log と strace.term.log として添付します。

なにかわかるひとはいますでしょうか?

```auto
% ./miniruby -v
ruby 2.2.0dev (2014-05-09 trunk 45884) [x86_64-linux]
% uname -mrsv
Linux 3.2.0-4-amd64 #1 SMP Debian 3.2.54-2 x86_64
% lsb_release -idrc
Distributor ID: Debian
Description: Debian GNU/Linux 7.5 (wheezy)
Release: 7.5
Codename: wheezy

```

なお、コミッタならしばたさんに頼むとそのマシンにアカウントを作ってくれる模様です。

—Files--------------------------------  
strace.cron.log (15.8 KB)  
strace.term.log (17.6 KB)
