青山です。

On Fri, 16 Jun 2000 12:12:54 +0900,
Shugo Maeda <shugo / ruby-lang.org> wrote:

> upでstackをのぼらないとpできないと思います。

あ、なるほど。取れました。今回のパッチを当てた状態の物を付けます。

> ひょっとすると以下のパッチで動作したりします?
> # 何か納得が行かないのですが。

落ちました。

(gdb) backtrace 
#0  0x4022442f in st_lookup (table=0x78656e75, 
    key=0xe59 <Address 0xe59 out of bounds>, value=0xbffff840) at st.c:253
#1  0x401d0d1c in search_method (klass=1076048529, id=3673, origin=0xbffff87c)
    at eval.c:245
#2  0x401d0d69 in rb_get_method_body (klassp=0xbffff8cc, idp=0xbffff8bc, 
    noexp=0xbffff8c0) at eval.c:263
#3  0x401daa5a in rb_call (klass=1076048529, recv=1076931812, mid=3673, 
    argc=0, argv=0x0, scope=1) at eval.c:4219
#4  0x401dae34 in rb_funcall (recv=1076931812, mid=3673, n=0) at eval.c:4316
#5  0x401ae1b5 in thread_kill (thread=1076931812) at mod_ruby.c:562
#6  0x401d96e0 in rb_protect (proc=0x401ae180 <thread_kill>, data=1076931812, 
    state=0x0) at eval.c:3707
#7  0x401ae62b in ruby_handler0 (load=0x401ae200 <load_ruby_script>, 
    r=0x80e7e44) at mod_ruby.c:699
#8  0x401ae68d in ruby_handler (r=0x80e7e44) at mod_ruby.c:718
#9  0x80514e5 in ap_invoke_handler ()
#10 0x805f6cb in ap_some_auth_required ()
#11 0x805f728 in ap_process_request ()
#12 0x80599a4 in ap_child_terminate ()
#13 0x8059adb in ap_child_terminate ()
#14 0x8059be8 in ap_child_terminate ()
#15 0x805a0db in ap_child_terminate ()
#16 0x805a7ee in main ()

(gdb) p *((thread_t) ((struct RData*) thread)->data)
$2 = {next = 0xb39583f, prev = 0x40233291, context = {{__jmpbuf = {1076928012, 
        1, 0, 61, 0, 0}, __mask_was_saved = 0, __saved_mask = {__val = {
          1076928092, 6893631, 135475688, 1076927792, 9449, 0, 6914111, 
          135475688, 9401, 0, 2, 2699327, 1076048529, 1076927952, 6105, 0, 
          6314047, 135475688, 0, 1076927852, 1076928032, 6486079, 135475688, 
          0, 12, 1076927872, 6314047, 135475688, 0, 1076927892, 1076927972, 
          6486079}}}}, result = 135475688, stk_len = 0, stk_max = 12, 
  stk_ptr = 0x40309da8, stk_pos = 0x61e03f, frame = 0x81331e8, 
  scope = 0x40309dbc, dyna_vars = 0x0, block = 0x0, iter = 0x7, 
  tag = 0x402bdcf0, klass = 16, wrapper = 135225480, flags = 0, 
  file = 0x29903f <Address 0x29903f out of bounds>, line = 1076048529, 
  tracing = 3595, errinfo = 0, last_status = 134990496, last_line = 6369343, 
  last_match = 135475688, safe = 1076927992, status = 9441, wait_for = 0, 
  fd = 6389823, readfds = {__fds_bits = {135475688, 9401, 0, 2, 188274751, 
      1076048529, 5681, 0, 0, 6369343, 135475688, 1076928052, 9433, 0, 
      6389823, 135475688, 9401, 0, 2, 2185279, 1076048529, 1076928812, 1, 0, 
      61, 0, 0, 0, 1076928892, 5845055, 135475688, 1076928732}}, writefds = {
    __fds_bits = {9425, 1076928132, 5855295, 135475688, 1076928152, 1, 0, 
      5859391, 135475688, 1076928192, 0, 0, 5855295, 135475688, 1076928212, 1, 
      0, 5855295, 135475688, 1076928572, 2, 1076928172, 5961791, 135475688, 0, 
      11, 1076928232, 5777471, 135475688, 1076928492, 1076928372, 
      1076928292}}, exceptfds = {__fds_bits = {50337855, 135279384, 135203944, 
      1076444612, 1076928272, 38281279, 135279384, 1076930952, 1076928312, 
      1076930732, 5957695, 135475688, 0, 0, 0, 49815615, 135279384, 
      1076928332, 1076928312, 0, 50001983, 135279384, 0, 95, 1076928352, 
      49901631, 135279384, 1076928392, 0, 0, 5890111, 135475688}}, 
  select_value = 1076928412, delay = 0, join = 0x2f9803f, abort = 135279384, 
  priority = 10777, gid = 0, locals = 0x3, thread = 7}


-- 
青山 和光 Wakou Aoyama <wakou / fsinet.or.jp>