[#31166] is_ruby_native_thread() — Masahiro Sakai (酒井政裕) <masahiro.sakai@...>

酒井です。

16 messages 2007/07/08
[#31269] Re: is_ruby_native_thread() — Nobuyoshi Nakada <nobu@...> 2007/07/21

なかだです。

[#31270] Re: is_ruby_native_thread() — Hidetoshi NAGAI <nagai@...> 2007/07/22

永井@知能.九工大です.

[#31298] retryの使い方 — eklerni <eklerni@...>

松尾といいます。

52 messages 2007/07/25
[#31299] Re: retryの使い方 — SASADA Koichi <ko1@...> 2007/07/26

 ささだです。

[#31300] Re: retryの使い方 — eklerni <eklerni@...> 2007/07/26

松尾です、返信ありがとうございます。

[#31303] Re: retryの使い方 — Yugui <yugui@...> 2007/07/26

Yuguiといいます。

[#31306] Re: retryの使い方 — eklerni <eklerni@...> 2007/07/26

松尾といいます。

[#31308] Re: retryの使い方 — Tanaka Akira <akr@...> 2007/07/26

In article <46A909DD.1070405@for.mail-box.ne.jp>,

[#31310] Re: retryの使い方 — eklerni <eklerni@...> 2007/07/26

Tanaka Akira さんは書きました:

[#31314] Re: retryの使い方 — Tanaka Akira <akr@...> 2007/07/30

In article <46A92530.80507@for.mail-box.ne.jp>,

[#31315] Re: retryの使い方 — eklerni <eklerni@...> 2007/07/30

Tanaka Akira さんは書きました:

[#31316] Re: retryの使い方 — Tanaka Akira <akr@...> 2007/07/30

In article <46AD7A16.8080509@for.mail-box.ne.jp>,

[#31317] Re: retryの使い方 — eklerni <eklerni@...> 2007/07/31

松尾です。

[#31381] Re: retryの使い方 — SASADA Koichi <ko1@...> 2007/08/12

 ささだです。

[#31422] Re: retryの使い方 — Yukihiro Matsumoto <matz@...> 2007/08/15

まつもと ゆきひろです

[#31425] Re: retryの使い方 — Tanaka Akira <akr@...> 2007/08/15

In article <E1ILDTi-0005T6-Be@x31>,

[#31426] Re: retryの使い方 — Yukihiro Matsumoto <matz@...> 2007/08/15

まつもと ゆきひろです

[#31433] Re: retryの使い方 — Tanaka Akira <akr@...> 2007/08/16

In article <E1ILKn6-0003Nv-0f@x31>,

[#31435] Re: retryの使い方 — Yukihiro Matsumoto <matz@...> 2007/08/16

まつもと ゆきひろです

[#31447] Re: retryの使い方 — Tanaka Akira <akr@...> 2007/08/16

In article <E1ILVN9-0006xJ-7I@x31>,

[#31450] Re: retryの使い方 — Tanaka Akira <akr@...> 2007/08/17

In article <E1ILq4x-0002Bs-Lg@x31>,

[#31451] Re: retryの使い方 — Yukihiro Matsumoto <matz@...> 2007/08/17

まつもと ゆきひろです

[ruby-dev:31225] Invalid read/write by ~big_zero.

From: Tanaka Akira <akr@...>
Date: 2007-07-14 15:44:52 UTC
List: ruby-dev #31225
以下のようにすると valgrind で
Invalid read of size 4 や
Invalid write of size 4 が出ます

% valgrind ./ruby -ve '
big_neg = 0x40000000.coerce(-1)[0]
big_zero = 0x40000000.coerce(0)[0]
p big_zero % big_neg
p ~big_zero'
==8288== Memcheck, a memory error detector.
==8288== Copyright (C) 2002-2006, and GNU GPL'd, by Julian Seward et al.
==8288== Using LibVEX rev 1658, a library for dynamic binary translation.
==8288== Copyright (C) 2004-2006, and GNU GPL'd, by OpenWorks LLP.
==8288== Using valgrind-3.2.1-Debian, a dynamic binary instrumentation framework.
==8288== Copyright (C) 2000-2006, and GNU GPL'd, by Julian Seward et al.
==8288== For more details, rerun with: -v
==8288== 
--8288-- DWARF2 CFI reader: unhandled CFI instruction 0:50
--8288-- DWARF2 CFI reader: unhandled CFI instruction 0:50
--8288-- DWARF2 CFI reader: unhandled CFI instruction 0:50
--8288-- DWARF2 CFI reader: unhandled CFI instruction 0:50
ruby 1.9.0 (2007-07-14 patchlevel 0) [i686-linux]
0
==8288== Invalid read of size 4
==8288==    at 0x80E5A98: get2comp (bignum.c:76)
==8288==    by 0x80E77BE: rb_big_neg (bignum.c:1043)
==8288==    by 0x80D9858: vm_call_method (insnhelper.ci:351)
==8288==    by 0x80D4F7D: vm_eval (insns.def:1171)
==8288==    by 0x80D86E3: vm_eval_body (vm.c:1165)
==8288==    by 0x80D8A1A: rb_iseq_eval (vm.c:1374)
==8288==    by 0x80590C8: ruby_exec_node (eval.c:226)
==8288==    by 0x805D63C: ruby_run_node (eval.c:251)
==8288==    by 0x8056C95: main (main.c:46)
==8288==  Address 0x42FB4A0 is 0 bytes inside a block of size 1 alloc'd
==8288==    at 0x401D38B: malloc (vg_replace_malloc.c:149)
==8288==    by 0x8062B79: ruby_xmalloc (gc.c:250)
==8288==    by 0x80E5B8C: bignew_1 (bignum.c:49)
==8288==    by 0x80E6772: rb_big_clone (bignum.c:59)
==8288==    by 0x80E7782: rb_big_neg (bignum.c:1032)
==8288==    by 0x80D9858: vm_call_method (insnhelper.ci:351)
==8288==    by 0x80D4F7D: vm_eval (insns.def:1171)
==8288==    by 0x80D86E3: vm_eval_body (vm.c:1165)
==8288==    by 0x80D8A1A: rb_iseq_eval (vm.c:1374)
==8288==    by 0x80590C8: ruby_exec_node (eval.c:226)
==8288==    by 0x805D63C: ruby_run_node (eval.c:251)
==8288==    by 0x8056C95: main (main.c:46)
==8288== 
==8288== Invalid write of size 4
==8288==    at 0x80E5AA2: get2comp (bignum.c:77)
==8288==    by 0x80E77BE: rb_big_neg (bignum.c:1043)
==8288==    by 0x80D9858: vm_call_method (insnhelper.ci:351)
==8288==    by 0x80D4F7D: vm_eval (insns.def:1171)
==8288==    by 0x80D86E3: vm_eval_body (vm.c:1165)
==8288==    by 0x80D8A1A: rb_iseq_eval (vm.c:1374)
==8288==    by 0x80590C8: ruby_exec_node (eval.c:226)
==8288==    by 0x805D63C: ruby_run_node (eval.c:251)
==8288==    by 0x8056C95: main (main.c:46)
==8288==  Address 0x42FB4A0 is 0 bytes inside a block of size 1 alloc'd
==8288==    at 0x401D38B: malloc (vg_replace_malloc.c:149)
==8288==    by 0x8062B79: ruby_xmalloc (gc.c:250)
==8288==    by 0x80E5B8C: bignew_1 (bignum.c:49)
==8288==    by 0x80E6772: rb_big_clone (bignum.c:59)
==8288==    by 0x80E7782: rb_big_neg (bignum.c:1032)
==8288==    by 0x80D9858: vm_call_method (insnhelper.ci:351)
==8288==    by 0x80D4F7D: vm_eval (insns.def:1171)
==8288==    by 0x80D86E3: vm_eval_body (vm.c:1165)
==8288==    by 0x80D8A1A: rb_iseq_eval (vm.c:1374)
==8288==    by 0x80590C8: ruby_exec_node (eval.c:226)
==8288==    by 0x805D63C: ruby_run_node (eval.c:251)
==8288==    by 0x8056C95: main (main.c:46)
==8288== 
==8288== Conditional jump or move depends on uninitialised value(s)
==8288==    at 0x80E5AB9: get2comp (bignum.c:80)
==8288==    by 0x80E77BE: rb_big_neg (bignum.c:1043)
==8288==    by 0x80D9858: vm_call_method (insnhelper.ci:351)
==8288==    by 0x80D4F7D: vm_eval (insns.def:1171)
==8288==    by 0x80D86E3: vm_eval_body (vm.c:1165)
==8288==    by 0x80D8A1A: rb_iseq_eval (vm.c:1374)
==8288==    by 0x80590C8: ruby_exec_node (eval.c:226)
==8288==    by 0x805D63C: ruby_run_node (eval.c:251)
==8288==    by 0x8056C95: main (main.c:46)
0
==8288== 
==8288== ERROR SUMMARY: 3 errors from 3 contexts (suppressed: 19 from 1)
==8288== malloc/free: in use at exit: 881,852 bytes in 7,038 blocks.
==8288== malloc/free: 7,139 allocs, 101 frees, 898,767 bytes allocated.
==8288== For counts of detected errors, rerun with: -v
==8288== searching for pointers to 7,038 not-freed blocks.
==8288== checked 650,504 bytes.
==8288== 
==8288== LEAK SUMMARY:
==8288==    definitely lost: 0 bytes in 0 blocks.
==8288==      possibly lost: 68 bytes in 1 blocks.
==8288==    still reachable: 881,784 bytes in 7,037 blocks.
==8288==         suppressed: 0 bytes in 0 blocks.
==8288== Reachable blocks (those to which a pointer was found) are not shown.
==8288== To see them, rerun with: --show-reachable=yes
-- 
[田中 哲][たなか あきら][Tanaka Akira]

In This Thread

Prev Next