ruby-dev (Japanese) list archive (unofficial mirror)
 help / color / mirror / Atom feed
* [ruby-dev:47509] [ruby-trunk - Bug #8644] valgrind error in a readline test
       [not found] <redmine.issue-8644.20130716211304@ruby-lang.org>
@ 2013-07-16 12:47 ` akr (Akira Tanaka)
  2013-07-18  8:41 ` [ruby-dev:47525] " akr (Akira Tanaka)
                   ` (4 subsequent siblings)
  5 siblings, 0 replies; 6+ messages in thread
From: akr (Akira Tanaka) @ 2013-07-16 12:47 UTC (permalink / raw
  To: ruby developers list


Issue #8644 has been updated by akr (Akira Tanaka).

File test_closed_outstream-segv.txt added

readline のテストについて報告したのですが、
内容が長すぎたのか、途切れてしまったので、
SEGV したときのログを添付します。

あと、長すぎたためか、メールも ruby-dev には流れなかったようです。


----------------------------------------
Bug #8644: valgrind error in a readline test
https://bugs.ruby-lang.org/issues/8644#change-40532

Author: akr (Akira Tanaka)
Status: Open
Priority: Normal
Assignee: 
Category: 
Target version: 
ruby -v: ruby 2.1.0dev (2013-07-16 trunk 42006) [x86_64-linux]
Backport: 1.9.3: UNKNOWN, 2.0.0: UNKNOWN


test-all が readline のところで SEGV することがあったので、
とりあえず valgrind をかけてみたところ、ひとつ問題を指摘されました。

% ./ruby -v
ruby 2.1.0dev (2013-07-16 trunk 42006) [x86_64-linux]
% valgrind ./ruby -I.ext/x86_64-linux  ../../ruby/test/runner.rb ../../ruby/test/readline -n test_closed_outstream
==27651== Memcheck, a memory error detector
==27651== Copyright (C) 2002-2011, and GNU GPL'd, by Julian Seward et al.
==27651== Using Valgrind-3.7.0 and LibVEX; rerun with -h for copyright info
==27651== Command: ./ruby -I.ext/x86_64-linux ../../ruby/test/runner.rb ../../ruby/test/readline -n test_closed_outstream
==27651==
Run options: -n test_closed_outstream

# Running tests:

[1/1] TestReadline#test_closed_outstream==27651== Invalid read of size 4
==27651==    at 0x597B610: fileno (fileno.c:37)
==27651==    by 0x74A3EA6: readline_readline (readline.c:397)
==27651==    by 0x390B39: call_cfunc_m1 (vm_insnhelper.c:1348)
==27651==    by 0x396943: vm_call_cfunc_with_frame (vm_insnhelper.c:1492)
==27651==    by 0x395144: vm_call_cfunc (vm_insnhelper.c:1582)
==27651==    by 0x394915: vm_call_method (vm_insnhelper.c:1774)
==27651==    by 0x396A84: vm_call_general (vm_insnhelper.c:1925)
==27651==    by 0x3724DC: vm_exec_core (insns.def:1017)
==27651==    by 0x383DDF: vm_exec (vm.c:1198)
==27651==    by 0x389DBD: invoke_block_from_c (vm.c:646)
==27651==    by 0x38E299: vm_yield (vm.c:677)
==27651==    by 0x380012: rb_yield_0 (vm_eval.c:937)
==27651==  Address 0x847a1a0 is 0 bytes inside a block of size 568 free'd
==27651==    at 0x4C27D4E: free (vg_replace_malloc.c:427)
==27651==    by 0x5977CCC: fclose@@GLIBC_2.2.5 (iofclose.c:88)
==27651==    by 0x190F5C: nogvl_fclose (io.c:4048)
==27651==    by 0x3A33FC: call_without_gvl (thread.c:1244)
==27651==    by 0x3A3532: rb_thread_call_without_gvl (thread.c:1354)
==27651==    by 0x190E7C: maygvl_fclose (io.c:4057)
==27651==    by 0x190620: fptr_finalize (io.c:4099)
==27651==    by 0x16C922: rb_io_fptr_cleanup (io.c:4130)
==27651==    by 0x16CAE7: rb_io_close (io.c:4221)
==27651==    by 0x17A2F1: rb_io_close_m (io.c:4250)
==27651==    by 0x390B62: call_cfunc_0 (vm_insnhelper.c:1354)
==27651==    by 0x396943: vm_call_cfunc_with_frame (vm_insnhelper.c:1492)
==27651==
Finished tests in 0.521803s, 1.9164 tests/s, 5.7493 assertions/s.
1 tests, 3 assertions, 0 failures, 0 errors, 0 skips

ruby -v: ruby 2.1.0dev (2013-07-16 trunk 42006) [x86_64-linux]
==27651==
==27651== HEAP SUMMARY:
==27651==     in use at exit: 1,905,554 bytes in 30,452 blocks
==27651==   total heap usage: 94,021 allocs, 63,569 frees, 19,535,963 bytes allocated
==27651==
==27651== LEAK SUMMARY:
==27651==    definitely lost: 447,671 bytes in 3,643 blocks
==27651==    indirectly lost: 979,312 bytes in 17,524 blocks
==27651==      possibly lost: 0 bytes in 0 blocks
==27651==    still reachable: 478,571 bytes in 9,285 blocks
==27651==         suppressed: 0 bytes in 0 blocks
==27651== Rerun with --leak-check=full to see details of leaked memory
==27651==
==27651== For counts of detected and suppressed errors, rerun with: -v
==27651== ERROR SUMMARY: 1 errors from 1 contexts (suppressed: 4 from 4)

ちょっとソースを見たところ、fclose した後に fileno しているようですが、
これはよろしくないんじゃないでしょうか。

valgrind で指摘されたのが原因かどうかはわかりませんが、
SEGV したときのログもつけておきます。

...
[10980/13478] TestReadline#test_closed_outstream/home/akr/tst5/ruby/test/readline/test_readline.rb:298: [BUG] Segmentation fault
ruby 2.1.0dev (2013-07-16 trunk 42006) [x86_64-linux]

-- Control frame information -----------------------------------------------
c:0028 p:---- s:0127 e:000126 CFUNC  :readline
c:0027 p:0013 s:0124 e:000123 BLOCK  /home/akr/tst5/ruby/test/readline/test_readline.rb:298
c:0026 p:0036 s:0122 e:000121 METHOD /home/akr/tst5/ruby/lib/minitest/unit.rb:362
c:0025 p:0011 s:0115 e:000114 METHOD /home/akr/tst5/ruby/lib/test/unit/assertions.rb:65
c:0024 p:0057 s:0110 E:001488 BLOCK  /home/akr/tst5/ruby/test/readline/test_readline.rb:298 [FINISH]
c:0023 p:---- s:0106 e:000105 CFUNC  :pipe
c:0022 p:0019 s:0103 E:001400 METHOD /home/akr/tst5/ruby/test/readline/test_readline.rb:294
c:0021 p:0038 s:0099 e:000098 METHOD /home/akr/tst5/ruby/lib/test/unit.rb:858
c:0020 p:0069 s:0094 e:000093 METHOD /home/akr/tst5/ruby/lib/minitest/unit.rb:1265
c:0019 p:0019 s:0086 e:000085 METHOD /home/akr/tst5/ruby/lib/test/unit/testcase.rb:17
c:0018 p:0068 s:0082 e:000081 BLOCK  /home/akr/tst5/ruby/lib/minitest/unit.rb:940 [FINISH]
c:0017 p:---- s:0076 e:000075 CFUNC  :map
c:0016 p:0102 s:0073 e:000072 METHOD /home/akr/tst5/ruby/lib/minitest/unit.rb:933
c:0015 p:0015 s:0063 e:000061 BLOCK  /home/akr/tst5/ruby/lib/test/unit.rb:657 [FINISH]
c:0014 p:---- s:0058 e:000057 CFUNC  :each
c:0013 p:0067 s:0055 E:001fb0 METHOD /home/akr/tst5/ruby/lib/test/unit.rb:655
c:0012 p:0135 s:0049 E:001d30 METHOD /home/akr/tst5/ruby/lib/minitest/unit.rb:884
c:0011 p:0009 s:0039 E:002038 METHOD /home/akr/tst5/ruby/lib/minitest/unit.rb:1092
c:0010 p:0009 s:0036 E:001c10 BLOCK  /home/akr/tst5/ruby/lib/minitest/unit.rb:1079 [FINISH]
c:0009 p:---- s:0033 e:000032 CFUNC  :each
c:0008 p:0048 s:0030 E:001780 METHOD /home/akr/tst5/ruby/lib/minitest/unit.rb:1078
c:0007 p:0017 s:0026 E:0012d0 METHOD /home/akr/tst5/ruby/lib/minitest/unit.rb:1066
c:0006 p:0019 s:0022 E:000d90 METHOD /home/akr/tst5/ruby/lib/test/unit.rb:21
c:0005 p:0010 s:0018 E:001128 METHOD /home/akr/tst5/ruby/lib/test/unit.rb:774
c:0004 p:0040 s:0013 E:001968 METHOD /home/akr/tst5/ruby/lib/test/unit.rb:834
c:0003 p:0011 s:0010 E:0003c0 METHOD /home/akr/tst5/ruby/lib/test/unit.rb:838
c:0002 p:0192 s:0006 E:001610 EVAL   ../../ruby/test/runner.rb:29 [FINISH]
c:0001 p:0000 s:0002 E:0012a8 TOP    [FINISH]

../../ruby/test/runner.rb:29:in `<main>'
/home/akr/tst5/ruby/lib/test/unit.rb:838:in `run'
/home/akr/tst5/ruby/lib/test/unit.rb:834:in `run'
/home/akr/tst5/ruby/lib/test/unit.rb:774:in `run'
/home/akr/tst5/ruby/lib/test/unit.rb:21:in `run'
/home/akr/tst5/ruby/lib/minitest/unit.rb:1066:in `run'
/home/akr/tst5/ruby/lib/minitest/unit.rb:1078:in `_run'
/home/akr/tst5/ruby/lib/minitest/unit.rb:1078:in `each'
/home/akr/tst5/ruby/lib/minitest/unit.rb:1079:in `block in _run'
/home/akr/tst5/ruby/lib/minitest/unit.rb:1092:in `run_tests'
/home/akr/tst5/ruby/lib/minitest/unit.rb:884:in `_run_anything'
/home/akr/tst5/ruby/lib/test/unit.rb:655:in `_run_suites'
/home/akr/tst5/ruby/lib/test/unit.rb:655:in `each'
/home/akr/tst5/ruby/lib/test/unit.rb:657:in `block in _run_suites'
/home/akr/tst5/ruby/lib/minitest/unit.rb:933:in `_run_suite'
/home/akr/tst5/ruby/lib/minitest/unit.rb:933:in `map'
/home/akr/tst5/ruby/lib/minitest/unit.rb:940:in `block in _run_suite'
/home/akr/tst5/ruby/lib/test/unit/testcase.rb:17:in `run'
/home/akr/tst5/ruby/lib/minitest/unit.rb:1265:in `run'
/home/akr/tst5/ruby/lib/test/unit.rb:858:in `run_test'
/home/akr/tst5/ruby/test/readline/test_readline.rb:294:in `test_closed_outstream'
/home/akr/tst5/ruby/test/readline/test_readline.rb:294:in `pipe'
/home/akr/tst5/ruby/test/readline/test_readline.rb:298:in `block in test_closed_outstream'
/home/akr/tst5/ruby/lib/test/unit/assertions.rb:65:in `assert_raise'
/home/akr/tst5/ruby/lib/minitest/unit.rb:362:in `assert_raises'
/home/akr/tst5/ruby/test/readline/test_readline.rb:298:in `block (2 levels) in test_closed_outstream'
/home/akr/tst5/ruby/test/readline/test_readline.rb:298:in `readline'

-- C level backtrace information -------------------------------------------
../../ruby/test/runner.rb: TestReadline#test_closed_outstream(+0x290039) [0x2ab02f942039]
../../ruby/test/runner.rb: TestReadline#test_closed_outstream(+0x290129) [0x2ab02f942129]
../../ruby/test/runner.rb: TestReadline#test_closed_outstream(+0x34ed36) [0x2ab02fa00d36]
../../ruby/test/runner.rb: TestReadline#test_closed_outstream(rb_bug+0x192) [0x2ab02fa00b82]
../../ruby/test/runner.rb: TestReadline#test_closed_outstream(+0x175458) [0x2ab02f827458]
/lib/x86_64-linux-gnu/libpthread.so.0(+0xf030) [0x2ab02ff35030] ../nptl/sysdeps/pthread/funlockfile.c:30
/lib/x86_64-linux-gnu/libc.so.6(fflush+0x67) [0x2ab030a710d7] iofflush.c:43
/lib/x86_64-linux-gnu/libreadline.so.6(rl_redisplay+0x10ac) [0x2ab03541b51c]
/lib/x86_64-linux-gnu/libreadline.so.6(readline_internal_setup+0x85) [0x2ab035409565]
/lib/x86_64-linux-gnu/libreadline.so.6(readline+0x3b) [0x2ab03540a51b]
/home/akr/tst5/h64clang/objdir/.ext/x86_64-linux/readline.so(+0xb3f4) [0x2ab0351da3f4] ../../../../ruby/ext/readline/readline.c:288
../../ruby/test/runner.rb: TestReadline#test_closed_outstream(rb_protect+0x10f) [0x2ab02f6da56f]
/home/akr/tst5/h64clang/objdir/.ext/x86_64-linux/readline.so(+0x3f0b) [0x2ab0351d2f0b] ../../../../ruby/ext/readline/readline.c:406
../../ruby/test/runner.rb: TestReadline#test_closed_outstream(+0x288b3a) [0x2ab02f93ab3a]
../../ruby/test/runner.rb: TestReadline#test_closed_outstream(+0x28e944) [0x2ab02f940944]
../../ruby/test/runner.rb: TestReadline#test_closed_outstream(+0x28d145) [0x2ab02f93f145]
../../ruby/test/runner.rb: TestReadline#test_closed_outstream(+0x28c916) [0x2ab02f93e916]
../../ruby/test/runner.rb: TestReadline#test_closed_outstream(+0x28ea85) [0x2ab02f940a85]
../../ruby/test/runner.rb: TestReadline#test_closed_outstream(+0x26a4dd) [0x2ab02f91c4dd]
../../ruby/test/runner.rb: TestReadline#test_closed_outstream(+0x27bde0) [0x2ab02f92dde0]
../../ruby/test/runner.rb: TestReadline#test_closed_outstream(+0x281dbe) [0x2ab02f933dbe]
../../ruby/test/runner.rb: TestReadline#test_closed_outstream(+0x28629a) [0x2ab02f93829a]
../../ruby/test/runner.rb: TestReadline#test_closed_outstream(+0x278013) [0x2ab02f92a013]
../../ruby/test/runner.rb: TestReadline#test_closed_outstream(rb_yield+0x45) [0x2ab02f929fd5]
../../ruby/test/runner.rb: TestReadline#test_closed_outstream(rb_ensure+0xa2) [0x2ab02f6da6d2]
../../ruby/test/runner.rb: TestReadline#test_closed_outstream(+0x6e5d4) [0x2ab02f7205d4]
../../ruby/test/runner.rb: TestReadline#test_closed_outstream(+0x288b3a) [0x2ab02f93ab3a]
../../ruby/test/runner.rb: TestReadline#test_closed_outstream(+0x28e944) [0x2ab02f940944]
../../ruby/test/runner.rb: TestReadline#test_closed_outstream(+0x28d145) [0x2ab02f93f145]
../../ruby/test/runner.rb: TestReadline#test_closed_outstream(+0x28c916) [0x2ab02f93e916]
../../ruby/test/runner.rb: TestReadline#test_closed_outstream(+0x28ea85) [0x2ab02f940a85]
../../ruby/test/runner.rb: TestReadline#test_closed_outstream(+0x26a36b) [0x2ab02f91c36b]
../../ruby/test/runner.rb: TestReadline#test_closed_outstream(+0x27bde0) [0x2ab02f92dde0]
../../ruby/test/runner.rb: TestReadline#test_closed_outstream(+0x281dbe) [0x2ab02f933dbe]
../../ruby/test/runner.rb: TestReadline#test_closed_outstream(+0x28629a) [0x2ab02f93829a]
../../ruby/test/runner.rb: TestReadline#test_closed_outstream(+0x278013) [0x2ab02f92a013]
../../ruby/test/runner.rb: TestReadline#test_closed_outstream(rb_yield+0x45) [0x2ab02f929fd5]
../../ruby/test/runner.rb: TestReadline#test_closed_outstream(+0x2d97ce) [0x2ab02f98b7ce]
../../ruby/test/runner.rb: TestReadline#test_closed_outstream(+0x288b63) [0x2ab02f93ab63]
../../ruby/test/runner.rb: TestReadline#test_closed_outstream(+0x28e944) [0x2ab02f940944]
../../ruby/test/runner.rb: TestReadline#test_closed_outstream(+0x28d145) [0x2ab02f93f145]
../../ruby/test/runner.rb: TestReadline#test_closed_outstream(+0x26a36b) [0x2ab02f91c36b]
../../ruby/test/runner.rb: TestReadline#test_closed_outstream(+0x27bde0) [0x2ab02f92dde0]
../../ruby/test/runner.rb: TestReadline#test_closed_outstream(+0x281dbe) [0x2ab02f933dbe]
../../ruby/test/runner.rb: TestReadline#test_closed_outstream(+0x28629a) [0x2ab02f93829a]
../../ruby/test/runner.rb: TestReadline#test_closed_outstream(+0x278013) [0x2ab02f92a013]
../../ruby/test/runner.rb: TestReadline#test_closed_outstream(rb_yield+0x45) [0x2ab02f929fd5]
../../ruby/test/runner.rb: TestReadline#test_closed_outstream(rb_ary_each+0x2ab) [0x2ab02f972c7b]
../../ruby/test/runner.rb: TestReadline#test_closed_outstream(+0x288b63) [0x2ab02f93ab63]
../../ruby/test/runner.rb: TestReadline#test_closed_outstream(+0x28e944) [0x2ab02f940944]
../../ruby/test/runner.rb: TestReadline#test_closed_outstream(+0x28d145) [0x2ab02f93f145]
../../ruby/test/runner.rb: TestReadline#test_closed_outstream(+0x28c916) [0x2ab02f93e916]
../../ruby/test/runner.rb: TestReadline#test_closed_outstream(+0x28ea85) [0x2ab02f940a85]
../../ruby/test/runner.rb: TestReadline#test_closed_outstream(+0x26a36b) [0x2ab02f91c36b]
../../ruby/test/runner.rb: TestReadline#test_closed_outstream(+0x27bde0) [0x2ab02f92dde0]
../../ruby/test/runner.rb: TestReadline#test_closed_outstream(+0x281dbe) [0x2ab02f933dbe]
../../ruby/test/runner.rb: TestReadline#test_closed_outstream(+0x28629a) [0x2ab02f93829a]
../../ruby/test/runner.rb: TestReadline#test_closed_outstream(+0x278013) [0x2ab02f92a013]
../../ruby/test/runner.rb: TestReadline#test_closed_outstream(rb_yield+0x45) [0x2ab02f929fd5]
../../ruby/test/runner.rb: TestReadline#test_closed_outstream(rb_ary_each+0x2ab) [0x2ab02f972c7b]
../../ruby/test/runner.rb: TestReadline#test_closed_outstream(+0x288b63) [0x2ab02f93ab63]
../../ruby/test/runner.rb: TestReadline#test_closed_outstream(+0x28e944) [0x2ab02f940944]
../../ruby/test/runner.rb: TestReadline#test_closed_outstream(+0x28d145) [0x2ab02f93f145]
../../ruby/test/runner.rb: TestReadline#test_closed_outstream(+0x28c916) [0x2ab02f93e916]
../../ruby/test/runner.rb: TestReadline#test_closed_outstream(+0x28ea85) [0x2ab02f940a85]
../../ruby/test/runner.rb: TestReadline#test_closed_outstream(+0x26a36b) [0x2ab02f91c36b]
../../ruby/test/runner.rb: TestReadline#test_closed_outstream(+0x27bde0) [0x2ab02f92dde0]
../../ruby/test/runner.rb: TestReadline#test_closed_outstream(rb_iseq_eval_main+0x2b) [0x2ab02f92edfb]
../../ruby/test/runner.rb: TestReadline#test_closed_outstream(+0x271b2) [0x2ab02f6d91b2]
../../ruby/test/runner.rb: TestReadline#test_closed_outstream(ruby_exec_node+0x21) [0x2ab02f6d90d1]
../../ruby/test/runner.rb: TestReadline#test_closed_outstream(ruby_run_node+0x45) [0x2ab02f6d9095]
../../ruby/test/runner.rb: TestReadline#test_closed_outstream(+0x24911) [0x2ab02f6d6911]
/lib/x86_64-linux-gnu/libc.so.6(__libc_start_main+0xfd) [0x2ab030a27ead] libc-start.c:228
../../ruby/test/runner.rb: TestReadline#test_closed_outstream(+0x24799) [0x2ab02f6d6799]

-- Other runtime information -----------------------------------------------

* Loaded script: ../../ruby/test/runner.rb: TestReadline#test_closed_outstream

* Loaded features:

    0 enumerator.so
    1 /home/akr/tst5/h64clang/objdir/.ext/x86_64-linux/enc/encdb.so
    2 /home/akr/tst5/h64clang/objdir/.ext/x86_64-linux/enc/trans/transdb.so
    3 /home/akr/tst5/h64clang/objdir/rbconfig.rb
    4 /home/akr/tst5/ruby/lib/optparse.rb
    5 /home/akr/tst5/ruby/lib/minitest/unit.rb
    6 /home/akr/tst5/ruby/lib/prettyprint.rb
    7 /home/akr/tst5/ruby/lib/pp.rb
    8 /home/akr/tst5/ruby/lib/test/unit/assertions.rb
    9 /home/akr/tst5/ruby/lib/test/unit/testcase.rb
   10 /home/akr/tst5/ruby/lib/test/unit.rb
   11 /home/akr/tst5/h64clang/objdir/.ext/x86_64-linux/etc.so
   12 /home/akr/tst5/ruby/lib/fileutils.rb
   13 /home/akr/tst5/ruby/lib/tmpdir.rb
   14 /home/akr/tst5/ruby/test/test_tmpdir.rb
   15 /home/akr/tst5/ruby/lib/webrick/compat.rb
   16 /home/akr/tst5/ruby/lib/webrick/version.rb
   17 /home/akr/tst5/ruby/lib/webrick/httpversion.rb
   18 /home/akr/tst5/h64clang/objdir/.ext/x86_64-linux/socket.so
   19 /home/akr/tst5/h64clang/objdir/.ext/common/socket.rb
   20 /home/akr/tst5/ruby/lib/delegate.rb
   21 /home/akr/tst5/ruby/lib/thread.rb
   22 /home/akr/tst5/ruby/lib/tempfile.rb
   23 /home/akr/tst5/ruby/lib/webrick/httputils.rb
   24 /home/akr/tst5/h64clang/objdir/.ext/x86_64-linux/fcntl.so
   25 /home/akr/tst5/ruby/lib/timeout.rb
   26 /home/akr/tst5/ruby/lib/singleton.rb
   27 /home/akr/tst5/ruby/lib/webrick/utils.rb
   28 /home/akr/tst5/ruby/lib/webrick/log.rb
   29 /home/akr/tst5/ruby/lib/webrick/config.rb
   30 /home/akr/tst5/ruby/lib/webrick/server.rb
   31 /home/akr/tst5/ruby/lib/webrick/accesslog.rb
   32 /home/akr/tst5/ruby/lib/webrick/htmlutils.rb
   33 /home/akr/tst5/h64clang/objdir/.ext/x86_64-linux/date_core.so
   34 /home/akr/tst5/h64clang/objdir/.ext/common/date/format.rb
   35 /home/akr/tst5/h64clang/objdir/.ext/common/date.rb
   36 /home/akr/tst5/ruby/lib/time.rb
   37 /home/akr/tst5/ruby/lib/webrick/cookie.rb
   38 /home/akr/tst5/ruby/lib/webrick/httpstatus.rb
   39 /home/akr/tst5/ruby/lib/uri/common.rb
   40 /home/akr/tst5/ruby/lib/uri/generic.rb
   41 /home/akr/tst5/ruby/lib/uri/ftp.rb
   42 /home/akr/tst5/ruby/lib/uri/http.rb
   43 /home/akr/tst5/ruby/lib/uri/https.rb
   44 /home/akr/tst5/ruby/lib/uri/ldap.rb
   45 /home/akr/tst5/ruby/lib/uri/ldaps.rb
   46 /home/akr/tst5/ruby/lib/uri/mailto.rb
   47 /home/akr/tst5/ruby/lib/uri.rb
   48 /home/akr/tst5/ruby/lib/webrick/httprequest.rb
   49 /home/akr/tst5/ruby/lib/webrick/httpresponse.rb
   50 /home/akr/tst5/ruby/lib/webrick/httpservlet/abstract.rb
   51 /home/akr/tst5/ruby/lib/webrick/httpservlet/filehandler.rb
   52 /home/akr/tst5/ruby/lib/webrick/httpservlet/cgihandler.rb
   53 /home/akr/tst5/ruby/lib/cgi/util.rb
   54 /home/akr/tst5/h64clang/objdir/.ext/x86_64-linux/strscan.so
   55 /home/akr/tst5/ruby/lib/erb.rb
   56 /home/akr/tst5/ruby/lib/webrick/httpservlet/erbhandler.rb
   57 /home/akr/tst5/ruby/lib/webrick/httpservlet/prochandler.rb
   58 /home/akr/tst5/ruby/lib/webrick/httpservlet.rb
   59 /home/akr/tst5/ruby/lib/webrick/httpserver.rb
   60 /home/akr/tst5/ruby/lib/webrick/httpauth/authenticator.rb
   61 /home/akr/tst5/ruby/lib/webrick/httpauth/basicauth.rb
   62 /home/akr/tst5/h64clang/objdir/.ext/x86_64-linux/digest.so
   63 /home/akr/tst5/h64clang/objdir/.ext/common/digest.rb
   64 /home/akr/tst5/h64clang/objdir/.ext/x86_64-linux/digest/md5.so
   65 /home/akr/tst5/h64clang/objdir/.ext/x86_64-linux/digest/sha1.so
   66 /home/akr/tst5/ruby/lib/webrick/httpauth/digestauth.rb
   67 /home/akr/tst5/ruby/lib/webrick/httpauth/userdb.rb
   68 /home/akr/tst5/ruby/lib/webrick/httpauth/htpasswd.rb
   69 /home/akr/tst5/ruby/lib/webrick/httpauth/htdigest.rb
   70 /home/akr/tst5/ruby/lib/webrick/httpauth/htgroup.rb
   71 /home/akr/tst5/ruby/lib/webrick/httpauth.rb
   72 /home/akr/tst5/ruby/lib/webrick.rb
   73 /home/akr/tst5/ruby/test/xmlrpc/webrick_testing.rb
   74 /home/akr/tst5/ruby/lib/xmlrpc/base64.rb
   75 /home/akr/tst5/ruby/lib/xmlrpc/datetime.rb
   76 /home/akr/tst5/ruby/lib/xmlrpc/parser.rb
   77 /home/akr/tst5/ruby/lib/xmlrpc/create.rb
   78 /home/akr/tst5/ruby/lib/xmlrpc/config.rb
   79 /home/akr/tst5/ruby/lib/xmlrpc/utils.rb
   80 /home/akr/tst5/ruby/lib/xmlrpc/server.rb
   81 /home/akr/tst5/ruby/lib/net/protocol.rb
   82 /home/akr/tst5/h64clang/objdir/.ext/x86_64-linux/zlib.so
   83 /home/akr/tst5/h64clang/objdir/.ext/x86_64-linux/stringio.so
   84 /home/akr/tst5/ruby/lib/net/http/exceptions.rb
   85 /home/akr/tst5/ruby/lib/net/http/header.rb
   86 /home/akr/tst5/ruby/lib/net/http/generic_request.rb
   87 /home/akr/tst5/ruby/lib/net/http/request.rb
   88 /home/akr/tst5/ruby/lib/net/http/requests.rb
   89 /home/akr/tst5/ruby/lib/net/http/response.rb
   90 /home/akr/tst5/ruby/lib/net/http/responses.rb
   91 /home/akr/tst5/ruby/lib/net/http/proxy_delta.rb
   92 /home/akr/tst5/ruby/lib/net/http/backward.rb
   93 /home/akr/tst5/ruby/lib/net/http.rb
   94 /home/akr/tst5/ruby/lib/xmlrpc/client.rb
   95 /home/akr/tst5/ruby/lib/monitor.rb
   96 /home/akr/tst5/ruby/lib/logger.rb
   97 /home/akr/tst5/ruby/test/xmlrpc/test_webrick_server.rb
   98 /home/akr/tst5/ruby/test/xmlrpc/test_features.rb
   99 /home/akr/tst5/ruby/lib/rubygems/compatibility.rb
  100 /home/akr/tst5/ruby/lib/rubygems/defaults.rb
  101 /home/akr/tst5/ruby/lib/rubygems/deprecate.rb
  102 /home/akr/tst5/ruby/lib/rubygems/errors.rb
  103 /home/akr/tst5/ruby/lib/rubygems/version.rb
  104 /home/akr/tst5/ruby/lib/rubygems/requirement.rb
  105 /home/akr/tst5/ruby/lib/rubygems/platform.rb
  106 /home/akr/tst5/ruby/lib/rubygems/basic_specification.rb
  107 /home/akr/tst5/ruby/lib/rubygems/stub_specification.rb
  108 /home/akr/tst5/ruby/lib/rubygems/specification.rb
  109 /home/akr/tst5/ruby/lib/rubygems/exceptions.rb
  110 /home/akr/tst5/ruby/lib/rubygems/core_ext/kernel_gem.rb
  111 /home/akr/tst5/ruby/lib/rubygems/core_ext/kernel_require.rb
  112 /home/akr/tst5/ruby/lib/rubygems.rb
  113 /home/akr/tst5/ruby/lib/rubygems/dependency.rb
  114 /home/akr/tst5/ruby/lib/rubygems/path_support.rb
  115 /home/akr/tst5/ruby/lib/minitest/spec.rb
  116 /home/akr/tst5/ruby/lib/minitest/mock.rb
  117 /home/akr/tst5/ruby/lib/minitest/autorun.rb
  118 /home/akr/tst5/h64clang/objdir/.ext/x86_64-linux/openssl.so
  119 /home/akr/tst5/h64clang/objdir/.ext/common/openssl/bn.rb
  120 /home/akr/tst5/h64clang/objdir/.ext/common/openssl/cipher.rb
  121 /home/akr/tst5/h64clang/objdir/.ext/common/openssl/config.rb
  122 /home/akr/tst5/h64clang/objdir/.ext/common/openssl/digest.rb
  123 /home/akr/tst5/h64clang/objdir/.ext/common/openssl/x509.rb
  124 /home/akr/tst5/h64clang/objdir/.ext/common/openssl/buffering.rb
  125 /home/akr/tst5/h64clang/objdir/.ext/common/openssl/ssl.rb
  126 /home/akr/tst5/h64clang/objdir/.ext/common/openssl.rb
  127 /home/akr/tst5/ruby/test/xmlrpc/test_client.rb
  128 /home/akr/tst5/ruby/lib/xmlrpc/marshal.rb
  129 /home/akr/tst5/ruby/test/xmlrpc/test_marshal.rb
  130 /home/akr/tst5/h64clang/objdir/.ext/common/psych/exception.rb
  131 /home/akr/tst5/h64clang/objdir/.ext/common/psych/syntax_error.rb
  132 /home/akr/tst5/h64clang/objdir/.ext/x86_64-linux/psych.so
  133 /home/akr/tst5/h64clang/objdir/.ext/common/psych/omap.rb
  134 /home/akr/tst5/h64clang/objdir/.ext/common/psych/set.rb
  135 /home/akr/tst5/h64clang/objdir/.ext/common/psych/class_loader.rb
  136 /home/akr/tst5/h64clang/objdir/.ext/common/psych/scalar_scanner.rb
  137 /home/akr/tst5/h64clang/objdir/.ext/common/psych/nodes/node.rb
  138 /home/akr/tst5/h64clang/objdir/.ext/common/psych/nodes/stream.rb
  139 /home/akr/tst5/h64clang/objdir/.ext/common/psych/nodes/document.rb
  140 /home/akr/tst5/h64clang/objdir/.ext/common/psych/nodes/sequence.rb
  141 /home/akr/tst5/h64clang/objdir/.ext/common/psych/nodes/scalar.rb
  142 /home/akr/tst5/h64clang/objdir/.ext/common/psych/nodes/mapping.rb
  143 /home/akr/tst5/h64clang/objdir/.ext/common/psych/nodes/alias.rb
  144 /home/akr/tst5/h64clang/objdir/.ext/common/psych/nodes.rb
  145 /home/akr/tst5/h64clang/objdir/.ext/common/psych/streaming.rb
  146 /home/akr/tst5/h64clang/objdir/.ext/common/psych/visitors/visitor.rb
  147 /home/akr/tst5/h64clang/objdir/.ext/common/psych/visitors/to_ruby.rb
  148 /home/akr/tst5/h64clang/objdir/.ext/common/psych/visitors/emitter.rb
  149 /home/akr/tst5/h64clang/objdir/.ext/common/psych/handler.rb
  150 /home/akr/tst5/h64clang/objdir/.ext/common/psych/tree_builder.rb
  151 /home/akr/tst5/h64clang/objdir/.ext/common/psych/visitors/yaml_tree.rb
  152 /home/akr/tst5/h64clang/objdir/.ext/common/psych/json/ruby_events.rb
  153 /home/akr/tst5/h64clang/objdir/.ext/common/psych/visitors/json_tree.rb
  154 /home/akr/tst5/h64clang/objdir/.ext/common/psych/visitors/depth_first.rb
  155 /home/akr/tst5/h64clang/objdir/.ext/common/psych/visitors.rb
  156 /home/akr/tst5/h64clang/objdir/.ext/common/psych/parser.rb
  157 /home/akr/tst5/h64clang/objdir/.ext/common/psych/coder.rb
  158 /home/akr/tst5/h64clang/objdir/.ext/common/psych/core_ext.rb
  159 /home/akr/tst5/h64clang/objdir/.ext/common/psych/deprecated.rb
  160 /home/akr/tst5/h64clang/objdir/.ext/common/psych/stream.rb
  161 /home/akr/tst5/h64clang/objdir/.ext/common/psych/json/yaml_events.rb
  162 /home/akr/tst5/h64clang/objdir/.ext/common/psych/json/tree_builder.rb
  163 /home/akr/tst5/h64clang/objdir/.ext/common/psych/json/stream.rb
  164 /home/akr/tst5/h64clang/objdir/.ext/common/psych/handlers/document_stream.rb
  165 /home/akr/tst5/h64clang/objdir/.ext/common/psych.rb
  166 /home/akr/tst5/ruby/lib/yaml.rb
  167 /home/akr/tst5/ruby/lib/rexml/security.rb
  168 /home/akr/tst5/ruby/lib/rexml/parseexception.rb
  169 /home/akr/tst5/ruby/lib/rexml/formatters/default.rb
  170 /home/akr/tst5/ruby/lib/rexml/formatters/pretty.rb
  171 /home/akr/tst5/ruby/lib/rexml/node.rb
  172 /home/akr/tst5/ruby/lib/rexml/child.rb
  173 /home/akr/tst5/ruby/lib/rexml/parent.rb
  174 /home/akr/tst5/ruby/lib/rexml/xmltokens.rb
  175 /home/akr/tst5/ruby/lib/rexml/namespace.rb
  176 /home/akr/tst5/ruby/lib/rexml/encoding.rb
  177 /home/akr/tst5/ruby/lib/rexml/source.rb
  178 /home/akr/tst5/ruby/lib/rexml/entity.rb
  179 /home/akr/tst5/ruby/lib/rexml/attlistdecl.rb
  180 /home/akr/tst5/ruby/lib/rexml/doctype.rb
  181 /home/akr/tst5/ruby/lib/rexml/text.rb
  182 /home/akr/tst5/ruby/lib/rexml/attribute.rb
  183 /home/akr/tst5/ruby/lib/rexml/cdata.rb
  184 /home/akr/tst5/ruby/lib/rexml/functions.rb
  185 /home/akr/tst5/ruby/lib/rexml/syncenumerator.rb
  186 /home/akr/tst5/ruby/lib/rexml/parsers/xpathparser.rb
  187 /home/akr/tst5/ruby/lib/rexml/xpath_parser.rb
  188 /home/akr/tst5/ruby/lib/rexml/xpath.rb
  189 /home/akr/tst5/ruby/lib/rexml/element.rb
  190 /home/akr/tst5/ruby/lib/rexml/xmldecl.rb
  191 /home/akr/tst5/ruby/lib/rexml/comment.rb
  192 /home/akr/tst5/ruby/lib/rexml/instruction.rb
  193 /home/akr/tst5/ruby/lib/rexml/rexml.rb
  194 /home/akr/tst5/ruby/lib/rexml/output.rb
  195 /home/akr/tst5/ruby/lib/rexml/undefinednamespaceexception.rb
  196 /home/akr/tst5/ruby/lib/set.rb
  197 /home/akr/tst5/ruby/lib/rexml/parsers/baseparser.rb
  198 /home/akr/tst5/ruby/lib/rexml/parsers/streamparser.rb
  199 /home/akr/tst5/ruby/lib/rexml/validation/validationexception.rb
  200 /home/akr/tst5/ruby/lib/rexml/parsers/treeparser.rb
  201 /home/akr/tst5/ruby/lib/rexml/document.rb
  202 /home/akr/tst5/ruby/test/xmlrpc/test_parser.rb
  203 /home/akr/tst5/ruby/test/xmlrpc/test_datetime.rb
  204 /home/akr/tst5/ruby/test/xmlrpc/test_cookie.rb
  205 /home/akr/tst5/ruby/test/test_set.rb
  206 /home/akr/tst5/ruby/lib/forwardable.rb
  207 /home/akr/tst5/ruby/lib/prime.rb
  208 /home/akr/tst5/ruby/test/test_prime.rb
  209 /home/akr/tst5/ruby/lib/drb/eq.rb
  210 /home/akr/tst5/ruby/lib/drb/invokemethod.rb
  211 /home/akr/tst5/ruby/lib/drb/drb.rb
  212 /home/akr/tst5/ruby/lib/rinda/rinda.rb
  213 /home/akr/tst5/ruby/lib/rinda/tuplespace.rb
  214 /home/akr/tst5/ruby/test/rinda/test_tuplebag.rb
  215 /home/akr/tst5/ruby/lib/ipaddr.rb
  216 /home/akr/tst5/ruby/lib/rinda/ring.rb
  217 /home/akr/tst5/ruby/test/rinda/test_rinda.rb
  218 /home/akr/tst5/ruby/lib/webrick/httpproxy.rb
  219 /home/akr/tst5/ruby/lib/webrick/ssl.rb
  220 /home/akr/tst5/ruby/lib/net/https.rb
  221 /home/akr/tst5/ruby/lib/open3.rb
  222 /home/akr/tst5/ruby/test/ruby/envutil.rb
  223 /home/akr/tst5/ruby/test/openssl/utils.rb
  224 /home/akr/tst5/ruby/lib/webrick/https.rb
  225 /home/akr/tst5/ruby/test/webrick/utils.rb
  226 /home/akr/tst5/ruby/test/webrick/test_httpproxy.rb
  227 /home/akr/tst5/ruby/test/webrick/test_httpresponse.rb
  228 /home/akr/tst5/ruby/test/webrick/test_httputils.rb
  229 /home/akr/tst5/ruby/test/webrick/test_httpauth.rb
  230 /home/akr/tst5/ruby/test/webrick/test_httprequest.rb
  231 /home/akr/tst5/ruby/test/webrick/test_httpversion.rb
  232 /home/akr/tst5/ruby/test/webrick/test_filehandler.rb
  233 /home/akr/tst5/ruby/test/webrick/test_server.rb
  234 /home/akr/tst5/ruby/test/webrick/test_utils.rb
  235 /home/akr/tst5/ruby/test/webrick/test_httpserver.rb
  236 /home/akr/tst5/ruby/test/webrick/test_cgi.rb
  237 /home/akr/tst5/ruby/test/webrick/test_cookie.rb
  238 /home/akr/tst5/ruby/test/webrick/test_htmlutils.rb
  239 /home/akr/tst5/h64clang/objdir/.ext/x86_64-linux/readline.so
  240 /home/akr/tst5/ruby/test/readline/test_readline_history.rb
  241 /home/akr/tst5/ruby/test/readline/test_readline.rb
  242 /home/akr/tst5/ruby/test/inlinetest.rb
  243 /home/akr/tst5/ruby/test/test_ipaddr.rb
  244 /home/akr/tst5/ruby/test/optparse/test_optparse.rb
  245 /home/akr/tst5/ruby/test/optparse/test_noarg.rb
  246 /home/akr/tst5/ruby/test/optparse/test_reqarg.rb
  247 /home/akr/tst5/ruby/lib/optparse/ac.rb
  248 /home/akr/tst5/ruby/test/optparse/test_autoconf.rb
  249 /home/akr/tst5/ruby/test/optparse/test_zsh_completion.rb
  250 /home/akr/tst5/ruby/test/optparse/test_placearg.rb
  251 /home/akr/tst5/ruby/test/optparse/test_summary.rb
  252 /home/akr/tst5/ruby/test/optparse/test_bash_completion.rb
  253 /home/akr/tst5/ruby/test/optparse/test_optarg.rb
  254 /home/akr/tst5/ruby/test/optparse/test_getopts.rb
  255 /home/akr/tst5/h64clang/objdir/.ext/x86_64-linux/syslog.so
  256 /home/akr/tst5/ruby/test/test_syslog.rb
  257 /home/akr/tst5/ruby/test/uri/test_http.rb
  258 /home/akr/tst5/ruby/test/uri/test_common.rb
  259 /home/akr/tst5/ruby/test/uri/test_ftp.rb
  260 /home/akr/tst5/ruby/test/uri/test_ldap.rb
  261 /home/akr/tst5/ruby/test/uri/test_generic.rb
  262 /home/akr/tst5/ruby/test/uri/test_parser.rb
  263 /home/akr/tst5/ruby/test/uri/test_mailto.rb
  264 /home/akr/tst5/ruby/lib/ostruct.rb
  265 /home/akr/tst5/ruby/test/ostruct/test_ostruct.rb
  266 /home/akr/tst5/h64clang/objdir/.ext/x86_64-linux/pathname.so
  267 /home/akr/tst5/h64clang/objdir/.ext/common/pathname.rb
  268 /home/akr/tst5/ruby/test/minitest/metametameta.rb
  269 /home/akr/tst5/ruby/lib/minitest/parallel_each.rb
  270 /home/akr/tst5/ruby/test/minitest/test_minitest_unit.rb
  271 /home/akr/tst5/ruby/lib/minitest/benchmark.rb
  272 /home/akr/tst5/ruby/test/minitest/test_minitest_benchmark.rb
  273 /home/akr/tst5/ruby/test/minitest/test_minitest_mock.rb
  274 /home/akr/tst5/ruby/test/minitest/test_minitest_spec.rb
  275 /home/akr/tst5/h64clang/objdir/.ext/x86_64-linux/bigdecimal.so
  276 /home/akr/tst5/ruby/test/bigdecimal/testbase.rb
  277 /home/akr/tst5/h64clang/objdir/.ext/common/bigdecimal/math.rb
  278 /home/akr/tst5/ruby/test/bigdecimal/test_bigmath.rb
  279 /home/akr/tst5/ruby/test/bigdecimal/test_bigdecimal.rb
  280 /home/akr/tst5/h64clang/objdir/.ext/common/bigdecimal/util.rb
  281 /home/akr/tst5/ruby/test/bigdecimal/test_bigdecimal_util.rb
  282 /home/akr/tst5/ruby/lib/securerandom.rb
  283 /home/akr/tst5/ruby/lib/resolv.rb
  284 /home/akr/tst5/ruby/test/resolv/test_dns.rb
  285 /home/akr/tst5/ruby/test/resolv/test_addr.rb
  286 /home/akr/tst5/h64clang/objdir/.ext/x86_64-linux/enc/euc_jp.so
  287 /home/akr/tst5/ruby/test/strscan/test_stringscanner.rb
  288 /home/akr/tst5/ruby/lib/open-uri.rb
  289 /home/akr/tst5/ruby/test/open-uri/test_open-uri.rb
  290 /home/akr/tst5/ruby/test/open-uri/test_ssl.rb
  291 /home/akr/tst5/ruby/test/psych/helper.rb
  292 /home/akr/tst5/ruby/test/psych/test_coder.rb
  293 /home/akr/tst5/ruby/test/psych/test_set.rb
  294 /home/akr/tst5/ruby/test/psych/test_to_yaml_properties.rb
  295 /home/akr/tst5/ruby/test/psych/test_stream.rb
  296 /home/akr/tst5/ruby/lib/pstore.rb
  297 /home/akr/tst5/h64clang/objdir/.ext/x86_64-linux/enc/trans/single_byte.so
  298 /home/akr/tst5/ruby/lib/yaml/store.rb
  299 /home/akr/tst5/ruby/test/psych/test_yamlstore.rb
  300 /home/akr/tst5/ruby/test/psych/test_deprecated.rb
  301 /home/akr/tst5/ruby/test/psych/visitors/test_yaml_tree.rb
  302 /home/akr/tst5/ruby/test/psych/visitors/test_emitter.rb
  303 /home/akr/tst5/ruby/test/psych/visitors/test_depth_first.rb
  304 /home/akr/tst5/ruby/test/psych/visitors/test_to_ruby.rb
  305 /home/akr/tst5/ruby/test/psych/test_document.rb
  306 /home/akr/tst5/ruby/test/psych/test_object_references.rb
  307 /home/akr/tst5/ruby/test/psych/test_engine_manager.rb
  308 /home/akr/tst5/ruby/test/psych/test_string.rb
  309 /home/akr/tst5/ruby/test/psych/test_encoding.rb
  310 /home/akr/tst5/ruby/test/psych/test_symbol.rb
  311 /home/akr/tst5/ruby/test/psych/test_boolean.rb
  312 /home/akr/tst5/ruby/test/psych/test_nil.rb
  313 /home/akr/tst5/ruby/test/psych/test_tainted.rb
  314 /home/akr/tst5/ruby/test/psych/test_safe_load.rb
  315 /home/akr/tst5/ruby/test/psych/test_psych.rb
  316 /home/akr/tst5/ruby/test/psych/test_tree_builder.rb
  317 /home/akr/tst5/ruby/test/psych/test_numeric.rb
  318 /home/akr/tst5/ruby/test/psych/test_array.rb
  319 /home/akr/tst5/ruby/test/psych/test_class.rb
  320 /home/akr/tst5/ruby/test/psych/test_alias_and_anchor.rb
  321 /home/akr/tst5/h64clang/objdir/.ext/common/psych/handlers/recorder.rb
  322 /home/akr/tst5/ruby/test/psych/handlers/test_recorder.rb
  323 /home/akr/tst5/ruby/test/psych/test_exception.rb
  324 /home/akr/tst5/ruby/test/psych/json/test_stream.rb
  325 /home/akr/tst5/ruby/test/psych/test_merge_keys.rb
  326 /home/akr/tst5/ruby/test/psych/nodes/test_enumerable.rb
  327 /home/akr/tst5/ruby/test/psych/test_null.rb
  328 /home/akr/tst5/ruby/test/psych/test_serialize_subclasses.rb
  329 /home/akr/tst5/ruby/test/psych/test_omap.rb
  330 /home/akr/tst5/ruby/test/psych/test_yaml.rb
  331 /home/akr/tst5/ruby/test/psych/test_json_tree.rb
  332 /home/akr/tst5/ruby/test/psych/test_hash.rb
  333 /home/akr/tst5/ruby/test/psych/test_emitter.rb
  334 /home/akr/tst5/ruby/test/psych/test_scalar_scanner.rb
  335 /home/akr/tst5/h64clang/objdir/.ext/x86_64-linux/dbm.so
  336 /home/akr/tst5/ruby/lib/yaml/dbm.rb
  337 /home/akr/tst5/ruby/test/psych/test_yamldbm.rb
  338 /home/akr/tst5/ruby/test/psych/test_scalar.rb
  339 /home/akr/tst5/ruby/test/psych/test_parser.rb
  340 /home/akr/tst5/ruby/test/psych/test_struct.rb
  341 /home/akr/tst5/ruby/test/psych/test_date_time.rb
  342 /home/akr/tst5/ruby/test/psych/test_object.rb
  343 /home/akr/tst5/ruby/lib/shellwords.rb
  344 /home/akr/tst5/ruby/lib/mkmf.rb
  345 /home/akr/tst5/ruby/test/mkmf/base.rb
  346 /home/akr/tst5/ruby/test/mkmf/test_libs.rb
  347 /home/akr/tst5/ruby/test/mkmf/test_have_func.rb
  348 /home/akr/tst5/ruby/test/mkmf/test_find_executable.rb
  349 /home/akr/tst5/ruby/test/mkmf/test_config.rb
  350 /home/akr/tst5/ruby/test/mkmf/test_convertible.rb
  351 /home/akr/tst5/ruby/test/mkmf/test_framework.rb
  352 /home/akr/tst5/ruby/test/mkmf/test_sizeof.rb
  353 /home/akr/tst5/ruby/test/mkmf/test_have_macro.rb
  354 /home/akr/tst5/ruby/test/mkmf/test_signedness.rb
  355 /home/akr/tst5/ruby/test/mkmf/test_constant.rb
  356 /home/akr/tst5/ruby/test/mkmf/test_have_library.rb
  357 /home/akr/tst5/ruby/test/mkmf/test_flags.rb
  358 /home/akr/tst5/ruby/lib/cgi/core.rb
  359 /home/akr/tst5/ruby/lib/cgi/cookie.rb
  360 /home/akr/tst5/ruby/lib/cgi.rb
  361 /home/akr/tst5/ruby/test/cgi/test_cgi_multipart.rb
  362 /home/akr/tst5/ruby/lib/cgi/session.rb
  363 /home/akr/tst5/ruby/lib/cgi/session/pstore.rb
  364 /home/akr/tst5/ruby/test/cgi/test_cgi_session.rb
  365 /home/akr/tst5/ruby/test/cgi/test_cgi_tag_helper.rb
  366 /home/akr/tst5/ruby/test/cgi/test_cgi_core.rb
  367 /home/akr/tst5/ruby/test/cgi/test_cgi_header.rb
  368 /home/akr/tst5/ruby/test/cgi/test_cgi_modruby.rb
  369 /home/akr/tst5/ruby/test/cgi/test_cgi_util.rb
  370 /home/akr/tst5/ruby/test/cgi/test_cgi_cookie.rb
  371 /home/akr/tst5/ruby/test/rss/rss-assertions.rb
  372 /home/akr/tst5/ruby/lib/English.rb
  373 /home/akr/tst5/ruby/lib/rss/utils.rb
  374 /home/akr/tst5/ruby/lib/rss/converter.rb
  375 /home/akr/tst5/ruby/lib/rss/xml-stylesheet.rb
  376 /home/akr/tst5/ruby/lib/rss/rss.rb
  377 /home/akr/tst5/ruby/lib/rss/xml.rb
  378 /home/akr/tst5/ruby/lib/rexml/streamlistener.rb
  379 /home/akr/tst5/ruby/lib/rss/rexmlparser.rb
  380 /home/akr/tst5/ruby/lib/rss/parser.rb
  381 /home/akr/tst5/ruby/lib/rss/1.0.rb
  382 /home/akr/tst5/ruby/lib/rss/0.9.rb
  383 /home/akr/tst5/ruby/lib/rss/2.0.rb
  384 /home/akr/tst5/ruby/lib/rss/atom.rb
  385 /home/akr/tst5/ruby/lib/rss/content/1.0.rb
  386 /home/akr/tst5/ruby/lib/rss/content/2.0.rb
  387 /home/akr/tst5/ruby/lib/rss/content.rb
  388 /home/akr/tst5/ruby/lib/rss/dublincore/1.0.rb
  389 /home/akr/tst5/ruby/lib/rss/dublincore/2.0.rb
  390 /home/akr/tst5/ruby/lib/rss/dublincore/atom.rb
  391 /home/akr/tst5/ruby/lib/rss/dublincore.rb
  392 /home/akr/tst5/ruby/lib/rss/image.rb
  393 /home/akr/tst5/ruby/lib/rss/itunes.rb
  394 /home/akr/tst5/ruby/lib/rss/slash.rb
  395 /home/akr/tst5/ruby/lib/rss/syndication.rb
  396 /home/akr/tst5/ruby/lib/rss/taxonomy.rb
  397 /home/akr/tst5/ruby/lib/rss/trackback.rb
  398 /home/akr/tst5/ruby/lib/rss/maker/base.rb
  399 /home/akr/tst5/ruby/lib/rss/maker/1.0.rb
  400 /home/akr/tst5/ruby/lib/rss/maker/0.9.rb
  401 /home/akr/tst5/ruby/lib/rss/maker/2.0.rb
  402 /home/akr/tst5/ruby/lib/rss/maker/atom.rb
  403 /home/akr/tst5/ruby/lib/rss/maker/feed.rb
  404 /home/akr/tst5/ruby/lib/rss/maker/entry.rb
  405 /home/akr/tst5/ruby/lib/rss/maker/content.rb
  406 /home/akr/tst5/ruby/lib/rss/maker/dublincore.rb
  407 /home/akr/tst5/ruby/lib/rss/maker/slash.rb
  408 /home/akr/tst5/ruby/lib/rss/maker/syndication.rb
  409 /home/akr/tst5/ruby/lib/rss/maker/taxonomy.rb
  410 /home/akr/tst5/ruby/lib/rss/maker/trackback.rb
  411 /home/akr/tst5/ruby/lib/rss/maker/image.rb
  412 /home/akr/tst5/ruby/lib/rss/maker/itunes.rb
  413 /home/akr/tst5/ruby/lib/rss/maker.rb
  414 /home/akr/tst5/ruby/lib/rss.rb
  415 /home/akr/tst5/ruby/test/rss/rss-testcase.rb
  416 /home/akr/tst5/ruby/test/rss/test_content.rb
  417 /home/akr/tst5/ruby/test/rss/test_maker_sy.rb
  418 /home/akr/tst5/ruby/test/rss/test_maker_content.rb
  419 /home/akr/tst5/ruby/test/rss/test_setup_maker_1.0.rb
  420 /home/akr/tst5/ruby/test/rss/test_setup_maker_slash.rb
  421 /home/akr/tst5/ruby/test/rss/test_maker_atom_entry.rb
  422 /home/akr/tst5/ruby/test/rss/test_2.0.rb
  423 /home/akr/tst5/ruby/test/rss/test_maker_atom_feed.rb
  424 /home/akr/tst5/ruby/test/rss/test_maker_0.9.rb
  425 /home/akr/tst5/ruby/test/rss/test_maker_dc.rb
  426 /home/akr/tst5/ruby/test/rss/test_maker_2.0.rb
  427 /home/akr/tst5/ruby/test/rss/test_taxonomy.rb
  428 /home/akr/tst5/ruby/test/rss/test_setup_maker_atom_feed.rb
  429 /home/akr/tst5/ruby/test/rss/test_maker_slash.rb
  430 /home/akr/tst5/ruby/test/rss/test_maker_trackback.rb
  431 /home/akr/tst5/ruby/test/rss/test_setup_maker_itunes.rb
  432 /home/akr/tst5/ruby/test/rss/test_to_s.rb
  433 /home/akr/tst5/ruby/test/rss/test_accessor.rb
  434 /home/akr/tst5/ruby/test/rss/test_image.rb
  435 /home/akr/tst5/ruby/test/rss/test_trackback.rb
  436 /home/akr/tst5/ruby/test/rss/test_1.0.rb
  437 /home/akr/tst5/ruby/test/rss/test_parser_2.0.rb
  438 /home/akr/tst5/ruby/test/rss/test_xml-stylesheet.rb
  439 /home/akr/tst5/ruby/test/rss/test_maker_image.rb
  440 /home/akr/tst5/ruby/test/rss/test_maker_taxo.rb
  441 /home/akr/tst5/ruby/test/rss/test_maker_xml-stylesheet.rb
  442 /home/akr/tst5/ruby/test/rss/test_maker_1.0.rb
  443 /home/akr/tst5/ruby/test/rss/test_syndication.rb
  444 /home/akr/tst5/ruby/test/rss/test_parser_atom_feed.rb
  445 /home/akr/tst5/ruby/test/rss/test_inherit.rb
  446 /home/akr/tst5/ruby/test/rss/test_version.rb
  447 /home/akr/tst5/ruby/test/rss/test_parser.rb
  448 /home/akr/tst5/ruby/test/rss/test_parser_atom_entry.rb
  449 /home/akr/tst5/ruby/test/rss/test_atom.rb
  450 /home/akr/tst5/ruby/test/rss/test_itunes.rb
  451 /home/akr/tst5/ruby/test/rss/test_setup_maker_atom_entry.rb
  452 /home/akr/tst5/ruby/test/rss/test_setup_maker_2.0.rb
  453 /home/akr/tst5/ruby/test/rss/test_parser_1.0.rb
  454 /home/akr/tst5/ruby/test/rss/test_dublincore.rb
  455 /home/akr/tst5/ruby/test/rss/test_slash.rb
  456 /home/akr/tst5/ruby/test/rss/test_setup_maker_0.9.rb
  457 /home/akr/tst5/ruby/test/rss/test_maker_itunes.rb
  458 /home/akr/tst5/ruby/test/socket/test_ancdata.rb
  459 /home/akr/tst5/ruby/test/socket/test_udp.rb
  460 /home/akr/tst5/ruby/test/socket/test_sockopt.rb
  461 /home/akr/tst5/h64clang/objdir/.ext/x86_64-linux/io/nonblock.so
  462 /home/akr/tst5/ruby/test/socket/test_unix.rb
  463 /home/akr/tst5/ruby/test/socket/test_basicsocket.rb
  464 /home/akr/tst5/ruby/test/socket/test_nonblock.rb
  465 /home/akr/tst5/ruby/test/socket/test_tcp.rb
  466 /home/akr/tst5/ruby/test/socket/test_socket.rb
  467 /home/akr/tst5/ruby/test/socket/test_addrinfo.rb
  468 /home/akr/tst5/ruby/test/ruby/test_flip.rb
  469 /home/akr/tst5/ruby/test/ruby/sentence.rb
  470 /home/akr/tst5/ruby/test/ruby/test_assignment.rb
  471 /home/akr/tst5/ruby/test/ruby/test_alias.rb
  472 /home/akr/tst5/h64clang/objdir/.ext/x86_64-linux/enc/windows_31j.so
  473 /home/akr/tst5/ruby/test/ruby/test_m17n.rb
  474 /home/akr/tst5/ruby/test/ruby/test_complex.rb
  475 /home/akr/tst5/ruby/test/ruby/test_call.rb
  476 /home/akr/tst5/ruby/test/ruby/test_unicode_escape.rb
  477 /home/akr/tst5/ruby/test/ruby/test_proc.rb
  478 /home/akr/tst5/ruby/test/ruby/test_basicinstructions.rb
  479 /home/akr/tst5/ruby/test/ruby/test_fixnum.rb
  480 /home/akr/tst5/ruby/test/ruby/test_system.rb
  481 /home/akr/tst5/ruby/test/ruby/test_file_exhaustive.rb
  482 /home/akr/tst5/ruby/test/ruby/test_eval.rb
  483 /home/akr/tst5/ruby/test/ruby/test_beginendblock.rb
  484 /home/akr/tst5/ruby/test/ruby/test_objectspace.rb
  485 /home/akr/tst5/ruby/test/ruby/test_not.rb
  486 /home/akr/tst5/ruby/test/ruby/test_rubyoptions.rb
  487 /home/akr/tst5/ruby/test/ruby/test_primitive.rb
  488 /home/akr/tst5/ruby/test/ruby/test_gc.rb
  489 /home/akr/tst5/ruby/test/ruby/test_notimp.rb
  490 /home/akr/tst5/ruby/test/ruby/test_fnmatch.rb
  491 /home/akr/tst5/ruby/test/ruby/test_argf.rb
  492 /home/akr/tst5/ruby/test/ruby/test_iseq.rb
  493 /home/akr/tst5/ruby/test/ruby/test_string.rb
  494 /home/akr/tst5/ruby/test/ruby/test_lazy_enumerator.rb
  495 /home/akr/tst5/ruby/test/ruby/test_encoding.rb
  496 /home/akr/tst5/ruby/test/ruby/test_arity.rb
  497 /home/akr/tst5/ruby/test/ruby/test_module.rb
  498 /home/akr/tst5/ruby/test/ruby/test_dir.rb
  499 /home/akr/tst5/ruby/test/ruby/test_symbol.rb
  500 /home/akr/tst5/h64clang/objdir/.ext/x86_64-linux/fiber.so
  501 /home/akr/tst5/h64clang/objdir/.ext/x86_64-linux/continuation.so
  502 /home/akr/tst5/ruby/test/ruby/test_fiber.rb
  503 /home/akr/tst5/ruby/test/ruby/test_rational.rb
  504 /home/akr/tst5/ruby/test/ruby/test_env.rb
  505 /home/akr/tst5/ruby/test/ruby/test_enum.rb
  506 /home/akr/tst5/ruby/test/ruby/test_settracefunc.rb
  507 /home/akr/tst5/ruby/test/ruby/test_defined.rb
  508 /home/akr/tst5/ruby/test/ruby/test_mixed_unicode_escapes.rb
  509 /home/akr/tst5/ruby/test/ruby/test_time_tz.rb
  510 /home/akr/tst5/ruby/test/ruby/test_parse.rb
  511 /home/akr/tst5/ruby/test/ruby/test_complexrational.rb
  512 /home/akr/tst5/ruby/test/ruby/test_whileuntil.rb
  513 /home/akr/tst5/ruby/test/ruby/test_iterator.rb
  514 /home/akr/tst5/ruby/test/ruby/test_refinement.rb
  515 /home/akr/tst5/ruby/test/ruby/test_process.rb
  516 /home/akr/tst5/ruby/test/ruby/test_sprintf.rb
  517 /home/akr/tst5/ruby/test/ruby/allpairs.rb
  518 /home/akr/tst5/h64clang/objdir/.ext/x86_64-linux/enc/shift_jis.so
  519 /home/akr/tst5/ruby/test/ruby/test_m17n_comb.rb
  520 /home/akr/tst5/ruby/test/ruby/test_numeric.rb
  521 /home/akr/tst5/ruby/test/ruby/test_io_m17n.rb
  522 /home/akr/tst5/ruby/test/ruby/test_array.rb
  523 /home/akr/tst5/ruby/test/ruby/test_class.rb
  524 /home/akr/tst5/ruby/test/ruby/test_method.rb
  525 /home/akr/tst5/ruby/test/ruby/test_exception.rb
  526 /home/akr/tst5/ruby/test/ruby/test_pack.rb
  527 /home/akr/tst5/ruby/test/ruby/test_rational2.rb
  528 /home/akr/tst5/ruby/test/ruby/test_bignum.rb
  529 /home/akr/tst5/ruby/test/ruby/test_const.rb
  530 /home/akr/tst5/ruby/test/ruby/test_dir_m17n.rb
  531 /home/akr/tst5/ruby/test/ruby/test_rand.rb
  532 /home/akr/tst5/ruby/test/ruby/test_enumerator.rb
  533 /home/akr/tst5/ruby/test/ruby/test_thread.rb
  534 /home/akr/tst5/ruby/test/ruby/test_literal.rb
  535 /home/akr/tst5/ruby/test/ruby/test_readpartial.rb
  536 /home/akr/tst5/ruby/test/ruby/test_hash.rb
  537 /home/akr/tst5/ruby/test/ruby/test_sprintf_comb.rb
  538 /home/akr/tst5/ruby/test/ruby/test_float.rb
  539 /home/akr/tst5/ruby/lib/weakref.rb
  540 /home/akr/tst5/ruby/test/ruby/test_io.rb
  541 /home/akr/tst5/ruby/test/ruby/test_metaclass.rb
  542 /home/akr/tst5/ruby/test/ruby/marshaltestlib.rb
  543 /home/akr/tst5/h64clang/objdir/.ext/x86_64-linux/enc/iso_8859_1.so
  544 /home/akr/tst5/ruby/test/ruby/test_marshal.rb
  545 /home/akr/tst5/ruby/test/ruby/test_keyword.rb
  546 /home/akr/tst5/ruby/test/ruby/ut_eof.rb
  547 /home/akr/tst5/ruby/test/ruby/test_pipe.rb
  548 /home/akr/tst5/ruby/test/ruby/test_regexp.rb
  549 /home/akr/tst5/ruby/test/ruby/test_variable.rb
  550 /home/akr/tst5/ruby/test/ruby/test_undef.rb
  551 /home/akr/tst5/ruby/test/ruby/test_file.rb
  552 /home/akr/tst5/ruby/lib/rational.rb
  553 /home/akr/tst5/ruby/test/ruby/test_time.rb
  554 /home/akr/tst5/ruby/test/ruby/test_yield.rb
  555 /home/akr/tst5/ruby/test/ruby/test_optimization.rb
  556 /home/akr/tst5/ruby/test/ruby/test_integer_comb.rb
  557 /home/akr/tst5/ruby/test/ruby/test_require.rb
  558 /home/akr/tst5/ruby/test/ruby/test_case.rb
  559 /home/akr/tst5/ruby/test/ruby/test_transcode.rb
  560 /home/akr/tst5/ruby/test/ruby/test_clone.rb
  561 /home/akr/tst5/ruby/test/ruby/test_range.rb
  562 /home/akr/tst5/ruby/test/ruby/test_sleep.rb
  563 /home/akr/tst5/ruby/test/ruby/test_trace.rb
  564 /home/akr/tst5/ruby/test/ruby/test_super.rb
  565 /home/akr/tst5/ruby/test/ruby/enc/test_shift_jis.rb
  566 /home/akr/tst5/ruby/test/ruby/enc/test_gbk.rb
  567 /home/akr/tst5/ruby/test/ruby/enc/test_utf32.rb
  568 /home/akr/tst5/ruby/test/ruby/enc/test_emoji.rb
  569 /home/akr/tst5/ruby/test/ruby/enc/test_euc_kr.rb
  570 /home/akr/tst5/ruby/test/ruby/enc/test_gb18030.rb
  571 /home/akr/tst5/ruby/test/ruby/enc/test_cp949.rb
  572 /home/akr/tst5/ruby/test/ruby/enc/test_euc_jp.rb
  573 /home/akr/tst5/h64clang/objdir/.ext/x86_64-linux/enc/windows_1251.so
  574 /home/akr/tst5/ruby/test/ruby/enc/test_windows_1251.rb
  575 /home/akr/tst5/ruby/test/ruby/enc/test_utf16.rb
  576 /home/akr/tst5/ruby/test/ruby/enc/test_big5.rb
  577 /home/akr/tst5/ruby/test/ruby/enc/test_iso_8859.rb
  578 /home/akr/tst5/ruby/test/ruby/enc/test_koi8.rb
  579 /home/akr/tst5/ruby/test/ruby/enc/test_euc_tw.rb
  580 /home/akr/tst5/ruby/test/ruby/test_condition.rb
  581 /home/akr/tst5/ruby/test/ruby/test_stringchar.rb
  582 /home/akr/tst5/ruby/test/ruby/test_signal.rb
  583 /home/akr/tst5/ruby/test/ruby/test_backtrace.rb
  584 /home/akr/tst5/ruby/test/ruby/test_integer.rb
  585 /home/akr/tst5/ruby/test/ruby/test_complex2.rb
  586 /home/akr/tst5/ruby/test/ruby/test_struct.rb
  587 /home/akr/tst5/ruby/test/ruby/test_object.rb
  588 /home/akr/tst5/ruby/test/ruby/test_ifunless.rb
  589 /home/akr/tst5/ruby/test/ruby/test_syntax.rb
  590 /home/akr/tst5/ruby/test/ruby/test_comparable.rb
  591 /home/akr/tst5/ruby/test/ruby/test_autoload.rb
  592 /home/akr/tst5/ruby/test/ruby/test_math.rb
  593 /home/akr/tst5/ruby/test/ruby/test_lambda.rb
  594 /home/akr/tst5/ruby/test/ruby/test_threadgroup.rb
  595 /home/akr/tst5/ruby/test/ruby/test_econv.rb
  596 /home/akr/tst5/ruby/test/ruby/test_continuation.rb
  597 /home/akr/tst5/ruby/test/ruby/test_path.rb
  598 /home/akr/tst5/ruby/lib/drb/extservm.rb
  599 /home/akr/tst5/ruby/test/drb/drbtest.rb
  600 /home/akr/tst5/ruby/test/drb/test_drb.rb
  601 /home/akr/tst5/ruby/lib/drb/unix.rb
  602 /home/akr/tst5/ruby/test/drb/test_drbunix.rb
  603 /home/akr/tst5/ruby/lib/drb/ssl.rb
  604 /home/akr/tst5/ruby/test/drb/test_drbssl.rb
  605 /home/akr/tst5/ruby/lib/drb/acl.rb
  606 /home/akr/tst5/ruby/test/drb/test_acl.rb
  607 /home/akr/tst5/ruby/test/monitor/test_monitor.rb
  608 /home/akr/tst5/ruby/lib/scanf.rb
  609 /home/akr/tst5/ruby/test/scanf/test_scanfblocks.rb
  610 /home/akr/tst5/ruby/test/scanf/test_scanf.rb
  611 /home/akr/tst5/ruby/test/scanf/test_scanfio.rb
  612 /home/akr/tst5/ruby/test/zlib/test_zlib.rb
  613 /home/akr/tst5/ruby/test/test_weakref.rb
  614 /home/akr/tst5/h64clang/objdir/.ext/x86_64-linux/coverage.so
  615 /home/akr/tst5/ruby/test/coverage/test_coverage.rb
  616 /home/akr/tst5/ruby/test/rexml/test_stream.rb
  617 /home/akr/tst5/ruby/test/rexml/test_elements.rb
  618 /home/akr/tst5/ruby/test/rexml/rexml_test_utils.rb
  619 /home/akr/tst5/ruby/test/rexml/test_contrib.rb
  620 /home/akr/tst5/ruby/test/rexml/test_encoding_2.rb
  621 /home/akr/tst5/ruby/test/rexml/test_xpath_pred.rb
  622 /home/akr/tst5/ruby/test/rexml/test_document.rb
  623 /home/akr/tst5/ruby/test/rexml/test_preceding_sibling.rb
  624 /home/akr/tst5/ruby/test/rexml/test_rexml_issuezilla.rb
  625 /home/akr/tst5/ruby/test/rexml/test_encoding.rb
  626 /home/akr/tst5/ruby/test/rexml/test_xpath.rb
  627 /home/akr/tst5/ruby/test/rexml/test_attributes.rb
  628 /home/akr/tst5/ruby/lib/rexml/validation/validation.rb
  629 /home/akr/tst5/ruby/lib/rexml/validation/relaxng.rb
  630 /home/akr/tst5/ruby/test/rexml/test_validation_rng.rb
  631 /home/akr/tst5/ruby/test/rexml/test_xpath_attribute_query.rb
  632 /home/akr/tst5/ruby/test/rexml/test_notationdecl_mixin.rb
  633 /home/akr/tst5/ruby/test/rexml/test_martin_fowler.rb
  634 /home/akr/tst5/ruby/test/rexml/test_functions.rb
  635 /home/akr/tst5/ruby/test/rexml/test_doctype.rb
  636 /home/akr/tst5/ruby/test/rexml/test_entity.rb
  637 /home/akr/tst5/ruby/test/rexml/test_ticket_80.rb
  638 /home/akr/tst5/ruby/test/rexml/test_text.rb
  639 /home/akr/tst5/ruby/test/rexml/test_changing_encoding.rb
  640 /home/akr/tst5/ruby/test/rexml/test_notationdecl_parsetest.rb
  641 /home/akr/tst5/ruby/lib/rexml/sax2listener.rb
  642 /home/akr/tst5/ruby/lib/rexml/parsers/sax2parser.rb
  643 /home/akr/tst5/ruby/test/rexml/test_sax.rb
  644 /home/akr/tst5/ruby/test/rexml/test_jaxen.rb
  645 /home/akr/tst5/ruby/test/rexml/test_attributes_mixin.rb
  646 /home/akr/tst5/ruby/test/rexml/test_namespace.rb
  647 /home/akr/tst5/ruby/lib/rexml/light/node.rb
  648 /home/akr/tst5/ruby/lib/rexml/parsers/lightparser.rb
  649 /home/akr/tst5/ruby/test/rexml/test_lightparser.rb
  650 /home/akr/tst5/ruby/test/rexml/test_order.rb
  651 /home/akr/tst5/ruby/test/rexml/test_xpathtext.rb
  652 /home/akr/tst5/ruby/test/rexml/test_xml_declaration.rb
  653 /home/akr/tst5/ruby/test/rexml/test_light.rb
  654 /home/akr/tst5/ruby/lib/rexml/parsers/pullparser.rb
  655 /home/akr/tst5/ruby/test/rexml/test_pullparser.rb
  656 /home/akr/tst5/ruby/test/rexml/test_xpath_msw.rb
  657 /home/akr/tst5/ruby/test/rexml/test_functions_number.rb
  658 /home/akr/tst5/ruby/test/rexml/test_listener.rb
  659 /home/akr/tst5/ruby/test/rexml/test_comment.rb
  660 /home/akr/tst5/ruby/test/rexml/listener.rb
  661 /home/akr/tst5/ruby/test/rexml/test_core.rb
  662 /home/akr/tst5/ruby/test/test_mathn.rb
  663 /home/akr/tst5/h64clang/objdir/.ext/x86_64-linux/objspace.so
  664 /home/akr/tst5/ruby/test/objspace/test_objspace.rb
  665 /home/akr/tst5/ruby/test/openssl/test_pkey_ec.rb
  666 /home/akr/tst5/ruby/test/openssl/test_config.rb
  667 /home/akr/tst5/ruby/test/openssl/test_ns_spki.rb
  668 /home/akr/tst5/ruby/test/openssl/test_fips.rb
  669 /home/akr/tst5/ruby/test/openssl/test_pkcs5.rb
  670 /home/akr/tst5/ruby/test/openssl/test_x509store.rb
  671 /home/akr/tst5/ruby/test/openssl/test_pkey_dh.rb
  672 /home/akr/tst5/ruby/test/openssl/test_ssl_session.rb
  673 /home/akr/tst5/ruby/lib/base64.rb
  674 /home/akr/tst5/ruby/test/openssl/test_pkey_rsa.rb
  675 /home/akr/tst5/ruby/test/openssl/test_bn.rb
  676 /home/akr/tst5/ruby/test/openssl/test_pair.rb
  677 /home/akr/tst5/ruby/test/openssl/test_pkcs12.rb
  678 /home/akr/tst5/ruby/test/openssl/test_ocsp.rb
  679 /home/akr/tst5/ruby/test/openssl/test_x509name.rb
  680 /home/akr/tst5/ruby/test/openssl/test_pkey_dsa.rb
  681 /home/akr/tst5/ruby/test/openssl/test_x509ext.rb
  682 /home/akr/tst5/ruby/test/openssl/test_asn1.rb
  683 /home/akr/tst5/ruby/test/openssl/test_cipher.rb
  684 /home/akr/tst5/ruby/test/openssl/test_digest.rb
  685 /home/akr/tst5/ruby/test/openssl/test_buffering.rb
  686 /home/akr/tst5/ruby/test/openssl/test_ssl.rb
  687 /home/akr/tst5/ruby/test/openssl/test_x509cert.rb
  688 /home/akr/tst5/ruby/test/openssl/test_x509req.rb
  689 /home/akr/tst5/ruby/test/openssl/test_engine.rb
  690 /home/akr/tst5/ruby/test/openssl/test_x509crl.rb
  691 /home/akr/tst5/ruby/test/openssl/test_hmac.rb
  692 /home/akr/tst5/ruby/test/openssl/test_pkcs7.rb
  693 /home/akr/tst5/h64clang/objdir/.ext/x86_64-linux/sdbm.so
  694 /home/akr/tst5/ruby/test/sdbm/test_sdbm.rb
  695 /home/akr/tst5/ruby/test/date/test_date_strptime.rb
  696 /home/akr/tst5/ruby/test/date/test_date_marshal.rb
  697 /home/akr/tst5/ruby/test/date/test_date.rb
  698 /home/akr/tst5/ruby/test/date/test_date_compat.rb
  699 /home/akr/tst5/ruby/test/date/test_date_parse.rb
  700 /home/akr/tst5/ruby/test/date/test_date_strftime.rb
  701 /home/akr/tst5/ruby/test/date/test_date_new.rb
  702 /home/akr/tst5/ruby/test/date/test_switch_hitter.rb
  703 /home/akr/tst5/ruby/test/date/test_date_conv.rb
  704 /home/akr/tst5/ruby/test/date/test_date_base.rb
  705 /home/akr/tst5/ruby/test/date/test_date_attr.rb
  706 /home/akr/tst5/ruby/test/date/test_date_arith.rb
  707 /home/akr/tst5/ruby/test/test_delegate.rb
  708 /home/akr/tst5/ruby/test/irb/test_option.rb
  709 /home/akr/tst5/ruby/test/irb/test_completion.rb
  710 /home/akr/tst5/h64clang/objdir/.ext/common/json/version.rb
  711 /home/akr/tst5/h64clang/objdir/.ext/common/json/generic_object.rb
  712 /home/akr/tst5/h64clang/objdir/.ext/common/json/common.rb
  713 /home/akr/tst5/h64clang/objdir/.ext/x86_64-linux/enc/utf_16be.so
  714 /home/akr/tst5/h64clang/objdir/.ext/x86_64-linux/enc/utf_16le.so
  715 /home/akr/tst5/h64clang/objdir/.ext/x86_64-linux/enc/utf_32be.so
  716 /home/akr/tst5/h64clang/objdir/.ext/x86_64-linux/enc/utf_32le.so
  717 /home/akr/tst5/h64clang/objdir/.ext/x86_64-linux/json/ext/parser.so
  718 /home/akr/tst5/h64clang/objdir/.ext/x86_64-linux/json/ext/generator.so
  719 /home/akr/tst5/h64clang/objdir/.ext/common/json/ext.rb
  720 /home/akr/tst5/h64clang/objdir/.ext/common/json.rb
  721 /home/akr/tst5/ruby/test/json/setup_variant.rb
  722 /home/akr/tst5/ruby/test/json/test_json_encoding.rb
  723 /home/akr/tst5/ruby/test/json/test_json_generic_object.rb
  724 /home/akr/tst5/ruby/test/json/test_json_unicode.rb
  725 /home/akr/tst5/h64clang/objdir/.ext/common/json/add/date.rb
  726 /home/akr/tst5/h64clang/objdir/.ext/common/json/add/date_time.rb
  727 /home/akr/tst5/h64clang/objdir/.ext/common/json/add/exception.rb
  728 /home/akr/tst5/h64clang/objdir/.ext/common/json/add/range.rb
  729 /home/akr/tst5/h64clang/objdir/.ext/common/json/add/regexp.rb
  730 /home/akr/tst5/h64clang/objdir/.ext/common/json/add/struct.rb
  731 /home/akr/tst5/h64clang/objdir/.ext/common/json/add/symbol.rb
  732 /home/akr/tst5/h64clang/objdir/.ext/common/json/add/time.rb
  733 /home/akr/tst5/h64clang/objdir/.ext/common/json/add/core.rb
  734 /home/akr/tst5/h64clang/objdir/.ext/common/json/add/complex.rb
  735 /home/akr/tst5/h64clang/objdir/.ext/common/json/add/rational.rb
  736 /home/akr/tst5/h64clang/objdir/.ext/common/json/add/bigdecimal.rb
  737 /home/akr/tst5/h64clang/objdir/.ext/common/json/add/ostruct.rb
  738 /home/akr/tst5/ruby/test/json/test_json_addition.rb
  739 /home/akr/tst5/ruby/test/json/test_json_string_matching.rb
  740 /home/akr/tst5/ruby/test/json/test_json.rb
  741 /home/akr/tst5/ruby/test/json/test_json_fixtures.rb
  742 /home/akr/tst5/ruby/test/json/test_json_generate.rb
  743 /home/akr/tst5/ruby/lib/find.rb
  744 /home/akr/tst5/ruby/test/test_find.rb
  745 /home/akr/tst5/ruby/lib/rubygems/user_interaction.rb
  746 /home/akr/tst5/ruby/lib/rubygems/security/policy.rb
  747 /home/akr/tst5/ruby/lib/rubygems/security/policies.rb
  748 /home/akr/tst5/ruby/lib/rubygems/security/trust_dir.rb
  749 /home/akr/tst5/ruby/lib/rubygems/security/signer.rb
  750 /home/akr/tst5/ruby/lib/rubygems/security.rb
  751 /home/akr/tst5/ruby/lib/rubygems/package/digest_io.rb
  752 /home/akr/tst5/ruby/lib/rubygems/package/old.rb
  753 /home/akr/tst5/ruby/lib/rubygems/package/tar_header.rb
  754 /home/akr/tst5/ruby/lib/rubygems/package/tar_reader/entry.rb
  755 /home/akr/tst5/ruby/lib/rubygems/package/tar_reader.rb
  756 /home/akr/tst5/ruby/lib/rubygems/package/tar_writer.rb
  757 /home/akr/tst5/ruby/lib/rubygems/package.rb
  758 /home/akr/tst5/ruby/lib/rubygems/request.rb
  759 /home/akr/tst5/ruby/lib/rubygems/uri_formatter.rb
  760 /home/akr/tst5/ruby/lib/rubygems/remote_fetcher.rb
  761 /home/akr/tst5/ruby/lib/rubygems/test_utilities.rb
  762 /home/akr/tst5/ruby/lib/rubygems/psych_additions.rb
  763 /home/akr/tst5/ruby/lib/rubygems/psych_tree.rb
  764 /home/akr/tst5/ruby/lib/rubygems/syck_hack.rb
  765 /home/akr/tst5/ruby/lib/rubygems/mock_gem_ui.rb
  766 /home/akr/tst5/ruby/lib/rubygems/test_case.rb
  767 /home/akr/tst5/ruby/test/rubygems/test_gem_security_policy.rb
  768 /home/akr/tst5/ruby/lib/rubygems/config_file.rb
  769 /home/akr/tst5/ruby/test/rubygems/test_gem_config_file.rb
  770 /home/akr/tst5/ruby/lib/rubygems/command.rb
  771 /home/akr/tst5/ruby/lib/rubygems/text.rb
  772 /home/akr/tst5/ruby/lib/rubygems/name_tuple.rb
  773 /home/akr/tst5/ruby/lib/rubygems/spec_fetcher.rb
  774 /home/akr/tst5/ruby/lib/rubygems/local_remote_options.rb
  775 /home/akr/tst5/ruby/lib/rubygems/commands/sources_command.rb
  776 /home/akr/tst5/ruby/test/rubygems/test_gem_commands_sources_command.rb
  777 /home/akr/tst5/ruby/lib/rubygems/gemcutter_utilities.rb
  778 /home/akr/tst5/ruby/test/rubygems/test_gem_gemcutter_utilities.rb
  779 /home/akr/tst5/ruby/test/rubygems/test_gem_security_trust_dir.rb
  780 /home/akr/tst5/ruby/test/rubygems/test_deprecate.rb
  781 /home/akr/tst5/ruby/lib/rubygems/ext/builder.rb
  782 /home/akr/tst5/ruby/lib/rubygems/ext/configure_builder.rb
  783 /home/akr/tst5/ruby/lib/rubygems/ext/ext_conf_builder.rb
  784 /home/akr/tst5/ruby/lib/rubygems/ext/rake_builder.rb
  785 /home/akr/tst5/ruby/lib/rubygems/ext/cmake_builder.rb
  786 /home/akr/tst5/ruby/lib/rubygems/ext.rb
  787 /home/akr/tst5/ruby/lib/rubygems/installer.rb
  788 /home/akr/tst5/ruby/lib/rubygems/installer_test_case.rb
  789 /home/akr/tst5/ruby/lib/tsort.rb
  790 /home/akr/tst5/ruby/lib/rubygems/dependency_list.rb
  791 /home/akr/tst5/ruby/lib/rubygems/util/list.rb
  792 /home/akr/tst5/ruby/lib/rubygems/dependency_resolver/api_set.rb
  793 /home/akr/tst5/ruby/lib/rubygems/dependency_resolver/api_specification.rb
  794 /home/akr/tst5/ruby/lib/rubygems/dependency_resolver/activation_request.rb
  795 /home/akr/tst5/ruby/lib/rubygems/dependency_resolver/composed_set.rb
  796 /home/akr/tst5/ruby/lib/rubygems/dependency_resolver/current_set.rb
  797 /home/akr/tst5/ruby/lib/rubygems/dependency_resolver/dependency_conflict.rb
  798 /home/akr/tst5/ruby/lib/rubygems/dependency_resolver/dependency_request.rb
  799 /home/akr/tst5/ruby/lib/rubygems/dependency_resolver/index_set.rb
  800 /home/akr/tst5/ruby/lib/rubygems/dependency_resolver/index_specification.rb
  801 /home/akr/tst5/ruby/lib/rubygems/dependency_resolver/installed_specification.rb
  802 /home/akr/tst5/ruby/lib/rubygems/dependency_resolver/installer_set.rb
  803 /home/akr/tst5/ruby/lib/rubygems/dependency_resolver.rb
  804 /home/akr/tst5/ruby/lib/rubygems/request_set/gem_dependency_api.rb
  805 /home/akr/tst5/ruby/lib/rubygems/request_set.rb
  806 /home/akr/tst5/ruby/lib/rdoc.rb
  807 /home/akr/tst5/ruby/lib/rdoc/rubygems_hook.rb
  808 /home/akr/tst5/ruby/lib/rubygems/rdoc.rb
  809 /home/akr/tst5/ruby/lib/rubygems/uninstaller.rb
  810 /home/akr/tst5/ruby/test/rubygems/test_gem_uninstaller.rb
  811 /home/akr/tst5/ruby/test/rubygems/test_gem_uri_formatter.rb
  812 /home/akr/tst5/ruby/lib/rubygems/commands/mirror_command.rb
  813 /home/akr/tst5/ruby/test/rubygems/test_gem_commands_mirror.rb
  814 /home/akr/tst5/ruby/test/rubygems/test_gem_ext_ext_conf_builder.rb
  815 /home/akr/tst5/ruby/test/rubygems/test_config.rb
  816 /home/akr/tst5/ruby/test/rubygems/test_gem.rb
  817 /home/akr/tst5/ruby/test/rubygems/test_gem_specification.rb
  818 /home/akr/tst5/ruby/lib/rubygems/source/installed.rb
  819 /home/akr/tst5/ruby/lib/rubygems/source.rb
  820 /home/akr/tst5/ruby/lib/rubygems/source/local.rb
  821 /home/akr/tst5/ruby/lib/rubygems/source/specific_file.rb
  822 /home/akr/tst5/ruby/lib/rubygems/available_set.rb
  823 /home/akr/tst5/ruby/lib/rubygems/dependency_installer.rb
  824 /home/akr/tst5/ruby/test/rubygems/test_gem_dependency_installer.rb
  825 /home/akr/tst5/ruby/test/rubygems/test_gem_dependency.rb
  826 /home/akr/tst5/ruby/lib/rubygems/commands/help_command.rb
  827 /home/akr/tst5/ruby/lib/rubygems/command_manager.rb
  828 /home/akr/tst5/ruby/test/rubygems/rubygems_plugin.rb
  829 /home/akr/tst5/ruby/test/rubygems/test_gem_commands_help_command.rb
  830 /home/akr/tst5/ruby/test/rubygems/simple_gem.rb
  831 /home/akr/tst5/ruby/lib/rubygems/validator.rb
  832 /home/akr/tst5/ruby/test/rubygems/test_gem_validator.rb
  833 /home/akr/tst5/ruby/lib/rubygems/version_option.rb
  834 /home/akr/tst5/ruby/lib/rubygems/commands/contents_command.rb
  835 /home/akr/tst5/ruby/test/rubygems/test_gem_commands_contents_command.rb
  836 /home/akr/tst5/ruby/lib/rubygems/commands/query_command.rb
  837 /home/akr/tst5/ruby/lib/rubygems/commands/list_command.rb
  838 /home/akr/tst5/ruby/test/rubygems/test_gem_commands_list_command.rb
  839 /home/akr/tst5/ruby/test/rubygems/test_gem_installer.rb
  840 /home/akr/tst5/ruby/test/rubygems/test_gem_security_signer.rb
  841 /home/akr/tst5/ruby/lib/rubygems/install_update_options.rb
  842 /home/akr/tst5/ruby/lib/rubygems/commands/install_command.rb
  843 /home/akr/tst5/ruby/test/rubygems/test_gem_commands_install_command.rb
  844 /home/akr/tst5/ruby/test/rubygems/test_gem_command.rb
  845 /home/akr/tst5/ruby/test/rubygems/test_gem_dependency_list.rb
  846 /home/akr/tst5/ruby/lib/rubygems/package/tar_test_case.rb
  847 /home/akr/tst5/ruby/test/rubygems/test_gem_package_tar_header.rb
  848 /home/akr/tst5/ruby/lib/rubygems/commands/cleanup_command.rb
  849 /home/akr/tst5/ruby/test/rubygems/test_gem_commands_cleanup_command.rb
  850 /home/akr/tst5/ruby/lib/rubygems/commands/pristine_command.rb
  851 /home/akr/tst5/ruby/test/rubygems/test_gem_commands_pristine_command.rb
  852 /home/akr/tst5/ruby/test/rubygems/test_gem_version_option.rb
  853 /home/akr/tst5/ruby/lib/rubygems/commands/outdated_command.rb
  854 /home/akr/tst5/ruby/test/rubygems/test_gem_commands_outdated_command.rb
  855 /home/akr/tst5/ruby/lib/rake/version.rb
  856 /home/akr/tst5/ruby/lib/rake/ext/core.rb
  857 /home/akr/tst5/ruby/lib/rake/invocation_exception_mixin.rb
  858 /home/akr/tst5/ruby/lib/rake/task.rb
  859 /home/akr/tst5/ruby/lib/rake/early_time.rb
  860 /home/akr/tst5/ruby/lib/rake/file_task.rb
  861 /home/akr/tst5/ruby/lib/rake/file_creation_task.rb
  862 /home/akr/tst5/ruby/lib/rake/task_manager.rb
  863 /home/akr/tst5/ruby/lib/rake/cloneable.rb
  864 /home/akr/tst5/ruby/lib/rake/file_utils.rb
  865 /home/akr/tst5/ruby/lib/rake/file_utils_ext.rb
  866 /home/akr/tst5/ruby/lib/rake/ext/string.rb
  867 /home/akr/tst5/ruby/lib/rake/pathmap.rb
  868 /home/akr/tst5/ruby/lib/rake/file_list.rb
  869 /home/akr/tst5/ruby/lib/rake/promise.rb
  870 /home/akr/tst5/ruby/lib/rake/thread_pool.rb
  871 /home/akr/tst5/ruby/lib/rake/private_reader.rb
  872 /home/akr/tst5/ruby/lib/rake/thread_history_display.rb
  873 /home/akr/tst5/ruby/lib/rake/trace_output.rb
  874 /home/akr/tst5/ruby/lib/rake/alt_system.rb
  875 /home/akr/tst5/ruby/lib/rake/win32.rb
  876 /home/akr/tst5/ruby/lib/rake/application.rb
  877 /home/akr/tst5/ruby/lib/rake/ext/module.rb
  878 /home/akr/tst5/ruby/lib/rake/ext/time.rb
  879 /home/akr/tst5/ruby/lib/rake/task_argument_error.rb
  880 /home/akr/tst5/ruby/lib/rake/rule_recursion_overflow_error.rb
  881 /home/akr/tst5/ruby/lib/rake/rake_module.rb
  882 /home/akr/tst5/ruby/lib/rake/pseudo_status.rb
  883 /home/akr/tst5/ruby/lib/rake/task_arguments.rb
  884 /home/akr/tst5/ruby/lib/rake/invocation_chain.rb
  885 /home/akr/tst5/ruby/lib/rake/multi_task.rb
  886 /home/akr/tst5/ruby/lib/rake/dsl_definition.rb
  887 /home/akr/tst5/ruby/lib/rake/default_loader.rb
  888 /home/akr/tst5/ruby/lib/rake/name_space.rb
  889 /home/akr/tst5/ruby/lib/rake/backtrace.rb
  890 /home/akr/tst5/ruby/lib/rake.rb
  891 /home/akr/tst5/ruby/lib/rake/tasklib.rb
  892 /home/akr/tst5/ruby/lib/rake/packagetask.rb
  893 /home/akr/tst5/ruby/lib/rubygems/package_task.rb
  894 /home/akr/tst5/ruby/test/rubygems/test_gem_package_task.rb
  895 /home/akr/tst5/ruby/test/rubygems/test_gem_request.rb
  896 /home/akr/tst5/ruby/lib/rubygems/commands/yank_command.rb
  897 /home/akr/tst5/ruby/test/rubygems/test_gem_commands_yank_command.rb
  898 /home/akr/tst5/ruby/test/rubygems/test_gem_source_specific_file.rb
  899 /home/akr/tst5/ruby/test/rubygems/test_gem_platform.rb
  900 /home/akr/tst5/ruby/test/rubygems/test_gem_ext_configure_builder.rb
  901 /home/akr/tst5/ruby/test/rubygems/test_g


-- 
http://bugs.ruby-lang.org/

^ permalink raw reply	[flat|nested] 6+ messages in thread

* [ruby-dev:47525] [ruby-trunk - Bug #8644] valgrind error in a readline test
       [not found] <redmine.issue-8644.20130716211304@ruby-lang.org>
  2013-07-16 12:47 ` [ruby-dev:47509] [ruby-trunk - Bug #8644] valgrind error in a readline test akr (Akira Tanaka)
@ 2013-07-18  8:41 ` akr (Akira Tanaka)
  2013-07-18 10:49 ` [ruby-dev:47527] " akr (Akira Tanaka)
                   ` (3 subsequent siblings)
  5 siblings, 0 replies; 6+ messages in thread
From: akr (Akira Tanaka) @ 2013-07-18  8:41 UTC (permalink / raw
  To: ruby developers list


Issue #8644 has been updated by akr (Akira Tanaka).

Description updated

SEGV のログは長すぎたので issue の本文からは消しました。
----------------------------------------
Bug #8644: valgrind error in a readline test
https://bugs.ruby-lang.org/issues/8644#change-40565

Author: akr (Akira Tanaka)
Status: Open
Priority: Normal
Assignee: 
Category: 
Target version: 
ruby -v: ruby 2.1.0dev (2013-07-16 trunk 42006) [x86_64-linux]
Backport: 1.9.3: UNKNOWN, 2.0.0: UNKNOWN


test-all が readline のところで SEGV することがあったので、
とりあえず valgrind をかけてみたところ、ひとつ問題を指摘されました。

  % ./ruby -v
  ruby 2.1.0dev (2013-07-16 trunk 42006) [x86_64-linux]
  % valgrind ./ruby -I.ext/x86_64-linux  ../../ruby/test/runner.rb ../../ruby/test/readline -n test_closed_outstream
  ==27651== Memcheck, a memory error detector
  ==27651== Copyright (C) 2002-2011, and GNU GPL'd, by Julian Seward et al.
  ==27651== Using Valgrind-3.7.0 and LibVEX; rerun with -h for copyright info
  ==27651== Command: ./ruby -I.ext/x86_64-linux ../../ruby/test/runner.rb ../../ruby/test/readline -n test_closed_outstream
  ==27651==
  Run options: -n test_closed_outstream

  # Running tests:

  [1/1] TestReadline#test_closed_outstream==27651== Invalid read of size 4
  ==27651==    at 0x597B610: fileno (fileno.c:37)
  ==27651==    by 0x74A3EA6: readline_readline (readline.c:397)
  ==27651==    by 0x390B39: call_cfunc_m1 (vm_insnhelper.c:1348)
  ==27651==    by 0x396943: vm_call_cfunc_with_frame (vm_insnhelper.c:1492)
  ==27651==    by 0x395144: vm_call_cfunc (vm_insnhelper.c:1582)
  ==27651==    by 0x394915: vm_call_method (vm_insnhelper.c:1774)
  ==27651==    by 0x396A84: vm_call_general (vm_insnhelper.c:1925)
  ==27651==    by 0x3724DC: vm_exec_core (insns.def:1017)
  ==27651==    by 0x383DDF: vm_exec (vm.c:1198)
  ==27651==    by 0x389DBD: invoke_block_from_c (vm.c:646)
  ==27651==    by 0x38E299: vm_yield (vm.c:677)
  ==27651==    by 0x380012: rb_yield_0 (vm_eval.c:937)
  ==27651==  Address 0x847a1a0 is 0 bytes inside a block of size 568 free'd
  ==27651==    at 0x4C27D4E: free (vg_replace_malloc.c:427)
  ==27651==    by 0x5977CCC: fclose@@GLIBC_2.2.5 (iofclose.c:88)
  ==27651==    by 0x190F5C: nogvl_fclose (io.c:4048)
  ==27651==    by 0x3A33FC: call_without_gvl (thread.c:1244)
  ==27651==    by 0x3A3532: rb_thread_call_without_gvl (thread.c:1354)
  ==27651==    by 0x190E7C: maygvl_fclose (io.c:4057)
  ==27651==    by 0x190620: fptr_finalize (io.c:4099)
  ==27651==    by 0x16C922: rb_io_fptr_cleanup (io.c:4130)
  ==27651==    by 0x16CAE7: rb_io_close (io.c:4221)
  ==27651==    by 0x17A2F1: rb_io_close_m (io.c:4250)
  ==27651==    by 0x390B62: call_cfunc_0 (vm_insnhelper.c:1354)
  ==27651==    by 0x396943: vm_call_cfunc_with_frame (vm_insnhelper.c:1492)
  ==27651==
  Finished tests in 0.521803s, 1.9164 tests/s, 5.7493 assertions/s.
  1 tests, 3 assertions, 0 failures, 0 errors, 0 skips

  ruby -v: ruby 2.1.0dev (2013-07-16 trunk 42006) [x86_64-linux]
  ==27651==
  ==27651== HEAP SUMMARY:
  ==27651==     in use at exit: 1,905,554 bytes in 30,452 blocks
  ==27651==   total heap usage: 94,021 allocs, 63,569 frees, 19,535,963 bytes allocated
  ==27651==
  ==27651== LEAK SUMMARY:
  ==27651==    definitely lost: 447,671 bytes in 3,643 blocks
  ==27651==    indirectly lost: 979,312 bytes in 17,524 blocks
  ==27651==      possibly lost: 0 bytes in 0 blocks
  ==27651==    still reachable: 478,571 bytes in 9,285 blocks
  ==27651==         suppressed: 0 bytes in 0 blocks
  ==27651== Rerun with --leak-check=full to see details of leaked memory
  ==27651==
  ==27651== For counts of detected and suppressed errors, rerun with: -v
  ==27651== ERROR SUMMARY: 1 errors from 1 contexts (suppressed: 4 from 4)

ちょっとソースを見たところ、fclose した後に fileno しているようですが、
これはよろしくないんじゃないでしょうか。

valgrind で指摘されたのが原因かどうかはわかりませんが、
SEGV したときのログもつけておきます。
(長すぎるので消しました。test_closed_outstream-segv.txt をみてください。)



-- 
http://bugs.ruby-lang.org/

^ permalink raw reply	[flat|nested] 6+ messages in thread

* [ruby-dev:47527] [ruby-trunk - Bug #8644] valgrind error in a readline test
       [not found] <redmine.issue-8644.20130716211304@ruby-lang.org>
  2013-07-16 12:47 ` [ruby-dev:47509] [ruby-trunk - Bug #8644] valgrind error in a readline test akr (Akira Tanaka)
  2013-07-18  8:41 ` [ruby-dev:47525] " akr (Akira Tanaka)
@ 2013-07-18 10:49 ` akr (Akira Tanaka)
  2013-07-18 14:02 ` [ruby-dev:47528] " akr (Akira Tanaka)
                   ` (2 subsequent siblings)
  5 siblings, 0 replies; 6+ messages in thread
From: akr (Akira Tanaka) @ 2013-07-18 10:49 UTC (permalink / raw
  To: ruby developers list


Issue #8644 has been updated by akr (Akira Tanaka).


調べてみると、テストにある、Readline.output に設定した
IO オブジェクトを close した場合だけでなく、
Readline.input に設定した IO オブジェクトを close した場合にも
Invalid read が起こるようです。
以下のようにして確認できます。

  % valgrind ./ruby -rreadline -e '
  r, w = IO.pipe
  Readline.input = r
  Readline.output = w
  r.close
  Readline.readline'
  ==10001== Memcheck, a memory error detector
  ==10001== Copyright (C) 2002-2010, and GNU GPL'd, by Julian Seward et al.
  ==10001== Using Valgrind-3.6.0.SVN-Debian and LibVEX; rerun with -h for copyright info
  ==10001== Command: ./ruby -rreadline -e 
  ==10001== r,\ w\ =\ IO.pipe
  ==10001== Readline.input\ =\ r
  ==10001== Readline.output\ =\ w
  ==10001== r.close
  ==10001== Readline.readline
  ==10001== 
  ==10001== Invalid read of size 4
  ==10001==    at 0x59706A0: fileno (fileno.c:37)
  ==10001==    by 0x6EDB699: readline_readline (readline.c:394)
  ==10001==    by 0x258AFE: call_cfunc_m1 (vm_insnhelper.c:1348)
  ==10001==    by 0x2596EE: vm_call_cfunc_with_frame (vm_insnhelper.c:1492)
  ==10001==    by 0x259828: vm_call_cfunc (vm_insnhelper.c:1582)
  ==10001==    by 0x25A368: vm_call_method (vm_insnhelper.c:1774)
  ==10001==    by 0x25AB02: vm_call_general (vm_insnhelper.c:1925)
  ==10001==    by 0x25E4D0: vm_exec_core (insns.def:1017)
  ==10001==    by 0x26D8C8: vm_exec (vm.c:1198)
  ==10001==    by 0x26E53C: rb_iseq_eval_main (vm.c:1448)
  ==10001==    by 0x12D3CC: ruby_exec_internal (eval.c:252)
  ==10001==    by 0x12D4DF: ruby_exec_node (eval.c:317)
  ==10001==  Address 0x6e5f970 is 0 bytes inside a block of size 568 free'd
  ==10001==    at 0x4C240FD: free (vg_replace_malloc.c:366)
  ==10001==    by 0x596CD5C: fclose@@GLIBC_2.2.5 (iofclose.c:88)
  ==10001==    by 0x156E76: nogvl_fclose (io.c:4048)
  ==10001==    by 0x27AB3D: call_without_gvl (thread.c:1244)
  ==10001==    by 0x27AC6F: rb_thread_call_without_gvl (thread.c:1354)
  ==10001==    by 0x156EBC: maygvl_fclose (io.c:4057)
  ==10001==    by 0x157014: fptr_finalize (io.c:4099)
  ==10001==    by 0x15712B: rb_io_fptr_cleanup (io.c:4130)
  ==10001==    by 0x15740C: rb_io_close (io.c:4221)
  ==10001==    by 0x157464: rb_io_close_m (io.c:4250)
  ==10001==    by 0x258B2E: call_cfunc_0 (vm_insnhelper.c:1354)
  ==10001==    by 0x2596EE: vm_call_cfunc_with_frame (vm_insnhelper.c:1492)
  ==10001== 
  -e:6:in `readline': closed stdin (IOError)
	  from -e:6:in `<main>'
  ==10001== 
  ==10001== HEAP SUMMARY:
  ==10001==     in use at exit: 1,503,865 bytes in 23,682 blocks
  ==10001==   total heap usage: 41,787 allocs, 18,105 frees, 8,853,637 bytes allocated
  ==10001== 
  ==10001== LEAK SUMMARY:
  ==10001==    definitely lost: 453,958 bytes in 4,422 blocks
  ==10001==    indirectly lost: 696,055 bytes in 12,524 blocks
  ==10001==      possibly lost: 121 bytes in 1 blocks
  ==10001==    still reachable: 353,731 bytes in 6,735 blocks
  ==10001==         suppressed: 0 bytes in 0 blocks
  ==10001== Rerun with --leak-check=full to see details of leaked memory
  ==10001== 
  ==10001== For counts of detected and suppressed errors, rerun with: -v
  ==10001== ERROR SUMMARY: 1 errors from 1 contexts (suppressed: 4 from 4)
  zsh: exit 1     valgrind ./ruby -rreadline -e 

ついでに、Readline.output のほうも test でなく単独で確認するには以下のようにできます。

  % valgrind ./ruby -rreadline -e '
  r, w = IO.pipe
  Readline.input = r
  Readline.output = w
  w.close
  Readline.readline'
  ==9994== Memcheck, a memory error detector
  ==9994== Copyright (C) 2002-2010, and GNU GPL'd, by Julian Seward et al.
  ==9994== Using Valgrind-3.6.0.SVN-Debian and LibVEX; rerun with -h for copyright info
  ==9994== Command: ./ruby -rreadline -e 
  ==9994== r,\ w\ =\ IO.pipe
  ==9994== Readline.input\ =\ r
  ==9994== Readline.output\ =\ w
  ==9994== w.close
  ==9994== Readline.readline
  ==9994== 
  ==9994== Invalid read of size 4
  ==9994==    at 0x59706A0: fileno (fileno.c:37)
  ==9994==    by 0x6EDB6EF: readline_readline (readline.c:397)
  ==9994==    by 0x258AFE: call_cfunc_m1 (vm_insnhelper.c:1348)
  ==9994==    by 0x2596EE: vm_call_cfunc_with_frame (vm_insnhelper.c:1492)
  ==9994==    by 0x259828: vm_call_cfunc (vm_insnhelper.c:1582)
  ==9994==    by 0x25A368: vm_call_method (vm_insnhelper.c:1774)
  ==9994==    by 0x25AB02: vm_call_general (vm_insnhelper.c:1925)
  ==9994==    by 0x25E4D0: vm_exec_core (insns.def:1017)
  ==9994==    by 0x26D8C8: vm_exec (vm.c:1198)
  ==9994==    by 0x26E53C: rb_iseq_eval_main (vm.c:1448)
  ==9994==    by 0x12D3CC: ruby_exec_internal (eval.c:252)
  ==9994==    by 0x12D4DF: ruby_exec_node (eval.c:317)
  ==9994==  Address 0x6e5fbf0 is 0 bytes inside a block of size 568 free'd
  ==9994==    at 0x4C240FD: free (vg_replace_malloc.c:366)
  ==9994==    by 0x596CD5C: fclose@@GLIBC_2.2.5 (iofclose.c:88)
  ==9994==    by 0x156E76: nogvl_fclose (io.c:4048)
  ==9994==    by 0x27AB3D: call_without_gvl (thread.c:1244)
  ==9994==    by 0x27AC6F: rb_thread_call_without_gvl (thread.c:1354)
  ==9994==    by 0x156EBC: maygvl_fclose (io.c:4057)
  ==9994==    by 0x157014: fptr_finalize (io.c:4099)
  ==9994==    by 0x15712B: rb_io_fptr_cleanup (io.c:4130)
  ==9994==    by 0x15740C: rb_io_close (io.c:4221)
  ==9994==    by 0x157464: rb_io_close_m (io.c:4250)
  ==9994==    by 0x258B2E: call_cfunc_0 (vm_insnhelper.c:1354)
  ==9994==    by 0x2596EE: vm_call_cfunc_with_frame (vm_insnhelper.c:1492)
  ==9994== 
  -e:6:in `readline': closed stdout (IOError)
	  from -e:6:in `<main>'
  ==9994== 
  ==9994== HEAP SUMMARY:
  ==9994==     in use at exit: 1,503,865 bytes in 23,682 blocks
  ==9994==   total heap usage: 41,787 allocs, 18,105 frees, 8,853,637 bytes allocated
  ==9994== 
  ==9994== LEAK SUMMARY:
  ==9994==    definitely lost: 453,958 bytes in 4,422 blocks
  ==9994==    indirectly lost: 696,055 bytes in 12,524 blocks
  ==9994==      possibly lost: 121 bytes in 1 blocks
  ==9994==    still reachable: 353,731 bytes in 6,735 blocks
  ==9994==         suppressed: 0 bytes in 0 blocks
  ==9994== Rerun with --leak-check=full to see details of leaked memory
  ==9994== 
  ==9994== For counts of detected and suppressed errors, rerun with: -v
  ==9994== ERROR SUMMARY: 1 errors from 1 contexts (suppressed: 4 from 4)
  zsh: exit 1     valgrind ./ruby -rreadline -e 

  % ./ruby -v
  ruby 2.1.0dev (2013-07-18 trunk 42040) [x86_64-linux]

問題は、readline_s_set_input や readline_s_set_output で、
IO オブジェクトから rb_io_stdio_file で FILE * を入手し、
rl_instream や rl_outstream へ代入していることにあります。

IO#close では rl_instream や rl_outstream に残っていることは気にせず、
FILE * を fclose し、ファイル構造体は開放されるので、
その後で (readline_readline で) fileno(rl_instream) や fileno(rl_outstream) をすると
Invalid read になります。
もし、ファイル構造体のあったメモリが OS に返却されていれば SEGV になってもおかしくないでしょう。

rb_io_stdio_file で入手した FILE * はいつ消えてもおかしくないので、
rl_instream や rl_outstream へ代入してとっておくのはよろしくないのではないでしょうか。
ファイル構造体をどうしてもとっておく必要があるなら、おそらく、fd を dup して fdopen で
ファイル構造体を新しく作って代入するような方向性がいいんじゃないでしょうか。

もちろん、そうやって dup/fdopen で資源 (新しい fd, ファイル構造体) を確保するなら
開放する手立ても必要でしょう。
readline_readline で errno == EBADF で検査する代わりにもともとの IO オブジェクトが
クローズされているかどうかを調べてクローズされていたら開放するとか、
readline_s_set_input や readline_s_set_output で nil を受け付けるとか、
いくつか考えないといけないとは思います。

----------------------------------------
Bug #8644: valgrind error in a readline test
https://bugs.ruby-lang.org/issues/8644#change-40567

Author: akr (Akira Tanaka)
Status: Open
Priority: Normal
Assignee: 
Category: 
Target version: 
ruby -v: ruby 2.1.0dev (2013-07-16 trunk 42006) [x86_64-linux]
Backport: 1.9.3: UNKNOWN, 2.0.0: UNKNOWN


test-all が readline のところで SEGV することがあったので、
とりあえず valgrind をかけてみたところ、ひとつ問題を指摘されました。

  % ./ruby -v
  ruby 2.1.0dev (2013-07-16 trunk 42006) [x86_64-linux]
  % valgrind ./ruby -I.ext/x86_64-linux  ../../ruby/test/runner.rb ../../ruby/test/readline -n test_closed_outstream
  ==27651== Memcheck, a memory error detector
  ==27651== Copyright (C) 2002-2011, and GNU GPL'd, by Julian Seward et al.
  ==27651== Using Valgrind-3.7.0 and LibVEX; rerun with -h for copyright info
  ==27651== Command: ./ruby -I.ext/x86_64-linux ../../ruby/test/runner.rb ../../ruby/test/readline -n test_closed_outstream
  ==27651==
  Run options: -n test_closed_outstream

  # Running tests:

  [1/1] TestReadline#test_closed_outstream==27651== Invalid read of size 4
  ==27651==    at 0x597B610: fileno (fileno.c:37)
  ==27651==    by 0x74A3EA6: readline_readline (readline.c:397)
  ==27651==    by 0x390B39: call_cfunc_m1 (vm_insnhelper.c:1348)
  ==27651==    by 0x396943: vm_call_cfunc_with_frame (vm_insnhelper.c:1492)
  ==27651==    by 0x395144: vm_call_cfunc (vm_insnhelper.c:1582)
  ==27651==    by 0x394915: vm_call_method (vm_insnhelper.c:1774)
  ==27651==    by 0x396A84: vm_call_general (vm_insnhelper.c:1925)
  ==27651==    by 0x3724DC: vm_exec_core (insns.def:1017)
  ==27651==    by 0x383DDF: vm_exec (vm.c:1198)
  ==27651==    by 0x389DBD: invoke_block_from_c (vm.c:646)
  ==27651==    by 0x38E299: vm_yield (vm.c:677)
  ==27651==    by 0x380012: rb_yield_0 (vm_eval.c:937)
  ==27651==  Address 0x847a1a0 is 0 bytes inside a block of size 568 free'd
  ==27651==    at 0x4C27D4E: free (vg_replace_malloc.c:427)
  ==27651==    by 0x5977CCC: fclose@@GLIBC_2.2.5 (iofclose.c:88)
  ==27651==    by 0x190F5C: nogvl_fclose (io.c:4048)
  ==27651==    by 0x3A33FC: call_without_gvl (thread.c:1244)
  ==27651==    by 0x3A3532: rb_thread_call_without_gvl (thread.c:1354)
  ==27651==    by 0x190E7C: maygvl_fclose (io.c:4057)
  ==27651==    by 0x190620: fptr_finalize (io.c:4099)
  ==27651==    by 0x16C922: rb_io_fptr_cleanup (io.c:4130)
  ==27651==    by 0x16CAE7: rb_io_close (io.c:4221)
  ==27651==    by 0x17A2F1: rb_io_close_m (io.c:4250)
  ==27651==    by 0x390B62: call_cfunc_0 (vm_insnhelper.c:1354)
  ==27651==    by 0x396943: vm_call_cfunc_with_frame (vm_insnhelper.c:1492)
  ==27651==
  Finished tests in 0.521803s, 1.9164 tests/s, 5.7493 assertions/s.
  1 tests, 3 assertions, 0 failures, 0 errors, 0 skips

  ruby -v: ruby 2.1.0dev (2013-07-16 trunk 42006) [x86_64-linux]
  ==27651==
  ==27651== HEAP SUMMARY:
  ==27651==     in use at exit: 1,905,554 bytes in 30,452 blocks
  ==27651==   total heap usage: 94,021 allocs, 63,569 frees, 19,535,963 bytes allocated
  ==27651==
  ==27651== LEAK SUMMARY:
  ==27651==    definitely lost: 447,671 bytes in 3,643 blocks
  ==27651==    indirectly lost: 979,312 bytes in 17,524 blocks
  ==27651==      possibly lost: 0 bytes in 0 blocks
  ==27651==    still reachable: 478,571 bytes in 9,285 blocks
  ==27651==         suppressed: 0 bytes in 0 blocks
  ==27651== Rerun with --leak-check=full to see details of leaked memory
  ==27651==
  ==27651== For counts of detected and suppressed errors, rerun with: -v
  ==27651== ERROR SUMMARY: 1 errors from 1 contexts (suppressed: 4 from 4)

ちょっとソースを見たところ、fclose した後に fileno しているようですが、
これはよろしくないんじゃないでしょうか。

valgrind で指摘されたのが原因かどうかはわかりませんが、
SEGV したときのログもつけておきます。
(長すぎるので消しました。test_closed_outstream-segv.txt をみてください。)



-- 
http://bugs.ruby-lang.org/

^ permalink raw reply	[flat|nested] 6+ messages in thread

* [ruby-dev:47528] [ruby-trunk - Bug #8644] valgrind error in a readline test
       [not found] <redmine.issue-8644.20130716211304@ruby-lang.org>
                   ` (2 preceding siblings ...)
  2013-07-18 10:49 ` [ruby-dev:47527] " akr (Akira Tanaka)
@ 2013-07-18 14:02 ` akr (Akira Tanaka)
  2013-07-19  1:02 ` [ruby-dev:47529] [ruby-trunk - Bug #8644][Assigned] " kouji (Kouji Takao)
  2013-08-01 13:52 ` [ruby-dev:47563] [ruby-trunk - Bug #8644] " akr (Akira Tanaka)
  5 siblings, 0 replies; 6+ messages in thread
From: akr (Akira Tanaka) @ 2013-07-18 14:02 UTC (permalink / raw
  To: ruby developers list


Issue #8644 has been updated by akr (Akira Tanaka).

File readline-fix-invalid-read.patch added

とりあえず、close されたかどうかは元々の IO オブジェクトが
close されたかどうかで判断するようなパッチを書いてみたんですが、
どうですかね。

なお、やってみて気がついたのですが、
isatty して EBADF になることを確認するというコードがあって、
しかも Readline.readline のドキュメントにその挙動が

* Raises IOError exception if below conditions are satisfied.
* 1. stdin is not tty.
* 2. stdin was closed. (errno is EBADF after called isatty(2).)

と明記されているのですが、
そもそも EBADF を検査するのは間違っている (常に他のスレッドや
signal handler が fd を open する可能性はあるので確実でない) というのと、
実際に isatty で tty でないときに IOError にしてみたら、
テストが失敗しまくる (テストではパイプを stdin に設定している)
というわけで、ここは isatty は気にしないように変えてみました。

----------------------------------------
Bug #8644: valgrind error in a readline test
https://bugs.ruby-lang.org/issues/8644#change-40576

Author: akr (Akira Tanaka)
Status: Open
Priority: Normal
Assignee: 
Category: 
Target version: 
ruby -v: ruby 2.1.0dev (2013-07-16 trunk 42006) [x86_64-linux]
Backport: 1.9.3: UNKNOWN, 2.0.0: UNKNOWN


test-all が readline のところで SEGV することがあったので、
とりあえず valgrind をかけてみたところ、ひとつ問題を指摘されました。

  % ./ruby -v
  ruby 2.1.0dev (2013-07-16 trunk 42006) [x86_64-linux]
  % valgrind ./ruby -I.ext/x86_64-linux  ../../ruby/test/runner.rb ../../ruby/test/readline -n test_closed_outstream
  ==27651== Memcheck, a memory error detector
  ==27651== Copyright (C) 2002-2011, and GNU GPL'd, by Julian Seward et al.
  ==27651== Using Valgrind-3.7.0 and LibVEX; rerun with -h for copyright info
  ==27651== Command: ./ruby -I.ext/x86_64-linux ../../ruby/test/runner.rb ../../ruby/test/readline -n test_closed_outstream
  ==27651==
  Run options: -n test_closed_outstream

  # Running tests:

  [1/1] TestReadline#test_closed_outstream==27651== Invalid read of size 4
  ==27651==    at 0x597B610: fileno (fileno.c:37)
  ==27651==    by 0x74A3EA6: readline_readline (readline.c:397)
  ==27651==    by 0x390B39: call_cfunc_m1 (vm_insnhelper.c:1348)
  ==27651==    by 0x396943: vm_call_cfunc_with_frame (vm_insnhelper.c:1492)
  ==27651==    by 0x395144: vm_call_cfunc (vm_insnhelper.c:1582)
  ==27651==    by 0x394915: vm_call_method (vm_insnhelper.c:1774)
  ==27651==    by 0x396A84: vm_call_general (vm_insnhelper.c:1925)
  ==27651==    by 0x3724DC: vm_exec_core (insns.def:1017)
  ==27651==    by 0x383DDF: vm_exec (vm.c:1198)
  ==27651==    by 0x389DBD: invoke_block_from_c (vm.c:646)
  ==27651==    by 0x38E299: vm_yield (vm.c:677)
  ==27651==    by 0x380012: rb_yield_0 (vm_eval.c:937)
  ==27651==  Address 0x847a1a0 is 0 bytes inside a block of size 568 free'd
  ==27651==    at 0x4C27D4E: free (vg_replace_malloc.c:427)
  ==27651==    by 0x5977CCC: fclose@@GLIBC_2.2.5 (iofclose.c:88)
  ==27651==    by 0x190F5C: nogvl_fclose (io.c:4048)
  ==27651==    by 0x3A33FC: call_without_gvl (thread.c:1244)
  ==27651==    by 0x3A3532: rb_thread_call_without_gvl (thread.c:1354)
  ==27651==    by 0x190E7C: maygvl_fclose (io.c:4057)
  ==27651==    by 0x190620: fptr_finalize (io.c:4099)
  ==27651==    by 0x16C922: rb_io_fptr_cleanup (io.c:4130)
  ==27651==    by 0x16CAE7: rb_io_close (io.c:4221)
  ==27651==    by 0x17A2F1: rb_io_close_m (io.c:4250)
  ==27651==    by 0x390B62: call_cfunc_0 (vm_insnhelper.c:1354)
  ==27651==    by 0x396943: vm_call_cfunc_with_frame (vm_insnhelper.c:1492)
  ==27651==
  Finished tests in 0.521803s, 1.9164 tests/s, 5.7493 assertions/s.
  1 tests, 3 assertions, 0 failures, 0 errors, 0 skips

  ruby -v: ruby 2.1.0dev (2013-07-16 trunk 42006) [x86_64-linux]
  ==27651==
  ==27651== HEAP SUMMARY:
  ==27651==     in use at exit: 1,905,554 bytes in 30,452 blocks
  ==27651==   total heap usage: 94,021 allocs, 63,569 frees, 19,535,963 bytes allocated
  ==27651==
  ==27651== LEAK SUMMARY:
  ==27651==    definitely lost: 447,671 bytes in 3,643 blocks
  ==27651==    indirectly lost: 979,312 bytes in 17,524 blocks
  ==27651==      possibly lost: 0 bytes in 0 blocks
  ==27651==    still reachable: 478,571 bytes in 9,285 blocks
  ==27651==         suppressed: 0 bytes in 0 blocks
  ==27651== Rerun with --leak-check=full to see details of leaked memory
  ==27651==
  ==27651== For counts of detected and suppressed errors, rerun with: -v
  ==27651== ERROR SUMMARY: 1 errors from 1 contexts (suppressed: 4 from 4)

ちょっとソースを見たところ、fclose した後に fileno しているようですが、
これはよろしくないんじゃないでしょうか。

valgrind で指摘されたのが原因かどうかはわかりませんが、
SEGV したときのログもつけておきます。
(長すぎるので消しました。test_closed_outstream-segv.txt をみてください。)



-- 
http://bugs.ruby-lang.org/

^ permalink raw reply	[flat|nested] 6+ messages in thread

* [ruby-dev:47529] [ruby-trunk - Bug #8644][Assigned] valgrind error in a readline test
       [not found] <redmine.issue-8644.20130716211304@ruby-lang.org>
                   ` (3 preceding siblings ...)
  2013-07-18 14:02 ` [ruby-dev:47528] " akr (Akira Tanaka)
@ 2013-07-19  1:02 ` kouji (Kouji Takao)
  2013-08-01 13:52 ` [ruby-dev:47563] [ruby-trunk - Bug #8644] " akr (Akira Tanaka)
  5 siblings, 0 replies; 6+ messages in thread
From: kouji (Kouji Takao) @ 2013-07-19  1:02 UTC (permalink / raw
  To: ruby developers list


Issue #8644 has been updated by kouji (Kouji Takao).

Category set to ext
Status changed from Open to Assigned
Assignee set to kouji (Kouji Takao)
Target version set to next minor


----------------------------------------
Bug #8644: valgrind error in a readline test
https://bugs.ruby-lang.org/issues/8644#change-40582

Author: akr (Akira Tanaka)
Status: Assigned
Priority: Normal
Assignee: kouji (Kouji Takao)
Category: ext
Target version: next minor
ruby -v: ruby 2.1.0dev (2013-07-16 trunk 42006) [x86_64-linux]
Backport: 1.9.3: UNKNOWN, 2.0.0: UNKNOWN


test-all が readline のところで SEGV することがあったので、
とりあえず valgrind をかけてみたところ、ひとつ問題を指摘されました。

  % ./ruby -v
  ruby 2.1.0dev (2013-07-16 trunk 42006) [x86_64-linux]
  % valgrind ./ruby -I.ext/x86_64-linux  ../../ruby/test/runner.rb ../../ruby/test/readline -n test_closed_outstream
  ==27651== Memcheck, a memory error detector
  ==27651== Copyright (C) 2002-2011, and GNU GPL'd, by Julian Seward et al.
  ==27651== Using Valgrind-3.7.0 and LibVEX; rerun with -h for copyright info
  ==27651== Command: ./ruby -I.ext/x86_64-linux ../../ruby/test/runner.rb ../../ruby/test/readline -n test_closed_outstream
  ==27651==
  Run options: -n test_closed_outstream

  # Running tests:

  [1/1] TestReadline#test_closed_outstream==27651== Invalid read of size 4
  ==27651==    at 0x597B610: fileno (fileno.c:37)
  ==27651==    by 0x74A3EA6: readline_readline (readline.c:397)
  ==27651==    by 0x390B39: call_cfunc_m1 (vm_insnhelper.c:1348)
  ==27651==    by 0x396943: vm_call_cfunc_with_frame (vm_insnhelper.c:1492)
  ==27651==    by 0x395144: vm_call_cfunc (vm_insnhelper.c:1582)
  ==27651==    by 0x394915: vm_call_method (vm_insnhelper.c:1774)
  ==27651==    by 0x396A84: vm_call_general (vm_insnhelper.c:1925)
  ==27651==    by 0x3724DC: vm_exec_core (insns.def:1017)
  ==27651==    by 0x383DDF: vm_exec (vm.c:1198)
  ==27651==    by 0x389DBD: invoke_block_from_c (vm.c:646)
  ==27651==    by 0x38E299: vm_yield (vm.c:677)
  ==27651==    by 0x380012: rb_yield_0 (vm_eval.c:937)
  ==27651==  Address 0x847a1a0 is 0 bytes inside a block of size 568 free'd
  ==27651==    at 0x4C27D4E: free (vg_replace_malloc.c:427)
  ==27651==    by 0x5977CCC: fclose@@GLIBC_2.2.5 (iofclose.c:88)
  ==27651==    by 0x190F5C: nogvl_fclose (io.c:4048)
  ==27651==    by 0x3A33FC: call_without_gvl (thread.c:1244)
  ==27651==    by 0x3A3532: rb_thread_call_without_gvl (thread.c:1354)
  ==27651==    by 0x190E7C: maygvl_fclose (io.c:4057)
  ==27651==    by 0x190620: fptr_finalize (io.c:4099)
  ==27651==    by 0x16C922: rb_io_fptr_cleanup (io.c:4130)
  ==27651==    by 0x16CAE7: rb_io_close (io.c:4221)
  ==27651==    by 0x17A2F1: rb_io_close_m (io.c:4250)
  ==27651==    by 0x390B62: call_cfunc_0 (vm_insnhelper.c:1354)
  ==27651==    by 0x396943: vm_call_cfunc_with_frame (vm_insnhelper.c:1492)
  ==27651==
  Finished tests in 0.521803s, 1.9164 tests/s, 5.7493 assertions/s.
  1 tests, 3 assertions, 0 failures, 0 errors, 0 skips

  ruby -v: ruby 2.1.0dev (2013-07-16 trunk 42006) [x86_64-linux]
  ==27651==
  ==27651== HEAP SUMMARY:
  ==27651==     in use at exit: 1,905,554 bytes in 30,452 blocks
  ==27651==   total heap usage: 94,021 allocs, 63,569 frees, 19,535,963 bytes allocated
  ==27651==
  ==27651== LEAK SUMMARY:
  ==27651==    definitely lost: 447,671 bytes in 3,643 blocks
  ==27651==    indirectly lost: 979,312 bytes in 17,524 blocks
  ==27651==      possibly lost: 0 bytes in 0 blocks
  ==27651==    still reachable: 478,571 bytes in 9,285 blocks
  ==27651==         suppressed: 0 bytes in 0 blocks
  ==27651== Rerun with --leak-check=full to see details of leaked memory
  ==27651==
  ==27651== For counts of detected and suppressed errors, rerun with: -v
  ==27651== ERROR SUMMARY: 1 errors from 1 contexts (suppressed: 4 from 4)

ちょっとソースを見たところ、fclose した後に fileno しているようですが、
これはよろしくないんじゃないでしょうか。

valgrind で指摘されたのが原因かどうかはわかりませんが、
SEGV したときのログもつけておきます。
(長すぎるので消しました。test_closed_outstream-segv.txt をみてください。)



-- 
http://bugs.ruby-lang.org/

^ permalink raw reply	[flat|nested] 6+ messages in thread

* [ruby-dev:47563] [ruby-trunk - Bug #8644] valgrind error in a readline test
       [not found] <redmine.issue-8644.20130716211304@ruby-lang.org>
                   ` (4 preceding siblings ...)
  2013-07-19  1:02 ` [ruby-dev:47529] [ruby-trunk - Bug #8644][Assigned] " kouji (Kouji Takao)
@ 2013-08-01 13:52 ` akr (Akira Tanaka)
  5 siblings, 0 replies; 6+ messages in thread
From: akr (Akira Tanaka) @ 2013-08-01 13:52 UTC (permalink / raw
  To: ruby developers list


Issue #8644 has been updated by akr (Akira Tanaka).


http://rbci.lakewood.privs.net/ruby-trunk/log/20130801T131001Z.diff.html.gz をみると、

...
 TestRange#test_bsearch_for_other_numerics = <elapsed> s = .
 TestRange#test_bsearch_typechecks_return_values = <elapsed> s = .
+TestRange#test_bsearch_with_mathn = /home/chkbuild/build/<buildtime>/ruby/test/readline/test_readline.rb:299: [BUG] Segmentation fault
 ruby <version>
 
+-- Control frame information -----------------------------------------------
+c:0028 p:---- s:0127 e:000126 CFUNC  :readline
+c:0027 p:0013 s:0124 e:000123 BLOCK  /home/chkbuild/build/<buildtime>/ruby/test/readline/test_readline.rb:299
+c:0026 p:0036 s:0122 e:000121 METHOD /home/chkbuild/build/<buildtime>/ruby/lib/minitest/unit.rb:362
...

みたいな感じで SEGV していて、
test_readline.rb:299 というのは test_closed_outstream 内の
Readline.readline を呼び出しているところで、
なかなか怪しいんじゃないかと思うんですが、どうですかね。

----------------------------------------
Bug #8644: valgrind error in a readline test
https://bugs.ruby-lang.org/issues/8644#change-40798

Author: akr (Akira Tanaka)
Status: Assigned
Priority: Normal
Assignee: kouji (Kouji Takao)
Category: ext
Target version: next minor
ruby -v: ruby 2.1.0dev (2013-07-16 trunk 42006) [x86_64-linux]
Backport: 1.9.3: UNKNOWN, 2.0.0: UNKNOWN


test-all が readline のところで SEGV することがあったので、
とりあえず valgrind をかけてみたところ、ひとつ問題を指摘されました。

  % ./ruby -v
  ruby 2.1.0dev (2013-07-16 trunk 42006) [x86_64-linux]
  % valgrind ./ruby -I.ext/x86_64-linux  ../../ruby/test/runner.rb ../../ruby/test/readline -n test_closed_outstream
  ==27651== Memcheck, a memory error detector
  ==27651== Copyright (C) 2002-2011, and GNU GPL'd, by Julian Seward et al.
  ==27651== Using Valgrind-3.7.0 and LibVEX; rerun with -h for copyright info
  ==27651== Command: ./ruby -I.ext/x86_64-linux ../../ruby/test/runner.rb ../../ruby/test/readline -n test_closed_outstream
  ==27651==
  Run options: -n test_closed_outstream

  # Running tests:

  [1/1] TestReadline#test_closed_outstream==27651== Invalid read of size 4
  ==27651==    at 0x597B610: fileno (fileno.c:37)
  ==27651==    by 0x74A3EA6: readline_readline (readline.c:397)
  ==27651==    by 0x390B39: call_cfunc_m1 (vm_insnhelper.c:1348)
  ==27651==    by 0x396943: vm_call_cfunc_with_frame (vm_insnhelper.c:1492)
  ==27651==    by 0x395144: vm_call_cfunc (vm_insnhelper.c:1582)
  ==27651==    by 0x394915: vm_call_method (vm_insnhelper.c:1774)
  ==27651==    by 0x396A84: vm_call_general (vm_insnhelper.c:1925)
  ==27651==    by 0x3724DC: vm_exec_core (insns.def:1017)
  ==27651==    by 0x383DDF: vm_exec (vm.c:1198)
  ==27651==    by 0x389DBD: invoke_block_from_c (vm.c:646)
  ==27651==    by 0x38E299: vm_yield (vm.c:677)
  ==27651==    by 0x380012: rb_yield_0 (vm_eval.c:937)
  ==27651==  Address 0x847a1a0 is 0 bytes inside a block of size 568 free'd
  ==27651==    at 0x4C27D4E: free (vg_replace_malloc.c:427)
  ==27651==    by 0x5977CCC: fclose@@GLIBC_2.2.5 (iofclose.c:88)
  ==27651==    by 0x190F5C: nogvl_fclose (io.c:4048)
  ==27651==    by 0x3A33FC: call_without_gvl (thread.c:1244)
  ==27651==    by 0x3A3532: rb_thread_call_without_gvl (thread.c:1354)
  ==27651==    by 0x190E7C: maygvl_fclose (io.c:4057)
  ==27651==    by 0x190620: fptr_finalize (io.c:4099)
  ==27651==    by 0x16C922: rb_io_fptr_cleanup (io.c:4130)
  ==27651==    by 0x16CAE7: rb_io_close (io.c:4221)
  ==27651==    by 0x17A2F1: rb_io_close_m (io.c:4250)
  ==27651==    by 0x390B62: call_cfunc_0 (vm_insnhelper.c:1354)
  ==27651==    by 0x396943: vm_call_cfunc_with_frame (vm_insnhelper.c:1492)
  ==27651==
  Finished tests in 0.521803s, 1.9164 tests/s, 5.7493 assertions/s.
  1 tests, 3 assertions, 0 failures, 0 errors, 0 skips

  ruby -v: ruby 2.1.0dev (2013-07-16 trunk 42006) [x86_64-linux]
  ==27651==
  ==27651== HEAP SUMMARY:
  ==27651==     in use at exit: 1,905,554 bytes in 30,452 blocks
  ==27651==   total heap usage: 94,021 allocs, 63,569 frees, 19,535,963 bytes allocated
  ==27651==
  ==27651== LEAK SUMMARY:
  ==27651==    definitely lost: 447,671 bytes in 3,643 blocks
  ==27651==    indirectly lost: 979,312 bytes in 17,524 blocks
  ==27651==      possibly lost: 0 bytes in 0 blocks
  ==27651==    still reachable: 478,571 bytes in 9,285 blocks
  ==27651==         suppressed: 0 bytes in 0 blocks
  ==27651== Rerun with --leak-check=full to see details of leaked memory
  ==27651==
  ==27651== For counts of detected and suppressed errors, rerun with: -v
  ==27651== ERROR SUMMARY: 1 errors from 1 contexts (suppressed: 4 from 4)

ちょっとソースを見たところ、fclose した後に fileno しているようですが、
これはよろしくないんじゃないでしょうか。

valgrind で指摘されたのが原因かどうかはわかりませんが、
SEGV したときのログもつけておきます。
(長すぎるので消しました。test_closed_outstream-segv.txt をみてください。)



-- 
http://bugs.ruby-lang.org/

^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2013-08-01 14:20 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
     [not found] <redmine.issue-8644.20130716211304@ruby-lang.org>
2013-07-16 12:47 ` [ruby-dev:47509] [ruby-trunk - Bug #8644] valgrind error in a readline test akr (Akira Tanaka)
2013-07-18  8:41 ` [ruby-dev:47525] " akr (Akira Tanaka)
2013-07-18 10:49 ` [ruby-dev:47527] " akr (Akira Tanaka)
2013-07-18 14:02 ` [ruby-dev:47528] " akr (Akira Tanaka)
2013-07-19  1:02 ` [ruby-dev:47529] [ruby-trunk - Bug #8644][Assigned] " kouji (Kouji Takao)
2013-08-01 13:52 ` [ruby-dev:47563] [ruby-trunk - Bug #8644] " akr (Akira Tanaka)

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).