From owner-freebsd-amd64@FreeBSD.ORG Thu Jun 23 09:40:08 2011 Return-Path: Delivered-To: freebsd-amd64@hub.freebsd.org Received: from mx1.freebsd.org (unknown [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 968031065672 for ; Thu, 23 Jun 2011 09:40:08 +0000 (UTC) (envelope-from gnats@FreeBSD.org) Received: from freefall.freebsd.org (freefall.freebsd.org [69.147.83.40]) by mx1.freebsd.org (Postfix) with ESMTP id 707DE8FC1E for ; Thu, 23 Jun 2011 09:40:08 +0000 (UTC) Received: from freefall.freebsd.org (localhost [127.0.0.1]) by freefall.freebsd.org (8.14.4/8.14.4) with ESMTP id p5N9e8BA038173 for ; Thu, 23 Jun 2011 09:40:08 GMT (envelope-from gnats@freefall.freebsd.org) Received: (from gnats@localhost) by freefall.freebsd.org (8.14.4/8.14.4/Submit) id p5N9e8ue038172; Thu, 23 Jun 2011 09:40:08 GMT (envelope-from gnats) Resent-Date: Thu, 23 Jun 2011 09:40:08 GMT Resent-Message-Id: <201106230940.p5N9e8ue038172@freefall.freebsd.org> Resent-From: FreeBSD-gnats-submit@FreeBSD.org (GNATS Filer) Resent-To: freebsd-amd64@FreeBSD.org Resent-Reply-To: FreeBSD-gnats-submit@FreeBSD.org, Pavel Polyakov Received: from mx1.freebsd.org (unknown [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id F2D9C106564A for ; Thu, 23 Jun 2011 09:38:36 +0000 (UTC) (envelope-from nobody@FreeBSD.org) Received: from red.freebsd.org (red.freebsd.org [69.147.83.34]) by mx1.freebsd.org (Postfix) with ESMTP id E3C588FC1A for ; Thu, 23 Jun 2011 09:38:36 +0000 (UTC) Received: from red.freebsd.org (localhost [127.0.0.1]) by red.freebsd.org (8.14.4/8.14.4) with ESMTP id p5N9caMK053371 for ; Thu, 23 Jun 2011 09:38:36 GMT (envelope-from nobody@red.freebsd.org) Received: (from nobody@localhost) by red.freebsd.org (8.14.4/8.14.4/Submit) id p5N9caRL053369; Thu, 23 Jun 2011 09:38:36 GMT (envelope-from nobody) Message-Id: <201106230938.p5N9caRL053369@red.freebsd.org> Date: Thu, 23 Jun 2011 09:38:36 GMT From: Pavel Polyakov To: freebsd-gnats-submit@FreeBSD.org X-Send-Pr-Version: www-3.1 X-Mailman-Approved-At: Thu, 23 Jun 2011 11:05:48 +0000 Cc: Subject: amd64/158197: geom_cache with size>1000 leads to panics X-BeenThere: freebsd-amd64@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Porting FreeBSD to the AMD64 platform List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 23 Jun 2011 09:40:08 -0000 >Number: 158197 >Category: amd64 >Synopsis: geom_cache with size>1000 leads to panics >Confidential: no >Severity: serious >Priority: medium >Responsible: freebsd-amd64 >State: open >Quarter: >Keywords: >Date-Required: >Class: sw-bug >Submitter-Id: current-users >Arrival-Date: Thu Jun 23 09:40:08 UTC 2011 >Closed-Date: >Last-Modified: >Originator: Pavel Polyakov >Release: gcache create -b128k -s2000 >Organization: me >Environment: FreeBSD cel.home 9.0-CURRENT FreeBSD 9.0-CURRENT #0 r223293M: Mon Jun 20 03:06:27 EEST 2011 root@cel.home:/usr/obj/var/src9/sys/PDC90 amd64 >Description: Using geom_cache with size>1000 leads to panics in g_up/g_down (g_cache_deliver/g_cache_read) panic44: full log http://paste.org.ru/?l1sjnk Tracing pid 13 tid 100014 td 0xfffffe0002c20460 kdb_enter() at kdb_enter+0x3b panic() at panic+0x180 g_cache_deliver() at g_cache_deliver+0x274 g_cache_done() at g_cache_done+0x80 g_io_schedule_up() at g_io_schedule_up+0xce g_up_procbody() at g_up_procbody+0x72 fork_exit() at fork_exit+0x135 fork_trampoline() at fork_trampoline+0xe --- trap 0, rip = 0, rsp = 0xffffff8000275d00, rbp = 0 --- panic45: full log http://paste.org.ru/?egp7hk Tracing pid 13 tid 100015 td 0xfffffe0002c20000 g_cache_read() at g_cache_read+0xee g_cache_start() at g_cache_start+0x34e g_io_schedule_down() at g_io_schedule_down+0x1d4 g_down_procbody() at g_down_procbody+0x72 fork_exit() at fork_exit+0x135 fork_trampoline() at fork_trampoline+0xe --- trap 0, rip = 0, rsp = 0xffffff800027ad00, rbp = 0 --- >How-To-Repeat: Create geom cache with parameters like "gcache create -b128k -s2000 test". (seems gcache works stable if using size 100-200, but panics on 1000+). ports & src trees work good as test pattern for filesystem. panics occur during massive io operations: "find /mnt/test" or reading all files often leads to panic in g_down; dumping/restoring entire fs (ports+src) always triggers panic. >Fix: Using smaller size for gcache or turning it off with kern.geom.cache.enable=0 >Release-Note: >Audit-Trail: >Unformatted: