Date: Thu, 4 Aug 2005 13:27:16 -0400 (EDT) From: Paul Mather <paul@gromit.dlib.vt.edu> To: FreeBSD-gnats-submit@FreeBSD.org Subject: i386/84556: GBDE-encrypted swap causes panic at shutdown Message-ID: <200508041727.j74HRGRv057417@zappa.Chelsea-Ct.Org> Resent-Message-ID: <200508041730.j74HUNbB014457@freefall.freebsd.org>
next in thread | raw e-mail | index | archive | help
>Number: 84556 >Category: i386 >Synopsis: GBDE-encrypted swap causes panic at shutdown >Confidential: no >Severity: serious >Priority: medium >Responsible: freebsd-i386 >State: open >Quarter: >Keywords: >Date-Required: >Class: sw-bug >Submitter-Id: current-users >Arrival-Date: Thu Aug 04 17:30:23 GMT 2005 >Closed-Date: >Last-Modified: >Originator: Paul Mather >Release: FreeBSD 6.0-CURRENT i386 >Organization: >Environment: System: FreeBSD zappa.Chelsea-Ct.Org 6.0-CURRENT FreeBSD 6.0-CURRENT #0: Wed Jun 29 02:22:09 EDT 2005 paul@zappa.Chelsea-Ct.Org:/usr/obj/usr/src/sys/ZAPPA i386 >Description: A kernel panic at shutdown is possible if a GBDE-encrypted swap partition is in use (i.e., swapinfo shows pages used under the "Used" column). I don't know if a minimum percentage of swap needs to be in use to provoke the panic. I have /tmp mounted as a md-backed filesystem on GBDE-encrypted swap, so usually I have at least a couple of tens of megabytes of swap used by the time I shutdown. In my case, I always get a panic (unless no swapping has occurred). Here is the panic I got when I last did a shutdown on my system: [[...]] All buffers synced. unmount of /dev failed (BUSY) Uptime: 8d5h26m53s GEOM_MIRROR: Device raid1: provider mirror/raid1 destroyed. GEOM_MIRROR: Device raid1 destroyed. kernel trap 12 with interrupts disabled Fatal trap 12: page fault while in kernel mode fault virtual address = 0x74 fault code = supervisor read, page not present instruction pointer = 0x20:0xc04eed94 stack pointer = 0x28:0xd56c2c5c frame pointer = 0x28:0xd56c2c60 code segment = base 0x0, limit 0xfffff, type 0x1b = DPL 0, pres 1, def32 1, gran 1 processor eflags = resume, IOPL = 0 current process = 79 (g_bde mirror/raid1b) [thread pid 79 tid 100042 ] Stopped at turnstile_setowner+0xb: movl 0x74(%edx),%eax db> where Tracing pid 79 tid 100042 td 0xc1a2f480 turnstile_setowner(ad89d,c06601a0,0,c1bab02c,c1bab02c) at turnstile_setowner+0xb turnstile_wait(c1bab02c,0,23,c1a2f480,d56c2cd0) at turnstile_wait+0xb9 _mtx_lock_sleep(c1bab02c,c1a2f480,0,0,0) at _mtx_lock_sleep+0x87 msleep(c1bab000,c1bab02c,4c,c0608dee,3e8,1,c0609225) at msleep+0x380 g_bde_worker(c1be4b00,d56c2d38,c1be4b00,c1be4b00,c04947a0) at g_bde_worker+0x299 fork_exit(c04947a0,c1be4b00,d56c2d38) at fork_exit+0x6b fork_trampoline() at fork_trampoline+0x8 --- trap 0x1, eip = 0, esp = 0xd56c2d6c, ebp = 0 --- db> I have marked this PR as "serious" only because it prevents a remote shutdown/reboot from succeeding. >How-To-Repeat: Enable GBDE-encrypted swap (e.g. add 'gbde_swap_enable="YES"' to /etc/rc.conf) and do a lot of swapping; then execute "shutdown -r now". >Fix: >Release-Note: >Audit-Trail: >Unformatted:
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200508041727.j74HRGRv057417>