[#31320] Import RubyGems to Ruby 1.9 — "NAKAMURA, Hiroshi" <nakahiro@...>

-----BEGIN PGP SIGNED MESSAGE-----

124 messages 2007/08/01
[#31321] Re: Import RubyGems to Ruby 1.9 — Nobuyoshi Nakada <nobu@...> 2007/08/01

なかだです。

[#31329] Re: Import RubyGems to Ruby 1.9 — "NAKAMURA, Hiroshi" <nakahiro@...> 2007/08/01

-----BEGIN PGP SIGNED MESSAGE-----

[#31918] Re: Import RubyGems to Ruby 1.9 — "NAKAMURA, Hiroshi" <nakahiro@...> 2007/09/30

-----BEGIN PGP SIGNED MESSAGE-----

[#31970] Re: Import RubyGems to Ruby 1.9 — "NAKAMURA, Hiroshi" <nakahiro@...> 2007/10/08

-----BEGIN PGP SIGNED MESSAGE-----

[#32023] Re: Import RubyGems to Ruby 1.9 — Yukihiro Matsumoto <matz@...> 2007/10/11

まつもと ゆきひろです

[#32062] Re: Import RubyGems to Ruby 1.9 — "NAKAMURA, Hiroshi" <nakahiro@...> 2007/10/15

-----BEGIN PGP SIGNED MESSAGE-----

[#32066] Re: Import RubyGems to Ruby 1.9 — Yukihiro Matsumoto <matz@...> 2007/10/15

まつもと ゆきひろです

[#32068] Re: Import RubyGems to Ruby 1.9 — "NAKAMURA, Hiroshi" <nakahiro@...> 2007/10/15

-----BEGIN PGP SIGNED MESSAGE-----

[#32069] Re: Import RubyGems to Ruby 1.9 — Yukihiro Matsumoto <matz@...> 2007/10/15

まつもと ゆきひろです

[#32070] Re: Import RubyGems to Ruby 1.9 — "NAKAMURA, Hiroshi" <nakahiro@...> 2007/10/15

-----BEGIN PGP SIGNED MESSAGE-----

[#32073] Re: Import RubyGems to Ruby 1.9 — Yukihiro Matsumoto <matz@...> 2007/10/15

まつもと ゆきひろです

[#32079] Re: Import RubyGems to Ruby 1.9 — "NAKAMURA, Hiroshi" <nakahiro@...> 2007/10/16

-----BEGIN PGP SIGNED MESSAGE-----

[#32080] Re: Import RubyGems to Ruby 1.9 — Yukihiro Matsumoto <matz@...> 2007/10/16

まつもと ゆきひろです

[#32132] Re: Import RubyGems to Ruby 1.9 — "NAKAMURA, Hiroshi" <nakahiro@...> 2007/10/23

-----BEGIN PGP SIGNED MESSAGE-----

[#32081] Re: Import RubyGems to Ruby 1.9 — Takahiro Kambe <taca@...> 2007/10/16

In message <471447D5.5050902@sarion.co.jp>

[#32087] Re: Import RubyGems to Ruby 1.9 — "Akinori MUSHA" <knu@...> 2007/10/17

 Rubygems は、基本的に他のパッケージシステムから包みやすい作り

[#32104] Re: Import RubyGems to Ruby 1.9 — akira yamada <akira@...> 2007/10/20

Tuesday 16 October 2007 14:09:13 に NAKAMURA, Hiroshi さんは書きました:

[#32109] Re: Import RubyGems to Ruby 1.9 — "NAKAMURA, Hiroshi" <nakahiro@...> 2007/10/20

-----BEGIN PGP SIGNED MESSAGE-----

[#31332] Re: Import RubyGems to Ruby 1.9 — Tadayoshi Funaba <tadf@...> 2007/08/01

> ちなみに「ruby/1.9.1の標準添付からどのライブラリを外すか?」という議論も

[#31858] Re: Import RubyGems to Ruby 1.9 — "NAKAMURA, Hiroshi" <nakahiro@...> 2007/09/25

-----BEGIN PGP SIGNED MESSAGE-----

[#31872] Re: Import RubyGems to Ruby 1.9 — "NAKAMURA, Hiroshi" <nakahiro@...> 2007/09/27

-----BEGIN PGP SIGNED MESSAGE-----

[#31905] Re: Import RubyGems to Ruby 1.9 — "NAKAMURA, Hiroshi" <nakahiro@...> 2007/09/29

-----BEGIN PGP SIGNED MESSAGE-----

[#31906] Re: Import RubyGems to Ruby 1.9 — Yukihiro Matsumoto <matz@...> 2007/09/29

まつもと ゆきひろです

[#31910] Re: Import RubyGems to Ruby 1.9 — "NAKAMURA, Hiroshi" <nakahiro@...> 2007/09/30

-----BEGIN PGP SIGNED MESSAGE-----

[#31920] Re: Import RubyGems to Ruby 1.9 — Yukihiro Matsumoto <matz@...> 2007/09/30

まつもと ゆきひろです

[#31323] Bignum#to_s の Karatsuba 基数変換による高速化 — "Kenta Murata" <muraken@...>

むらけんです.

16 messages 2007/08/01
[#31326] Re: Bignum#to_s の Karatsuba 基数変換による高速化 — Yukihiro Matsumoto <matz@...> 2007/08/01

まつもと ゆきひろです

[#31327] Re: Bignum#to_s の Karatsuba 基数変換による高速化 — "Kenta Murata" <muraken@...> 2007/08/01

むらけんです.

[#31328] Re: Bignum#to_s の Karatsuba 基数変換による高速化 — Yukihiro Matsumoto <matz@...> 2007/08/01

まつもと ゆきひろです

[#31525] いくつかのバグ報告と提案(5点) — eklerni <eklerni@...>

From:eklerni

13 messages 2007/08/20

[#31539] strtod の精度 — Satoshi Nakagawa <snakagawa@...>

中川といいます。

27 messages 2007/08/20
[#31542] Re: strtod の精度 — Yukihiro Matsumoto <matz@...> 2007/08/20

まつもと ゆきひろです

[ruby-dev:31533] Re: simultaneous exceptions dump core

From: "Yusuke ENDOH" <mame@...>
Date: 2007-08-20 13:16:57 UTC
List: ruby-dev #31533
遠藤です。

> > $ ./ruby -ve '
> > loop do
> >   begin
> >     Thread.start { sleep 100 }
> >   rescue Exception
> >   end
> > end
> > '
>
>  うちだと SEGV しなかったんですが、スレッド作り過ぎて変なことがおき
> てるんでしょうねぇ。どうデバッグしたものか。

ちなみにうちの実験環境は Debian/etch on coLinux (x86) です。
少しだけ追ってみました。


#0  0xffffe402 in __kernel_vsyscall ()
#1  0xb7dec811 in raise () from /lib/tls/i686/cmov/libc.so.6
#2  0xb7dedfb9 in abort () from /lib/tls/i686/cmov/libc.so.6
#3  0x080f42f0 in rb_bug (fmt=0x812376d "Segmentation fault") at error.c:228
#4  0x080b2160 in sigsegv (sig=11) at signal.c:535
#5  <signal handler called>
#6  0x080d077d in thread_free (ptr=0x83d9530) at vm.c:1538
#7  0x08062607 in garbage_collect () at gc.c:1288
#8  0x08062b7c in ruby_xmalloc (size=524288) at gc.c:256
#9  0x080cfeac in th_init2 (th=0x83d9a00) at vm.c:1620
#10 0x080cffb4 in ruby_thread_init (self=3069950400) at vm.c:1648
#11 0x080d003b in rb_thread_alloc (klass=3084005240) at vm.c:1671
#12 0x080dcbb5 in thread_create_core (klass=0, args=138253616, fn=0x12,
    arg=0x0) at thread.c:374
...

というバックトレース (と printf デバッグの結果) から見て、以下のような
感じに落ちるみたいです。


1. #10 ruby_thread_init 中で #9 th_init2 が呼ばれる (th->vm 未初期化)
2. #9 th_init2 中の ALLOC_N で GC が起きる
3. なぜか ruby_thread_init で初期化しようとしているスレッドが free される
4. #6 thread_free 中の th->vm->main_thread の参照で落ちる

# ちゃんと追えてないのですが、上記のどこかでコンテキストスイッチも
# 混ざってるような気がします。


試しに #11 rb_thread_alloc の
  VALUE self = thread_alloc(klass);
を VALUE volatile self = ... にしてみましたが、症状はかわりませんでした。


以上の情報で何かわかりますでしょうか。



> > また、これも関連するのかどうかもわかりませんが、以下の挙動は仕様でしょうか。
> > 落ちるまで 10 秒くらいかかり、再現性もあまりないです (数回に 1 回くらい?) 。
> >
> > $ ./ruby -ve '
> > loop do
> >   begin
> >     Thread.start(Thread.current) {|t| t.raise }
> >   rescue Exception
> >   end
> > end'
>
>  ネイティブスレッドが作れない == メモリが十分にない、ということなの
> で、どっちが早いか、ということではないかと思いました。

ああ、寝ぼけてました。ちゃんと ThreadError や NoMemoryError は投げられて
rescue Exception で潰されてるだけですね。

$ ./ruby -ve '
loop do
  begin
    Thread.start(Thread.current) {|t| t.raise }
  rescue Exception
    p $! unless $!.is_a? RuntimeError
  end
end
'
ruby 1.9.0 (2007-08-19 patchlevel 0) [i686-linux]
#<ThreadError: can't create Thread (12)>
#<NoMemoryError: failed to allocate memory>
[FATAL] failed to allocate memory

-- 
Yusuke ENDOH <mame@tsg.ne.jp>

In This Thread