From owner-freebsd-users-jp@FreeBSD.ORG Tue May 20 08:35:58 2014 Return-Path: Delivered-To: freebsd-users-jp@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 357A6DB8; Tue, 20 May 2014 08:35:58 +0000 (UTC) Received: from www1287.sakura.ne.jp (www1287.sakura.ne.jp [219.94.162.97]) (using TLSv1 with cipher DHE-RSA-CAMELLIA256-SHA (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id D6B5B2BF1; Tue, 20 May 2014 08:35:56 +0000 (UTC) Received: from localhost (p4123-ipbf2107hodogaya.kanagawa.ocn.ne.jp [123.220.177.123]) (authenticated bits=0) by www1287.sakura.ne.jp (8.14.5/8.14.5) with ESMTP id s4K83Bwj028005; Tue, 20 May 2014 17:03:19 +0900 (JST) (envelope-from happybsd@kiiroi.mimoza.jp) Date: Tue, 20 May 2014 17:04:43 +0900 (JST) Message-Id: <20140520.170443.394024280.happybsd@kiiroi.mimoza.jp> To: nobutaka@FreeBSD.org, freebsd-users-jp@freebsd.org From: Hidemi Yamashita X-Mailer: Mew version 6.5 on Emacs 24.2 / Mule 6.0 (HANACHIRUSATO) Mime-Version: 1.0 Content-Type: Multipart/Mixed; boundary="--Next_Part(Tue_May_20_17_04_43_2014_915)--" Content-Transfer-Encoding: 7bit X-Mailman-Approved-At: Tue, 20 May 2014 09:48:36 +0000 Subject: [FreeBSD-users-jp 95203] =?iso-2022-jp?b?c3lzdXRpbHMvdWZzX2NvcHkgGyRCJEcbKEIgU0lHU0VHVg==?= X-BeenThere: freebsd-users-jp@freebsd.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: Discussion relevant to FreeBSD communities in Japan List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 20 May 2014 08:35:58 -0000 ----Next_Part(Tue_May_20_17_04_43_2014_915)-- Content-Type: Text/Plain; charset=iso-2022-jp Content-Transfer-Encoding: 7bit こんにちは。 いつの頃からか、ufs_copy の終了時にコアダンプを吐く様になって いたので調べて見ました。9.1から含まれる様になった soft updates journaling (SUJ) の変更により問題が発生する事が判りま した。 取り敢えず、MLに流します。portsメンテナの方に対応して頂けると 有難いです。 問題発生状況: コピーを行う際のソース側がデバイス、デスティネーション側がイ メージファイルである場合に発生します。 原因: ソース側に対して ufs_disk_fillout(3) を呼び出して作成した struct uufsd を bcopy(3) を使用してデスティネーション側の struct uufsd として使いまわしているので、SUJの対応に伴い追加 された d_sbcsum メンバのポインタ値もコピーされてしまう。コピー 処理後、ソース側の ufs_disk_close(3) を実行した後でデスティネー ション側の ufs_disk_close(3) を実行するので、free(3) を同じポ インタに対して2回呼び出す事になるので、この時点でコアダンプを 生成してしまう。 対策: 添付したパッチ(diff.txt)を以下の通り当ててインストールする。 make patch patch < diff.txt make make install --- 山下英美 ----Next_Part(Tue_May_20_17_04_43_2014_915)-- Content-Type: Text/Plain; charset=us-ascii Content-Transfer-Encoding: 7bit Content-Disposition: inline; filename="diff.txt" --- work/ufs/ufs_copy.c.orig 2014-05-14 05:51:24.000000000 +0900 +++ work/ufs/ufs_copy.c 2014-05-14 05:51:30.000000000 +0900 @@ -289,6 +289,9 @@ } } bcopy(&src, &dst, sizeof(dst)); +#if __FreeBSD_version >= 900011 + dst.d_sbcsum = NULL; +#endif dst.d_name = dst_path; dst.d_fd = open(dst_path, O_CREAT | O_WRONLY, S_IRUSR | S_IWUSR ); if (dst.d_fd < 0) { ----Next_Part(Tue_May_20_17_04_43_2014_915)----