[#48745] [ruby-trunk - Bug #7267][Open] Dir.glob on Mac OS X returns unexpected string encodings for unicode file names — "kennygrant (Kenny Grant)" <kennygrant@...>

17 messages 2012/11/02

[#48773] [ruby-trunk - Bug #7269][Open] Refinement doesn't work if using locate after method — "ko1 (Koichi Sasada)" <redmine@...>

12 messages 2012/11/03

[#48847] [ruby-trunk - Bug #7274][Open] UnboundMethods should be bindable to any object that is_a?(owner of the UnboundMethod) — "rits (First Last)" <redmine@...>

21 messages 2012/11/04

[#48854] [ruby-trunk - Bug #7276][Open] TestFile#test_utime failure — "jonforums (Jon Forums)" <redmine@...>

14 messages 2012/11/04

[#48988] [ruby-trunk - Feature #7292][Open] Enumerable#to_h — "marcandre (Marc-Andre Lafortune)" <ruby-core@...>

40 messages 2012/11/06

[#48997] [ruby-trunk - Feature #7297][Open] map_to alias for each_with_object — "nathan.f77 (Nathan Broadbent)" <nathan.f77@...>

19 messages 2012/11/06

[#49001] [ruby-trunk - Bug #7298][Open] Behavior of Enumerator.new different between 1.9.3 and 2.0.0 — "ayumin (Ayumu AIZAWA)" <ayumu.aizawa@...>

12 messages 2012/11/06

[#49018] [ruby-trunk - Feature #7299][Open] Ruby should not completely ignore blocks. — "marcandre (Marc-Andre Lafortune)" <ruby-core@...>

13 messages 2012/11/07

[#49044] [ruby-trunk - Bug #7304][Open] Random test failures around test_autoclose_true_closed_by_finalizer — "luislavena (Luis Lavena)" <luislavena@...>

11 messages 2012/11/07

[#49196] [ruby-trunk - Feature #7322][Open] Add a new operator name #>< for bit-wise "exclusive or" — "alexeymuranov (Alexey Muranov)" <redmine@...>

18 messages 2012/11/10

[#49211] [ruby-trunk - Feature #7328][Open] Move ** operator precedence under unary + and - — "boris_stitnicky (Boris Stitnicky)" <boris@...>

20 messages 2012/11/11

[#49229] [ruby-trunk - Bug #7331][Open] Set the precedence of unary `-` equal to the precedence `-`, same for `+` — "alexeymuranov (Alexey Muranov)" <redmine@...>

17 messages 2012/11/11

[#49256] [ruby-trunk - Feature #7336][Open] Flexiable OPerator Precedence — "trans (Thomas Sawyer)" <transfire@...>

18 messages 2012/11/12

[#49354] review open pull requests on github — Zachary Scott <zachary@...>

Could we get a review on any open pull requests on github before the

12 messages 2012/11/15
[#49355] Re: review open pull requests on github — "NARUSE, Yui" <naruse@...> 2012/11/15

2012/11/15 Zachary Scott <[email protected]>:

[#49356] Re: review open pull requests on github — Zachary Scott <zachary@...> 2012/11/15

Ok, I was hoping one of the maintainers might want to.

[#49451] [ruby-trunk - Bug #7374][Open] File.expand_path resolving to first file/dir instead of absolute path — mdube@... (Martin Dubé) <mdube@...>

12 messages 2012/11/16

[#49463] [ruby-trunk - Feature #7375][Open] embedding libyaml in psych for Ruby 2.0 — "tenderlovemaking (Aaron Patterson)" <aaron@...>

21 messages 2012/11/16
[#49494] [ruby-trunk - Feature #7375] embedding libyaml in psych for Ruby 2.0 — "vo.x (Vit Ondruch)" <v.ondruch@...> 2012/11/17

[#49467] [ruby-trunk - Feature #7377][Open] #indetical? as an alias for #equal? — "aef (Alexander E. Fischer)" <aef@...>

13 messages 2012/11/17

[#49558] [ruby-trunk - Bug #7395][Open] Negative numbers can't be primes by definition — "zzak (Zachary Scott)" <zachary@...>

10 messages 2012/11/19

[#49566] [ruby-trunk - Feature #7400][Open] Incorporate OpenSSL tests from JRuby. — "zzak (Zachary Scott)" <zachary@...>

11 messages 2012/11/19

[#49770] [ruby-trunk - Feature #7414][Open] Now that const_get supports "Foo::Bar" syntax, so should const_defined?. — "robertgleeson (Robert Gleeson)" <rob@...>

9 messages 2012/11/20

[#49950] [ruby-trunk - Feature #7427][Assigned] Update Rubygems — "mame (Yusuke Endoh)" <mame@...>

17 messages 2012/11/24

[#50043] [ruby-trunk - Bug #7429][Open] Provide options for core collections to customize behavior — "headius (Charles Nutter)" <headius@...>

10 messages 2012/11/24

[#50092] [ruby-trunk - Feature #7434][Open] Allow caller_locations and backtrace_locations to receive negative params — "sam.saffron (Sam Saffron)" <sam.saffron@...>

21 messages 2012/11/25

[#50094] [ruby-trunk - Bug #7436][Open] Allow for a "granularity" flag for backtrace_locations — "sam.saffron (Sam Saffron)" <sam.saffron@...>

11 messages 2012/11/25

[#50207] [ruby-trunk - Bug #7445][Open] strptime('%s %z') doesn't work — "felipec (Felipe Contreras)" <felipe.contreras@...>

19 messages 2012/11/27

[#50424] [ruby-trunk - Bug #7485][Open] ruby cannot build on mingw32 due to missing __sync_val_compare_and_swap — "drbrain (Eric Hodel)" <[email protected]>

15 messages 2012/11/30

[#50429] [ruby-trunk - Feature #7487][Open] Cutting through the issues with Refinements — "trans (Thomas Sawyer)" <transfire@...>

13 messages 2012/11/30

[ruby-core:48946] [ruby-trunk - Bug #7134] Signal handling bug in Mac OS X

From: "kosaki (Motohiro KOSAKI)" <kosaki.motohiro@...>
Date: 2012-11-05 17:19:04 UTC
List: ruby-core #48946
Issue #7134 has been updated by kosaki (Motohiro KOSAKI).

Assignee changed from kosaki (Motohiro KOSAKI) to nobu (Nobuyoshi Nakada)
Target version changed from 1.9.3 to next minor

Hi,

We are sorry, recursive lock is clearly unacceptable because recursive lock was not designed for trap handler. It lead to memory corruption.
When this issue was occur, C stack trace is below.

4   ruby--                        	0x0000000100260061 rb_mutex_lock + 1217 (thread_pthread.c:197)
5   ruby--                        	0x00000001002605c8 rb_mutex_synchronize + 24 (thread.c:4286)
6   ruby--                        	0x000000010015e4f0 io_binwrite + 512 (io.c:1163)
7   ruby--                        	0x000000010016156b io_write + 955 (io.c:1261)
8   ruby--                        	0x0000000100254947 vm_call0_body + 743 (vm_eval.c:110)
9   ruby--                        	0x000000010024a6c8 rb_funcall + 536 (vm_eval.c:49)
10  ruby--                        	0x0000000100160eff rb_io_puts + 159 (io.c:6717)
11  ruby--                        	0x0000000100254947 vm_call0_body + 743 (vm_eval.c:110)
12  ruby--                        	0x0000000100249f20 rb_funcall2 + 256 (vm_eval.c:750)
13  ruby--                        	0x0000000100256c55 vm_call_cfunc + 421 (vm_insnhelper.c:1442)
14  ruby--                        	0x000000010025668f vm_call_method + 287 (vm_insnhelper.c:1689)
15  ruby--                        	0x0000000100242f8c vm_exec_core + 10060 (insns.def:968)
16  ruby--                        	0x000000010024f024 vm_exec + 100 (vm.c:1159)
17  ruby--                        	0x000000010024e781 vm_invoke_proc + 161 (vm.c:680)
18  ruby--                        	0x000000010024e6d0 rb_vm_invoke_proc + 32 (vm.c:696)
19  ruby--                        	0x0000000100145695 proc_call + 117 (proc.c:567)
20  ruby--                        	0x0000000100254947 vm_call0_body + 743 (vm_eval.c:110)
21  ruby--                        	0x0000000100249f20 rb_funcall2 + 256 (vm_eval.c:750)
22  ruby--                        	0x000000010024d486 rb_eval_cmd + 262 (vm_eval.c:1379)
23  ruby--                        	0x000000010025c35a rb_threadptr_execute_interrupts_common + 330 (thread.c:1716)
24  ruby--                        	0x000000010025cd44 rb_thread_io_blocking_region + 164 (thread_pthread.c:196)
25  ruby--                        	0x000000010016fa3c io_binwrite_string + 60 (io.c:1116)
26  ruby--                        	0x000000010013fd0d rb_ensure + 109 (eval.c:802)
27  ruby--                        	0x000000010015e4f0 io_binwrite + 512 (io.c:1163)
28  ruby--                        	0x000000010016156b io_write + 955 (io.c:1261)
29  ruby--                        	0x0000000100254947 vm_call0_body + 743 (vm_eval.c:110)
30  ruby--                        	0x000000010024a6c8 rb_funcall + 536 (vm_eval.c:49)
31  ruby--                        	0x0000000100160eff rb_io_puts + 159 (io.c:6717)
32  ruby--                        	0x0000000100254947 vm_call0_body + 743 (vm_eval.c:110)
33  ruby--                        	0x0000000100249f20 rb_funcall2 + 256 (vm_eval.c:750)
34  ruby--                        	0x0000000100256c55 vm_call_cfunc + 421 (vm_insnhelper.c:1442)
35  ruby--                        	0x000000010025668f vm_call_method + 287 (vm_insnhelper.c:1689)
36  ruby--                        	0x0000000100242f8c vm_exec_core + 10060 (insns.def:968)
37  ruby--                        	0x000000010024f024 vm_exec + 100 (vm.c:1159)
38  ruby--                        	0x000000010024f965 rb_iseq_eval_main + 405 (vm.c:1402)
39  ruby--                        	0x000000010013efdf ruby_exec_internal + 111 (eval.c:251)
40  ruby--                        	0x000000010013ef27 ruby_run_node + 71 (eval.c:303)
41  ruby--                        	0x000000010010b17f main + 79 (main.c:36)
42  libdyld.dylib                 	0x00007fff8997e7e1 start + 1

Now, almost all IO hold a mutex durling io for serialization since r20144 (aka 1.9.2p0). Then, you can't
use any IOs in trap handler.

Ho hum. I think this spec is too user unfriendly and NEWS-1.9.2 seems not explain this incompatibility.
Nobu, Can you please explain current spec, your intention and your recommended trap handler writing style.


----------------------------------------
Bug #7134: Signal handling bug in Mac OS X
https://bugs.ruby-lang.org/issues/7134#change-32450

Author: auastro (Andy Kitchen)
Status: Assigned
Priority: Normal
Assignee: nobu (Nobuyoshi Nakada)
Category: 
Target version: next minor
ruby -v: ruby 1.9.3p194 (2012-04-20 revision 35410) [x86_64-darwin12]


On Mac OS X, running the attached program causes the exception below about 1/10 times it is run.

$ ruby hup.rb 
hup.rb:2:in `write': deadlock; recursive locking (ThreadError)
	from hup.rb:2:in `puts'
	from hup.rb:2:in `puts'
	from hup.rb:2:in `block in <main>'
	from hup.rb:6:in `call'
	from hup.rb:6:in `write'
	from hup.rb:6:in `puts'
	from hup.rb:6:in `puts'
	from hup.rb:6:in `<main>'

The expected output is:
> In Hup Handler
>Finished...

or

> Finished...
> In Hup Handler

My ruby is compiled with clang:

$ clang --version
Apple clang version 4.1 (tags/Apple/clang-421.11.65) (based on LLVM 3.1svn)
Target: x86_64-apple-darwin12.2.0
Thread model: posix



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

In This Thread