Bug #3693

visibility hidden functions

Added by Narihiro Nakamura almost 5 years ago. Updated over 4 years ago.

[ruby-dev:42022]
Status:Closed
Priority:Normal
Assignee:-
ruby -v:ruby 1.9.3dev (2010-08-13 trunk 28973) [i686-linux] Backport:

Description

=begin
nari です。

ヘッダファイルに定義されていない関数を何個かみつけました。
修正したパッチを添付します。

定義漏れしていた関数は ext/objspace/objspace.c 内で使われているのですが、
この拡張ライブラリにはテストがなく、気づくのが遅れたようです。

そこで ext/objspace/objspace.c について簡単なテストを書いてみました。
書いたテストを実行した所、数点SEGVする箇所を見つけたので、それについて
も修正しています。

objspaceのメンテナの方からお許し頂ければコミットしたいと思います。
=end

fixed_undifinitions_on_header.patch Magnifier (1.38 KB) Narihiro Nakamura, 08/14/2010 06:56 AM

fixed_objspace_test.rb Magnifier (2.33 KB) Narihiro Nakamura, 08/14/2010 06:56 AM

History

#1 Updated by Koichi Sasada almost 5 years ago

=begin
 ささだです.

(2010/08/14 6:56), Narihiro Nakamura wrote:

ヘッダファイルに定義されていない関数を何個かみつけました。
修正したパッチを添付します。

 これらの関数は,まさに objspace.c 用なのと,あまり乱用してほしくないの
で,とりあえずヘッダファイルに入れていません.

そこで ext/objspace/objspace.c について簡単なテストを書いてみました。
書いたテストを実行した所、数点SEGVする箇所を見つけたので、それについて
も修正しています。

 具体的に,SEGV したのはどこで,修正はどれでしょうか.と思った
ら,fixed_objspace_test.rb の中かー.こっちは良いと思います.

--
// SASADA Koichi at atdot dot net
=end

#2 Updated by Koichi Sasada almost 5 years ago

=begin
 ささだです.

(2010/08/14 6:56), Narihiro Nakamura wrote:

ヘッダファイルに定義されていない関数を何個かみつけました。
修正したパッチを添付します。

 これらの関数は,まさに objspace.c 用なのと,あまり乱用してほしくないの
で,とりあえずヘッダファイルに入れていません.

そこで ext/objspace/objspace.c について簡単なテストを書いてみました。
書いたテストを実行した所、数点SEGVする箇所を見つけたので、それについて
も修正しています。

 具体的に,SEGV したのはどこで,修正はどれでしょうか.と思った
ら,fixed_objspace_test.rb の中かー.こっちは良いと思います.

--
// SASADA Koichi at atdot dot net

=end

#3 Updated by Koichi Sasada almost 5 years ago

=begin
(2010/08/14 7:44), SASADA Koichi wrote:

そこで ext/objspace/objspace.c について簡単なテストを書いてみました。
書いたテストを実行した所、数点SEGVする箇所を見つけたので、それについて
も修正しています。

 具体的に,SEGV したのはどこで,修正はどれでしょうか.と思った
ら,fixed_objspace_test.rb の中かー.こっちは良いと思います.

 あと,このタイミングで 1.9.2 への反映はどうしたものでしょうか.

--
// SASADA Koichi at atdot dot net

=end

#4 Updated by Narihiro Nakamura almost 5 years ago

=begin
nari です。

2010年8月14日7:44 SASADA Koichi ko1@atdot.net:

 ささだです.

(2010/08/14 6:56), Narihiro Nakamura wrote:

ヘッダファイルに定義されていない関数を何個かみつけました。
修正したパッチを添付します。

これらの関数は,まさに objspace.c 用なのと,あまり乱用してほしくないの
で,とりあえずヘッダファイルに入れていません.

r28709のコミットで、ヘッダファイルに未定義な関数はC拡張ライブラリから見
えなくなっているようです。
なので、現状としてはヘッダファイルの修正を行わないと objspace は動かな
いと思います。

うーん。推奨しない関数の扱いはどうするといいんでしょうか…。

そこで ext/objspace/objspace.c について簡単なテストを書いてみました。
書いたテストを実行した所、数点SEGVする箇所を見つけたので、それについて
も修正しています。

 具体的に,SEGV したのはどこで,修正はどれでしょうか.と思った
ら,fixed_objspace_test.rb の中かー.こっちは良いと思います.

ありがとうございます。上記の問題が解決したらコミットしたいと思います。

--
Narihiro Nakamura (nari)
=end

#5 Updated by Narihiro Nakamura almost 5 years ago

=begin
nari です。

2010年8月14日7:44 SASADA Koichi ko1@atdot.net:

 ささだです.

(2010/08/14 6:56), Narihiro Nakamura wrote:

ヘッダファイルに定義されていない関数を何個かみつけました。
修正したパッチを添付します。

これらの関数は,まさに objspace.c 用なのと,あまり乱用してほしくないの
で,とりあえずヘッダファイルに入れていません.

r28709のコミットで、ヘッダファイルに未定義な関数はC拡張ライブラリから見
えなくなっているようです。
なので、現状としてはヘッダファイルの修正を行わないと objspace は動かな
いと思います。

うーん。推奨しない関数の扱いはどうするといいんでしょうか…。

そこで ext/objspace/objspace.c について簡単なテストを書いてみました。
書いたテストを実行した所、数点SEGVする箇所を見つけたので、それについて
も修正しています。

 具体的に,SEGV したのはどこで,修正はどれでしょうか.と思った
ら,fixed_objspace_test.rb の中かー.こっちは良いと思います.

ありがとうございます。上記の問題が解決したらコミットしたいと思います。

--
Narihiro Nakamura (nari)

=end

#6 Updated by Kouhei Sutou almost 5 years ago

=begin
須藤です。

In
" Re: [Bug #3693] visibility hidden functions" on Sat, 14 Aug 2010 08:47:55 +0900,
Narihiro Nakamura authornari@gmail.com wrote:

2010年8月14日7:44 SASADA Koichi ko1@atdot.net:

(2010/08/14 6:56), Narihiro Nakamura wrote:

ヘッダファイルに定義されていない関数を何個かみつけました。
修正したパッチを添付します。

これらの関数は,まさに objspace.c 用なのと,あまり乱用してほしくないの
で,とりあえずヘッダファイルに入れていません.

r28709のコミットで、ヘッダファイルに未定義な関数はC拡張ライブラリから見
えなくなっているようです。
なので、現状としてはヘッダファイルの修正を行わないと objspace は動かな
いと思います。

うーん。推奨しない関数の扱いはどうするといいんでしょうか…。

私は、こういうときは、private.hみたいなインストールされない
ヘッダーファイルを作って、.cの中からだけそれをincludeするよ
うにしています。

=end

#7 Updated by Nobuyoshi Nakada almost 5 years ago

=begin
なかだです。

At Sat, 14 Aug 2010 09:00:21 +0900,
Kouhei Sutou wrote in :

うーん。推奨しない関数の扱いはどうするといいんでしょうか…。

私は、こういうときは、private.hみたいなインストールされない
ヘッダーファイルを作って、.cの中からだけそれをincludeするよ
うにしています。

これも何年か前からのペンディング事項の一つなんですが、なんて名前
にしますかねぇ。includeの下に置かなければインストールされないの
で割とどんなのでもいいんじゃないかとも思いますが。

--
--- 僕の前にBugはない。
--- 僕の後ろにBugはできる。
中田 伸悦

=end

#8 Updated by Kouhei Sutou almost 5 years ago

=begin
須藤です。

In 4C65FB08.3090308@ruby-lang.org
" Re: [Bug #3693] visibility hidden functions" on Sat, 14 Aug 2010 11:10:28 +0900,
Nobuyoshi Nakada nobu@ruby-lang.org wrote:

うーん。推奨しない関数の扱いはどうするといいんでしょうか…。

私は、こういうときは、private.hみたいなインストールされない
ヘッダーファイルを作って、.cの中からだけそれをincludeするよ
うにしています。

これも何年か前からのペンディング事項の一つなんですが、なんて名前
にしますかねぇ。includeの下に置かなければインストールされないの
で割とどんなのでもいいんじゃないかとも思いますが。

今回のやつだとgc.hでもよさそうな気がします。
が、推奨しないだけで使いたい人は(自己責任で)使ってもいいよ、
くらいならinclude/ruby/experimental.hとかに入れて、明示的に
include ruby/experimental.hしないと使えないようにするのでも
よさそうな気がします。

=end

#9 Updated by Narihiro Nakamura almost 5 years ago

=begin
nari です。

中田さんの修正のおかげで ext/objspace/objspace.c が動くようになったので
テストとバグ修正をコミットしました(r28986)。

=end

#10 Updated by Nobuyoshi Nakada almost 5 years ago

  • Status changed from Open to Closed

=begin

=end

#11 Updated by Koichi Sasada almost 5 years ago

=begin
 ささだです.

 SEGV バグなので,1.9.2 にバックポートして頂ければと思います.

(2010/08/14 18:17), Narihiro Nakamura wrote:

チケット #3693 が更新されました。 (by Narihiro Nakamura)

nari です。

中田さんの修正のおかげで ext/objspace/objspace.c が動くようになったので
テストとバグ修正をコミットしました(r28986)。


http://redmine.ruby-lang.org/issues/show/3693


http://redmine.ruby-lang.org

--
// SASADA Koichi at atdot dot net

=end

#12 Updated by Yuki Sonoda almost 5 years ago

=begin
On 8/22/10 11:31 PM, SASADA Koichi wrote:

 SEGV バグなので,1.9.2 にバックポートして頂ければと思います.

はい。十分に「枯れた」パッチですし、バックポートします。

--
Yugui yugui@yugui.jp
http://yugui.jp
私は私をDumpする

=end

Also available in: Atom PDF