From: Koji Arai Date: 2001-08-24T00:49:08+09:00 Subject: [ruby-dev:14561] Re: recursive malloc (Re: supportedplatforms/K&R) ----Next_Part(Fri_Aug_24_00:43:17_2001_809)-- Content-Type: Text/Plain; charset=iso-2022-jp Content-Transfer-Encoding: 7bit 新井です。 In message "[ruby-dev:14513] Re: recursive malloc (Re: supportedplatforms/K&R)" on 16 Aug 2001 23:20:30 +0900, Koji Arai wrote: > 新井です。 > recvfrom() にも同じ対処がいるのかもと思って再現させようとし > たのですが、(たぶん)別件でcore吐いてしまいました。またバック > トレースを持って帰ってないのですが、coreが膨れあがってたこと > とからメモリリークだと思われます(来週以降に追試)。 怪しい箇所がわかりました。 落ちなくなるパッチ(1.6.4 2001-08-06版へのパッチです)、再現スク リプト、スタックトレース(dbx)を添付します。 再現は、 #!/bin/sh ruby udp_serv.rb & while : do ruby udp_client.rb done なんてやってると udp_serv.rb がSEGVします。Linux では再現し ませんでした。 何故このパッチで落ちなくなるのかはわかってません。この前後あ たりで、argv[0]の値が書き変わっていたのでコメントにしたら落 ちなくなっただけです。 なお、recvfrom() は、ews4800 で問題ない(recvfrom中に /etc/netconfig を読まない)ことも確認しました。 ----Next_Part(Fri_Aug_24_00:43:17_2001_809)-- Content-Type: Text/Plain; charset=us-ascii Content-Transfer-Encoding: 7bit Content-Disposition: attachment; filename="ux4800.patch" ----Next_Part(Fri_Aug_24_00:43:17_2001_809)-- Content-Type: Text/Plain; charset=us-ascii Content-Transfer-Encoding: 7bit Content-Disposition: attachment; filename="udp_serv.rb" ----Next_Part(Fri_Aug_24_00:43:17_2001_809)-- Content-Type: Text/Plain; charset=us-ascii Content-Transfer-Encoding: 7bit Content-Disposition: attachment; filename="udp_client.rb" ----Next_Part(Fri_Aug_24_00:43:17_2001_809)-- Content-Type: Text/Plain; charset=us-ascii Content-Transfer-Encoding: 7bit Content-Disposition: attachment; filename="dbx.bt" ----Next_Part(Fri_Aug_24_00:43:17_2001_809)----