[#25035] 拡張ライブラリへの共有ライブラリのPATHの埋め込み — Takahiro Kambe <taca@...>

こんにちは。

16 messages 2004/12/03
[#25070] Re: 拡張ライブラリへの共有ライブラリのPATHの埋め込み — nobu@... 2004/12/06

なかだです。

[#25071] Re: 拡張ライブラリへの共有ライブラリのPATHの埋め込み — Takahiro Kambe <taca@...> 2004/12/06

In message <200412060607.iB667giF007533@sharui.nakada.niregi.kanuma.tochigi.jp>

[#25089] Re: 拡張ライブラリへの共有ライブラリのPATHの埋め込み — nobu@... 2004/12/07

なかだです。

[#25090] Re: 拡張ライブラリへの共有ライブラリのPATHの埋め込み — Takahiro Kambe <taca@...> 2004/12/07

In message <200412070015.iB70FAiF012770@sharui.nakada.niregi.kanuma.tochigi.jp>

[#25093] Re: 拡張ライブラリへの共有ライブラリのPATHの埋め込み — akira yamada / やまだあきら <akira@...> 2004/12/07

2004-12-07 (火) の 12:27 +0900 に Takahiro Kambe さんは書きました:

[#25041] temporal locking already locked string on simultaneous write — Tanaka Akira <akr@...17n.org>

同じ文字列をほぼ同時に IO に書き込むと、temporal locking already

13 messages 2004/12/04
[#25042] Re: temporal locking already locked string on simultaneous write — Yukihiro Matsumoto <matz@...> 2004/12/04

まつもと ゆきひろです

[#25043] Re: temporal locking already locked string on simultaneous write — Tanaka Akira <akr@...17n.org> 2004/12/04

In article <1102133507.339625.10453.nullmailer@x31.priv.netlab.jp>,

[#25096] double free problem — "Akinori MUSHA" <knu@...>

 ご無沙汰しております。

15 messages 2004/12/07
[#25099] Re: double free problem — Yukihiro Matsumoto <matz@...> 2004/12/07

Hi,

[#25101] non-stdio buffering — Tanaka Akira <akr@...17n.org>

えぇと、今回 1.9 でなにが起きたのかを私が把握している範囲でまとめてお

18 messages 2004/12/07

[#25152] 1.8 reopen problem with duplex popen — Tanaka Akira <akr@...17n.org>

次のように、1.8 で双方向 popen な IO を reopen するとエラーになること

11 messages 2004/12/10

[#25158] core dump on NetBSD 2.0 — Tanaka Akira <akr@...17n.org>

NetBSD 2.0 で次のようにすると core を吐きます。

18 messages 2004/12/11
[#25159] Re: core dump on NetBSD 2.0 — Tanaka Akira <akr@...17n.org> 2004/12/11

In article <87hdmsivva.fsf@serein.a02.aist.go.jp>,

[#25163] Re: core dump on NetBSD 2.0 — Tanaka Akira <akr@...17n.org> 2004/12/12

In article <87ekhwiv7g.fsf@serein.a02.aist.go.jp>,

[#25165] Re: core dump on NetBSD 2.0 — nobu@... 2004/12/13

なかだです。

[#25167] Re: core dump on NetBSD 2.0 — Tanaka Akira <akr@...17n.org> 2004/12/13

In article <200412130040.iBD0e8Qh003275@sharui.nakada.niregi.kanuma.tochigi.jp>,

[#25193] 1.8.2 release schedule — Yukihiro Matsumoto <matz@...>

まつもと ゆきひろです

15 messages 2004/12/14

[#25299] Re: リリース準備 — Yukihiro Matsumoto <matz@...>

まつもと ゆきひろです

20 messages 2004/12/24
[#25301] Re: リリース準備 — TAKAHASHI Masayoshi <maki@...> 2004/12/24

高橋征義です。

[#25302] test_readline.rb blocks on BSD again — GOTOU Yuuzou <gotoyuzo@...>

In message <20041223175402.3116FC6718@lithium.ruby-lang.org>,

15 messages 2004/12/24
[#25314] Re: test_readline.rb blocks on BSD again — GOTOU Yuuzou <gotoyuzo@...> 2004/12/24

In message <20041224.131211.846943951.gotoyuzo@sawara.does.notwork.org>,

[#25315] Re: test_readline.rb blocks on BSD again — Yukihiro Matsumoto <matz@...> 2004/12/24

まつもと ゆきひろです

[#25317] Re: test_readline.rb blocks on BSD again — WATANABE Hirofumi <eban@...> 2004/12/25

わたなべです。

[ruby-dev:25157] Re: double free problem

From: Tanaka Akira <akr@...17n.org>
Date: 2004-12-11 13:49:53 UTC
List: ruby-dev #25157
In article <1102401703.030252.2480.nullmailer@x31.priv.netlab.jp>,
  Yukihiro Matsumoto <matz@ruby-lang.org> writes:

> | 最近の ruby 1.8 で、以下のようなスクリプトで double free が起きて
> |います。プラットフォームは FreeBSD 4.10-STABLE 及び 5.3-STABLE です。
> |1.8.2-preview2 までは発生せず、間はわかりませんが 1.8.2-preview3
> |以降は発生しています。
>
> ふうむ。linux + valgrind では発見できませんでした。
> どなたか再現情報をお持ちの方はいらっしゃいませんでしょうか。

なんとなく boron で試した所、Invalid free() が出て来ましたが、これは違
うんでしょうか。

Z:akr@boron% cat z.rb 
require 'dl/import'

module LIBC
  PATH_MAX = 1024

  extend DL::Importable
  dlload "libc.so.6"
  extern "char *realpath(char *, char *)"
end

def File.realpath(path)
  return LIBC.realpath(path[0...(LIBC::PATH_MAX - 1)],
                       "\0" * LIBC::PATH_MAX) || File.expand_path(path)
end

p File.realpath("/home/akr")
Z:akr@boron% valgrind ruby -v z.rb
==31994== Memcheck, a memory error detector for x86-linux.
==31994== Copyright (C) 2002-2004, and GNU GPL'd, by Julian Seward et al.
==31994== Using valgrind-2.2.0, a program supervision framework for x86-linux.
==31994== Copyright (C) 2000-2004, and GNU GPL'd, by Julian Seward et al.
==31994== For more details, rerun with: -v
==31994== 
ruby 1.9.0 (2004-12-11) [i686-linux]
==31994== Invalid read of size 1
==31994==    at 0x1B904788: strlen (mac_replace_strmem.c:189)
==31994==    by 0x80B59F7: rb_str_new2 (string.c:115)
==31994==    by 0x80B5A90: rb_tainted_str_new2 (string.c:133)
==31994==    by 0x1BBA7116: rb_dlsym_call (sym.c:919)
==31994==  Address 0x1BB7AC80 is 0 bytes inside a block of size 1025 free'd
==31994==    at 0x1B905460: free (vg_replace_malloc.c:153)
==31994==    by 0x8070555: ruby_xfree (gc.c:179)
==31994==    by 0x1BBA1CDE: dlfree (dl.c:143)
==31994==    by 0x1BBA7286: rb_dlsym_call (sym.c:879)
==31994== 
==31994== Invalid read of size 1
==31994==    at 0x1B904791: strlen (mac_replace_strmem.c:189)
==31994==    by 0x80B59F7: rb_str_new2 (string.c:115)
==31994==    by 0x80B5A90: rb_tainted_str_new2 (string.c:133)
==31994==    by 0x1BBA7116: rb_dlsym_call (sym.c:919)
==31994==  Address 0x1BB7AC81 is 1 bytes inside a block of size 1025 free'd
==31994==    at 0x1B905460: free (vg_replace_malloc.c:153)
==31994==    by 0x8070555: ruby_xfree (gc.c:179)
==31994==    by 0x1BBA1CDE: dlfree (dl.c:143)
==31994==    by 0x1BBA7286: rb_dlsym_call (sym.c:879)
==31994== 
==31994== Invalid read of size 1
==31994==    at 0x1B904AE0: memcpy (mac_replace_strmem.c:285)
==31994==    by 0x80B597D: str_new (string.c:94)
==31994==    by 0x80B59D0: rb_str_new (string.c:105)
==31994==    by 0x80B5A03: rb_str_new2 (string.c:115)
==31994==  Address 0x1BB7AC88 is 8 bytes inside a block of size 1025 free'd
==31994==    at 0x1B905460: free (vg_replace_malloc.c:153)
==31994==    by 0x8070555: ruby_xfree (gc.c:179)
==31994==    by 0x1BBA1CDE: dlfree (dl.c:143)
==31994==    by 0x1BBA7286: rb_dlsym_call (sym.c:879)
==31994== 
==31994== Invalid read of size 1
==31994==    at 0x1B904AEA: memcpy (mac_replace_strmem.c:286)
==31994==    by 0x80B597D: str_new (string.c:94)
==31994==    by 0x80B59D0: rb_str_new (string.c:105)
==31994==    by 0x80B5A03: rb_str_new2 (string.c:115)
==31994==  Address 0x1BB7AC87 is 7 bytes inside a block of size 1025 free'd
==31994==    at 0x1B905460: free (vg_replace_malloc.c:153)
==31994==    by 0x8070555: ruby_xfree (gc.c:179)
==31994==    by 0x1BBA1CDE: dlfree (dl.c:143)
==31994==    by 0x1BBA7286: rb_dlsym_call (sym.c:879)
==31994== 
==31994== Invalid read of size 1
==31994==    at 0x1B904AF1: memcpy (mac_replace_strmem.c:287)
==31994==    by 0x80B597D: str_new (string.c:94)
==31994==    by 0x80B59D0: rb_str_new (string.c:105)
==31994==    by 0x80B5A03: rb_str_new2 (string.c:115)
==31994==  Address 0x1BB7AC86 is 6 bytes inside a block of size 1025 free'd
==31994==    at 0x1B905460: free (vg_replace_malloc.c:153)
==31994==    by 0x8070555: ruby_xfree (gc.c:179)
==31994==    by 0x1BBA1CDE: dlfree (dl.c:143)
==31994==    by 0x1BBA7286: rb_dlsym_call (sym.c:879)
==31994== 
==31994== Invalid read of size 1
==31994==    at 0x1B904AF8: memcpy (mac_replace_strmem.c:288)
==31994==    by 0x80B597D: str_new (string.c:94)
==31994==    by 0x80B59D0: rb_str_new (string.c:105)
==31994==    by 0x80B5A03: rb_str_new2 (string.c:115)
==31994==  Address 0x1BB7AC85 is 5 bytes inside a block of size 1025 free'd
==31994==    at 0x1B905460: free (vg_replace_malloc.c:153)
==31994==    by 0x8070555: ruby_xfree (gc.c:179)
==31994==    by 0x1BBA1CDE: dlfree (dl.c:143)
==31994==    by 0x1BBA7286: rb_dlsym_call (sym.c:879)
==31994== 
==31994== Invalid read of size 1
==31994==    at 0x1B904B10: memcpy (mac_replace_strmem.c:292)
==31994==    by 0x80B597D: str_new (string.c:94)
==31994==    by 0x80B59D0: rb_str_new (string.c:105)
==31994==    by 0x80B5A03: rb_str_new2 (string.c:115)
==31994==  Address 0x1BB7AC80 is 0 bytes inside a block of size 1025 free'd
==31994==    at 0x1B905460: free (vg_replace_malloc.c:153)
==31994==    by 0x8070555: ruby_xfree (gc.c:179)
==31994==    by 0x1BBA1CDE: dlfree (dl.c:143)
==31994==    by 0x1BBA7286: rb_dlsym_call (sym.c:879)
==31994== 
==31994== Invalid free() / delete / delete[]
==31994==    at 0x1B905460: free (vg_replace_malloc.c:153)
==31994==    by 0x8070555: ruby_xfree (gc.c:179)
==31994==    by 0x1BBA1CDE: dlfree (dl.c:143)
==31994==    by 0x1BBA7133: rb_dlsym_call (sym.c:923)
==31994==  Address 0x1BB7AC80 is 0 bytes inside a block of size 1025 free'd
==31994==    at 0x1B905460: free (vg_replace_malloc.c:153)
==31994==    by 0x8070555: ruby_xfree (gc.c:179)
==31994==    by 0x1BBA1CDE: dlfree (dl.c:143)
==31994==    by 0x1BBA7286: rb_dlsym_call (sym.c:879)
"/home/akr"
==31994== 
==31994== ERROR SUMMARY: 20 errors from 8 contexts (suppressed: 20 from 2)
==31994== malloc/free: in use at exit: 425848 bytes in 8970 blocks.
==31994== malloc/free: 9602 allocs, 633 frees, 481163 bytes allocated.
==31994== For a detailed leak analysis,  rerun with: --leak-check=yes
==31994== For counts of detected errors, rerun with: -v
Z:akr@boron% 
-- 
[田中 哲][たなか あきら][Tanaka Akira]

In This Thread