豊福です。 BTRON仕様 OS 超漢字3の新しいセルフ開発環境が出たので ruby1.6.3 を作り直したのですが test.rb で落ちるようになってしまいました。 落ちるパターンをいくつか調べたところ、まず、 raise "foo" の1行プログラムで Signal 15 で落ちます。longjmp 関係でしょうか。 もう一つの落ちるパターンは (1..125).each {|i| i*i} です。やはり Signal 15 です。 これと似たような落ちるプログラムを最後にいくつか付けます。 これらを見るとメソッド呼び出し?回数が 125辺り以上になると落ちる ようにみえます。 どこらへん調べるとよいでしょうか。できれば調べ方も。 config.h も最後に付けておきます。 −−− 落ちるプログラム1 −−− print 1, "\n" print 2, "\n" ... # 3から31まで省略 print 32, "\n" −−− 落ちるプログラム2 −−− (1..63).each {|i| print "\n"} −−− 落ちるプログラム3 −−− s = ""; n = 0 (1..63).each {|i| s += "x"; n += i} −−− 落ちるプログラム4 −−− s = "" (1..125).each {|i| s << "x"} −−− 落ちるプログラム5 −−− s1 = s2 = s3 = "" (1..43).each {|i| s1 += "x"; s2 += "x"; s3 += "x"} −−− 落ちるプログラム6 −−− s1 = s2 = s3 = s4 = s5 = "" (1..25).each {|i| s1 += "x"; s2 += "x"; s3 += "x"; s4 += "x"; s5 += "x"} −−− config.h −−− #define SIZEOF_INT 4 #define SIZEOF_SHORT 2 #define SIZEOF_LONG 4 #define SIZEOF_LONG_LONG 8 #define SIZEOF___INT64 0 #define SIZEOF_VOIDP 4 #define SIZEOF_FLOAT 4 #define SIZEOF_DOUBLE 8 #define HAVE_PROTOTYPES 1 #define TOKEN_PASTE(x,y) x##y #define HAVE_STDARG_PROTOTYPES 1 #define HAVE_LIBCRYPT 1 #define HAVE_DIRENT_H 1 #define STDC_HEADERS 1 #define HAVE_SYS_WAIT_H 1 #define HAVE_STDLIB_H 1 #define HAVE_STRING_H 1 #define HAVE_UNISTD_H 1 #define HAVE_LIMITS_H 1 #define HAVE_SYS_FILE_H 1 #define HAVE_SYS_IOCTL_H 1 #define HAVE_FCNTL_H 1 #define HAVE_SYS_FCNTL_H 1 #define HAVE_SYS_SELECT_H 1 #define HAVE_SYS_TIME_H 1 #define HAVE_SYS_TIMES_H 1 #define HAVE_SYS_PARAM_H 1 #define HAVE_PWD_H 1 #define HAVE_UTIME_H 1 #define HAVE_MEMORY_H 1 #define HAVE_SYS_RESOURCE_H 1 #define HAVE_ST_BLKSIZE 1 #define HAVE_ST_BLOCKS 1 #define HAVE_ST_RDEV 1 #define GETGROUPS_T gid_t #define RETSIGTYPE void #define HAVE_ALLOCA_H 1 #define HAVE_ALLOCA 1 #define HAVE_DUP2 1 #define HAVE_MEMMOVE 1 #define HAVE_MKDIR 1 #define HAVE_STRCASECMP 1 #define HAVE_STRNCASECMP 1 #define HAVE_STRERROR 1 #define HAVE_STRFTIME 1 #define HAVE_STRCHR 1 #define HAVE_STRSTR 1 #define HAVE_STRTOUL 1 #define HAVE_CRYPT 1 #define HAVE_VSNPRINTF 1 #define HAVE_ISNAN 1 #define HAVE_FINITE 1 #define HAVE_KILLPG 1 #define HAVE_WAIT4 1 #define HAVE_WAITPID 1 #define HAVE_GETCWD 1 #define HAVE_UTIMES 1 #define HAVE_FCNTL 1 #define HAVE_LSTAT 1 #define HAVE_READLINK 1 #define HAVE_SETITIMER 1 #define HAVE_GETRLIMIT 1 #define HAVE_SIGACTION 1 #define HAVE_TELLDIR 1 #define HAVE_SEEKDIR 1 #define HAVE_TZNAME 1 #define GETPGRP_VOID 1 #define SETPGRP_VOID 1 #define WORDS_BIGENDIAN 1 #define RSHIFT(x,y) ((x)>>(int)y) #define FILE_COUNT _r #define DEFAULT_KCODE KCODE_NONE #define USE_ELF 1 #define DLEXT ".so" #define RUBY_LIB "/usr/local/lib/ruby/1.6" #define RUBY_SITE_LIB "/usr/local/lib/ruby/site_ruby" #define RUBY_SITE_LIB2 "/usr/local/lib/ruby/site_ruby/1.6" #define RUBY_PLATFORM "-" #define RUBY_ARCHLIB "/usr/local/lib/ruby/1.6/-" #define RUBY_SITE_ARCHLIB "/usr/local/lib/ruby/site_ruby/1.6/-" #define NO_SAFE_RENAME 1 --- 豊福 toyofuku / juice.or.jp