[#14715] HTTP Client with Ruby — TAKAHASHI Masayoshi <maki@...>

高橋征義です。

32 messages 1999/06/01
[#14834] Re: HTTP Client with Ruby — "NAKAMURA, Hiroshi" <nakahiro@...> 1999/06/05

なひです.

[#14836] Re: HTTP Client with Ruby — TAKAHASHI Masayoshi <maki@...> 1999/06/05

高橋征義です。

[#14858] Re: HTTP Client with Ruby — gotoken@... (GOTO Kentaro) 1999/06/07

ごとけんです

[#14896] Re: HTTP Client with Ruby — TAKAHASHI Masayoshi <maki@...> 1999/06/07

高橋です。みなさまどうもありがとうございます。

[#14907] Re: HTTP Client with Ruby — "NAKAMURA, Hiroshi" <nakahiro@...> 1999/06/08

なひです.

[#14766] ruby 1.3.4 on BSD/OS 3.1 — Yasunari Momoi <momo@...>

BSD/OS 3.1 (with kame) で ruby-1.3.4 を作ろうとしているんで

18 messages 1999/06/03
[#14770] Re: ruby 1.3.4 on BSD/OS 3.1 — matz@... (Yukihiro Matsumoto) 1999/06/03

まつもと ゆきひろです

[#15012] ext ML の過去ログはいずこ? — 中村暁史 <anakamur@...>

22 messages 1999/06/16
[#15013] Re: ext ML の過去ログはいずこ? — Shin-ichiro Hara <sinara@...> 1999/06/16

原です。

[#15014] Re: ext ML の過去ログはいずこ? — 中村暁史 <anakamur@...> 1999/06/16

[#15015] Re: ext ML の過去ログはいずこ? — Kazunori Akaishi <akaishi@...> 1999/06/16

akaishi です。

[#15016] Re: ext ML の過去ログはいずこ? — 中村暁史 <anakamur@...> 1999/06/16

[#15045] mail library — Minero Aoki <aamine@...>

あおきです。

96 messages 1999/06/20
[#15075] Re: mail library — Minero Aoki <aamine@...> 1999/06/22

あおきです。

[#15122] Re: mail library — Minero Aoki <aamine@...> 1999/06/28

あおきです。

[#15123] Re: mail library — matz@... (Yukihiro Matsumoto) 1999/06/28

まつもと ゆきひろです

[#15125] Re: mail library — WATANABE Hirofumi <watanabe@...> 1999/06/28

わたなべです.

[#15126] Re: mail library — matz@... (Yukihiro Matsumoto) 1999/06/28

まつもと ゆきひろです

[#15146] Re: mail library — Minero Aoki <aamine@...> 1999/06/29

あおきです。

[#15148] Re: mail library — matz@... (Yukihiro Matsumoto) 1999/06/29

まつもと ゆきひろです

[#15161] Re: mail library — Minero Aoki <aamine@...> 1999/06/30

あおきです。

[#15165] Re: mail library — "NAKAMURA, Hiroshi" <nakahiro@...> 1999/06/30

なひです.

[#15167] Re: mail library — Minero Aoki <aamine@...> 1999/06/30

あおきです。

[#15219] Re: mail library — "NAKAMURA, Hiroshi" <nakahiro@...> 1999/07/03

なひです.

[#15228] Re: mail library — hisanori@... 1999/07/05

松尾です。

[#15279] Re: mail library — "NAKAMURA, Hiroshi" <nakahiro@...> 1999/07/07

なひです.

[#15172] Re:mail library — Takeo Iwama <iwamat@...> 1999/07/01

はじめまして、岩間です。

[#15218] JUS workshop ( was Re:mail library ) — "NAKAMURA, Hiroshi" <nakahiro@...> 1999/07/03

なひです.mod_rubyと格闘中です.

[#15220] Mod_ruby server does not respond when POST request. — "NAKAMURA, Hiroshi" <nakahiro@...> 1999/07/03

なひです.mod_rubyネタはruby-listでよいでしょうか?

[#15226] Re: Mod_ruby server does not respond when POST request. — Shugo Maeda <shugo@...> 1999/07/05

前田です。

[#15240] mod_ruby/0.1.2 with Apache/1.3.6 on Solaris/2.5.1 ( was Re: Mod_ruby server does not respond when POST request. ) — "NAKAMURA, Hiroshi" <nakahiro@...> 1999/07/05

なひです.

[#15242] Re: mod_ruby/0.1.2 with Apache/1.3.6 on Solaris/2.5.1 ( was Re: Mod_ruby server does not respond when POST request. ) — Shugo Maeda <shugo@...> 1999/07/05

前田です。

[#15308] Re: mod_ruby/0.1.2 with Apache/1.3.6 on Solaris/2.5.1 — Katsuyuki Komatsu <komatsu@...> 1999/07/08

小松です。

[#15310] Re: mod_ruby/0.1.2 with Apache/1.3.6 on Solaris/2.5.1 — Shugo Maeda <shugo@...> 1999/07/08

前田です。

[#15313] Re: mod_ruby/0.1.2 with Apache/1.3.6 on Solaris/2.5.1 — Katsuyuki Komatsu <komatsu@...> 1999/07/08

小松です。

[#15057] 複雑?な構造体の定義方法 — Koichi Shigematsu <shige@...>

しげまつ と申します。  とっても久しぶりの投稿です。

18 messages 1999/06/21
[#15058] Re: 複雑?な構造体の定義方法 — matz@... (Yukihiro Matsumoto) 1999/06/21

まつもと ゆきひろです

[#15059] Re: 複雑?な構造体の定義方法 — Koichi Shigematsu <shige@...> 1999/06/21

しげまつ です。

[#15061] Re: 複雑?な構造体の定義方法 — matz@... (Yukihiro Matsumoto) 1999/06/21

まつもと ゆきひろです

[#15065] pattern (Re: 複雑?な構造体の定義方法) — gotoken@... (GOTO Kentaro) 1999/06/21

ごとけんです

[#15076] Re: pattern (Re: 複雑?な構造体の定義方法) — matz@... (Yukihiro Matsumoto) 1999/06/22

まつもと ゆきひろです

[#15077] Re: pattern (Re: 複雑?な構造体の定義方法) — gotoken@... (GOTO Kentaro) 1999/06/22

ごとけんです

[ruby-list:15112] pty on NeXTSTEP3.3J

From: SHIROYAMA Takayuki <psi@...>
Date: 1999-06-25 10:53:38 UTC
List: ruby-list #15112
しろやまです。

以前申してました、ptyがNeXTSTEP環境にてコンパイルでき
ない件に関してです。

問題点としては、まずNeXTでは wait3が

int wait3(union wait *, int, struct rusage *);

と定義、また

#define WIFSTOPPED(x)   ((x).w_stopval == WSTOPPED)

(また、w_stopvalは実際には  
w_S.w_stopvalというメンバになる)

と定義されております。

ところが、pty.c では

      int statusp;

っと定義された変数 statuspを使って

        cpid = wait3((int *) &statusp, WUNTRACED|WNOHANG, 0);

っと wait3へ(さらに (int  
*)でキャストされて(T^T))渡され、
また183行目で

    if (WIFSTOPPED(statusp)) { /* suspend */

っと使われており、これが

    if( statusp.w_S.w_stopval == WSTOPPED )

っと展開され、 int型には w_Sなんてメンバが無くて、

pty.c:183: request for member `w_S' in something not a structure or union

っとエラーになってしまう訳です。(もちろん、wait3の引数など
でも型が違うので warningが出ますが)

以下のパッチで、NeXTの場合に限り、statuspの型を  
union wait
に変更しており、これにより上記の問題を回避すると、コンパイ
ルには成功しました。

*** pty.orig/pty.c   Thu Jun 10 19:31:52 1999
--- pty/pty.c       Fri Jun 25 12:22:02 1999
***************
*** 154,160 ****
--- 154,164 ----
  {
      int cpid;
      int i,n = -1;
+ #ifndef NeXT
      int statusp;
+ #else
+       union wait statusp;
+ #endif

      for (;;) {
  #ifdef HAVE_WAITPID


ところが、これだけでは以下のようなエラーが出て何故かうまく
いきません(^^;

tiger> ruby ./shl.rb
./shl.rb:12: [BUG] Segmentation fault


なのでGDBでおっかけてみました。

tiger> gdb ../../ruby
GDB is free software and you are welcome to distribute copies of it
 under certain conditions; type "show copying" to see the conditions.
There is absolutely no warranty for GDB; type "show warranty" for details.
GDB 4.7 (NeXT 3.1), Copyright 1992 Free Software Foundation, Inc...
Reading symbols from  
/Users/psi/work/ruby/ruby-1.3.4-990624/ext/pty/../../ruby...done.
Reading symbols from /usr/shlib/libsys_s.B.shlib...done.

(gdb) run shl.rb
Starting program:  
/Users/psi/work/ruby/ruby-1.3.4-990624/ext/pty/../../ruby shl.rb
Reading symbols from loaded file...done.
Program generated(1): Memory access exception on address 0xbf006570  
(invalid address).
Reading in symbols for eval.c...done.
require_method (argc=2, argv=0xbffff6a8, self=2072272) at eval.c:4781
4781            rb_f_require(self, argv[i]);
(gdb) where
Reading in symbols for main.c...done.
Reading in symbols for crt0.c...done.
#0  require_method (argc=2, argv=0xbffff6a8, self=2072272) at eval.c:4781
#1  0xbb01 in call_cfunc (func=0xe19c <require_method>,  
recv=2072272, len=0, argc=1, argv=0x2) at eval.c:3663
#2  0xc05e in rb_call0 (klass=2075792, recv=2072272, id=7721,  
argc=1, argv=0xbffff6a8, body=0x1ef854, nosuper=1) at eval.c:3802
#3  0xc7fd in rb_call (klass=2075792, recv=2072272, mid=7721,  
argc=1, argv=0xbffff6a8, scope=1) at eval.c:3996
#4  0x8004 in rb_eval (self=2072272, node=0x1ee9b8) at eval.c:2192
#5  0x6984 in rb_eval (self=2072272, node=0x1ee92c) at eval.c:1729
#6  0x51d4 in eval_node (self=2072272) at eval.c:967
#7  0x52c2 in ruby_run () at eval.c:1003
#8  0x3f5c in main (argc=2, argv=0xbffffc74, envp=0xbffffc80) at main.c:39
#9  0x3eff in start () at crt0.c:134

(gdb) list
4776        VALUE self;
4777    {
4778        int i;
4779
4780        for (i=0; i<argc; i++) {
4781            rb_f_require(self, argv[i]);
4782        }
4783        return Qnil;
4784    }
4785
(gdb) p i
No symbol "i" in current context.


eval.cのみ -O2オプションをはずす、あるいは  
-Oのみにすると
shl.rbも問題なく動作します。

どうも最適化の関係でeval.c: 4778行目で定義されている int i
がなくなってしまっている模様です。(コンパイラはNeXT-
STEP3.3J付属のccである gcc2.5.8です)

また、pty をスタティックリンクするとこれまた正常動作し
ます。

以上より上記パッチを適用した後に、

1. pty.oをスタティックリンクする
2. eval.cのみ最適化を行わない、あるいは-Oのみとする

を行わないと、残念ながらNeXTSTEPではptyは使えません。

# eval.c:4778行目の int i に volatile int i  
と変更した所、何か
# 別の場所でクラッシュしてくれました。。。どうもeval.c
# にはそれ以外にもいろいろとあるみたいで。。。(^^;;;

とりあえず、御報告まで

---
SHIROYAMA Takayuki
PS: って、NeXTでruby使ってるのって私だけなんだろうか、
      やっぱり。。。

In This Thread

Prev Next