From owner-freebsd-sparc64@FreeBSD.ORG Fri Jan 4 05:19:16 2013 Return-Path: Delivered-To: freebsd-sparc64@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by hub.freebsd.org (Postfix) with ESMTP id 6BC37126 for ; Fri, 4 Jan 2013 05:19:16 +0000 (UTC) (envelope-from lidl@hydra.pix.net) Received: from hydra.pix.net (hydra.pix.net [IPv6:2001:470:e254::3c]) by mx1.freebsd.org (Postfix) with ESMTP id 15D66A14 for ; Fri, 4 Jan 2013 05:19:16 +0000 (UTC) Received: from hydra.pix.net (localhost [127.0.0.1]) by hydra.pix.net (8.14.5/8.14.5) with ESMTP id r045JFv1023105 for ; Fri, 4 Jan 2013 00:19:15 -0500 (EST) (envelope-from lidl@hydra.pix.net) X-Virus-Status: Clean X-Virus-Scanned: clamav-milter 0.97.6 at mail.pix.net Received: (from lidl@localhost) by hydra.pix.net (8.14.5/8.14.5/Submit) id r045JFrE023104 for freebsd-sparc64@freebsd.org; Fri, 4 Jan 2013 00:19:15 -0500 (EST) (envelope-from lidl) Date: Fri, 4 Jan 2013 00:19:15 -0500 From: Kurt Lidl To: freebsd-sparc64@freebsd.org Subject: smartmontools panics 9.1-RELEASE on sunfire 240 Message-ID: <20130104051914.GA22613@pix.net> MIME-Version: 1.0 Content-Type: text/plain; charset=unknown-8bit Content-Disposition: inline Content-Transfer-Encoding: 8bit User-Agent: Mutt/1.5.21 (2010-09-15) X-BeenThere: freebsd-sparc64@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: Porting FreeBSD to the Sparc List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 04 Jan 2013 05:19:16 -0000 Greetings all -- I recently endeavored to install the same suite of ports on my sparc64 machines as I have installed on my amd64 hosts. I installed the smartmontools from /usr/ports (it installed smartmontools-6.0), configured it thusly: echo 'DEVICESCAN -a -m somealias@example.com' > \ /usr/local/etc/smartd.conf And then when I started the daemon: /usr/local/etc/rc.d/smartd start Starting smartd. (pass0:ata2:0:0:0): ATA_IDENTIFY. ACB: ec 00 00 00 00 40 00 00 00 00 01 00 (pass0:ata2:0:0:0): CAM status: ATA Status Error (pass0:ata2:0:0:0): ATA status: 51 (DRDY SERV ERR), error: 04 (ABRT ) (pass0:ata2:0:0:0): RES: 51 04 00 00 00 00 00 00 00 01 00 And the kernel panic'd: panic: trap: memory address not aligned (kernel) cpuid = 0 KDB: stack backtrace: #0 0xc086c934 at trap+0x554 Uptime: 2h0m44s Automatic reboot in 15 seconds - press a key on the console to abort Rebooting... It's running the GENERIC kernel from 9.1-RELEASE. lidl@host-2: uname -a FreeBSD [redacted] 9.1-RELEASE FreeBSD 9.1-RELEASE #0 r243836: Tue Dec 4 15:49:34 UTC 2012 root@heller.cse.buffalo.edu:/usr/obj/usr/src/sys/GENERIC sparc64 It's completely repeatable. The second time it panic'd, the machine successfully wrote a crashdump file, and savecore recovered it. Here's what kgdb had to say: root@spork-1: kgdb /boot/kernel/kernel /var/crash/vmcore.0 GNU gdb 6.1.1 [FreeBSD] Copyright 2004 Free Software Foundation, Inc. GDB is free software, covered by the GNU General Public License, and you are welcome to change it and/or distribute copies of it under certain conditions. Type "show copying" to see the conditions. There is absolutely no warranty for GDB. Type "show warranty" for details. This GDB was configured as "sparc64-marcel-freebsd"... Unread portion of the kernel message buffer: panic: trap: memory address not aligned (kernel) cpuid = 0 KDB: stack backtrace: #0 0xc086c934 at trap+0x554 Uptime: 23m57s Dumping 8192 MB (4 chunks) chunk at 0: 2147483648 bytes | Reading symbols from /boot/kernel/zfs.ko...Reading symbols from /boot/kernel/zfs.ko.symbols...done. done. Loaded symbols for /boot/kernel/zfs.ko Reading symbols from /boot/kernel/opensolaris.ko...Reading symbols from /boot/kernel/opensolaris.ko.symbols...done. done. Loaded symbols for /boot/kernel/opensolaris.ko Reading symbols from /boot/kernel/geom_mirror.ko...Reading symbols from /boot/kernel/geom_mirror.ko.symbols...done. done. Loaded symbols for /boot/kernel/geom_mirror.ko Reading symbols from /boot/kernel/aio.ko...Reading symbols from /boot/kernel/aio.ko.symbols...done. done. Loaded symbols for /boot/kernel/aio.ko Reading symbols from /boot/kernel/accf_data.ko...Reading symbols from /boot/kernel/accf_data.ko.symbols...done. done. Loaded symbols for /boot/kernel/accf_data.ko Reading symbols from /boot/kernel/accf_http.ko...Reading symbols from /boot/kernel/accf_http.ko.symbols...done. done. Loaded symbols for /boot/kernel/accf_http.ko Reading symbols from /boot/kernel/pflog.ko...Reading symbols from /boot/kernel/pflog.ko.symbols...done. done. Loaded symbols for /boot/kernel/pflog.ko Reading symbols from /boot/kernel/pf.ko...Reading symbols from /boot/kernel/pf.ko.symbols...done. done. Loaded symbols for /boot/kernel/pf.ko #0 0x00000000c053199c in doadump (textdump=Variable "textdump" is not available. ) at /usr/src/sys/kern/kern_shutdown.c:259 259 savectx(&dumppcb); (kgdb) where #0 0x00000000c053199c in doadump (textdump=Variable "textdump" is not available. ) at /usr/src/sys/kern/kern_shutdown.c:259 #1 0x00000000c05323a0 in kern_reboot (howto=260) at /usr/src/sys/kern/kern_shutdown.c:448 #2 0x00000000c053284c in panic (fmt=0xc0ab6a40 "trap: %s (kernel)") at /usr/src/sys/kern/kern_shutdown.c:636 #3 0x00000000c086c93c in trap (tf=0xea36b0b0) at /usr/src/sys/sparc64/sparc64/trap.c:411 #4 0x00000000c0099060 in tl1_trap () #5 0x00000000c012aebc in ata_pio_read (request=0xfffff80003642800, length=512) at bus.h:548 #6 0x00000000c012ae0c in ata_pio_read (request=0xfffff800053927b0, length=512) at /usr/src/sys/dev/ata/ata-lowlevel.c:838 #7 0x00000000c012c004 in ata_end_transaction (request=dwarf2_read_address: Corrupted DWARF expression. ) at /usr/src/sys/dev/ata/ata-lowlevel.c:282 #8 0x00000000c0128750 in ata_interrupt_locked (data=0xfffff80003642800) at /usr/src/sys/dev/ata/ata-all.c:586 #9 0x00000000c01287e8 in ata_interrupt (data=0xfffff80003642800) at /usr/src/sys/dev/ata/ata-all.c:549 #10 0x00000000c0130100 in ata_generic_intr (data=Variable "data" is not available. ) at /usr/src/sys/dev/ata/ata-pci.c:814 #11 0x00000000c04ff8c0 in intr_event_execute_handlers (p=0xfffff800032a2dc8, ie=0xfffff800033b3d00) at /usr/src/sys/kern/kern_intr.c:1262 #12 0x00000000c05014a4 in ithread_loop (arg=0xfffff800036a15c0) at /usr/src/sys/kern/kern_intr.c:1275 #13 0x00000000c04fc548 in fork_exit (callout=0xc05013c0 , arg=0xfffff800036a15c0, frame=0xea36b880) at /usr/src/sys/kern/kern_fork.c:992 #14 0x00000000c0099270 in fork_trampoline () #15 0x00000000c0099270 in fork_trampoline () Previous frame identical to this frame (corrupt stack?) (kgdb) up 5 #5 0x00000000c012aebc in ata_pio_read (request=0xfffff80003642800, length=512) at bus.h:548 548 bus.h: No such file or directory. in bus.h (kgdb) up 1 #6 0x00000000c012ae0c in ata_pio_read (request=0xfffff800053927b0, length=512) at /usr/src/sys/dev/ata/ata-lowlevel.c:838 838 struct ata_channel *ch = device_get_softc(request->parent); (kgdb) list 833 } 834 835 static void 836 ata_pio_read(struct ata_request *request, int length) 837 { 838 struct ata_channel *ch = device_get_softc(request->parent); 839 uint8_t *addr; 840 int size = min(request->transfersize, length); 841 int resid; 842 uint8_t buf[2]; (kgdb) p *request $1 = {dev = 0x0, parent = 0xfffff80003563400, unit = 0, u = {ata = { command = 161 '¡', feature = 0, count = 1, lba = 0}, atapi = { ccb = "¡\000\000\000\000\001\000\000\000\000\000\000\000\000\000", sense = {error = 0 '\0', segment = 0 '\0', key = 0 '\0', cmd_info = 0, sense_length = 0 '\0', cmd_specific_info = 0, asc = 0 '\0', ascq = 0 '\0', replaceable_unit_code = 0 '\0', specific = 0 '\0', specific1 = 0 '\0', specific2 = 0 '\0'}, saved_cmd = 0 '\0'}}, bytecount = 512, transfersize = 512, data = 0xdd551577 "", tag = 0, flags = 2, dma = 0x0, status = 88 'X', error = 0 '\0', donecount = 0, result = 0, callback = 0, done = {sema_mtx = {lock_object = {lo_name = 0x0, lo_flags = 0, lo_data = 0, lo_witness = 0x0}, mtx_lock = 0}, sema_cv = {cv_description = 0x0, cv_waiters = 0}, sema_waiters = 0, sema_value = 0}, retries = 0, timeout = 20, callout = {c_links = {sle = { sle_next = 0x0}, tqe = {tqe_next = 0x0, tqe_prev = 0xc1950940}}, c_time = 1456010, c_arg = 0xfffff800053927b0, c_func = 0xc012f040 , c_lock = 0xfffff80003642ac0, c_flags = 22, c_cpu = 0}, task = {ta_link = {stqe_next = 0x0}, ta_pending = 0, ta_priority = 0, ta_func = 0, ta_context = 0x0}, bio = 0x0, this = 0, composite = 0x0, driver = 0x0, chain = {tqe_next = 0x0, tqe_prev = 0x0}, ccb = 0xfffff80005375000} (kgdb) p *request->parent $2 = {ops = 0xfffff800032e8000, link = {tqe_next = 0xfffff80003563500, tqe_prev = 0xfffff800033b2b30}, devlink = {tqe_next = 0xfffff80003563500, tqe_prev = 0xfffff80003562918}, parent = 0xfffff800033b2b00, children = { tqh_first = 0x0, tqh_last = 0xfffff80003563430}, driver = 0xc0ae6620, devclass = 0xfffff800032ce900, unit = 2, nameunit = 0xfffff800036534e0 "ata2", desc = 0xc0a488d0 "ATA channel", busy = 0, state = DS_ATTACHED, devflags = 0, flags = 3, order = 0, ivars = 0x0, softc = 0xfffff80003642800, sysctl_ctx = { tqh_first = 0xfffff800036a1740, tqh_last = 0xfffff800036a1648}, sysctl_tree = 0xfffff800036bac80} (kgdb) Any tips would be appreciated :-) -Kurt