From owner-freebsd-stable@FreeBSD.ORG Sun Sep 23 20:10:08 2012 Return-Path: Delivered-To: freebsd-stable@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 4E45F106566C for ; Sun, 23 Sep 2012 20:10:08 +0000 (UTC) (envelope-from barbara.freebsd@gmail.com) Received: from mail-ie0-f182.google.com (mail-ie0-f182.google.com [209.85.223.182]) by mx1.freebsd.org (Postfix) with ESMTP id 16B898FC14 for ; Sun, 23 Sep 2012 20:10:07 +0000 (UTC) Received: by ieak10 with SMTP id k10so8853584iea.13 for ; Sun, 23 Sep 2012 13:10:07 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:date:message-id:subject:from:to:content-type; bh=Fq9e8Z5MSJ5SwPhjlkC3t8oJkohNA6OqNkDfer00lpo=; b=sU5TEa62WV6gUuqVSMz1JaHeqqFVVNdD+IWiV4Vfj8xpxyj9LYAQvbk1wpmnoRjpgm uvZW5w55kYFr/kgrrYJrvn5TzLGVvykisRiUUIRVh/5GSz/Yi92pUP2GKZ+JQQQP+Qzj I5bBgASSv5y7rx8dPkii/ZfezUchm0qKaSBXq0vwiFNZZoGABbtjvpupDbui+LjOf0RJ b2pPVOa0a2nB6lz01vw53kb3+E1LKMWdsU03NNxuw2rnaAA2vMbHn1DI/JncbYN3/XUY mQ7DUKxLII2eFuAaK0fzJ2cyUU1pldq1FZb7IrPr0Im6PJH3pCSyp60ZhOePQec7J5NL lK3Q== MIME-Version: 1.0 Received: by 10.42.167.196 with SMTP id t4mr8090227icy.21.1348431007198; Sun, 23 Sep 2012 13:10:07 -0700 (PDT) Received: by 10.231.121.195 with HTTP; Sun, 23 Sep 2012 13:10:07 -0700 (PDT) Date: Sun, 23 Sep 2012 22:10:07 +0200 Message-ID: From: Barbara To: freebsd-stable@freebsd.org Content-Type: text/plain; charset=ISO-8859-1 Subject: Fatal trap 12: hda X-BeenThere: freebsd-stable@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Production branch of FreeBSD source code List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 23 Sep 2012 20:10:08 -0000 After updating src on RELENG_9 from r240236 to r240821 I have rebuilt my world+kernel. On reboot I had a kernel panic, "supervisor read, page not present" for process swapper. Trying to reboot in Single User Mode I accidentally disabled ACPI. Luckily the machine booted succesfully but there was nothing new in /var/crash. Then I tried again with ACPI enabled: same kernel panic. So I run nm on the instruction pointer of the panic and I noticed that it was in hdaa_sense_init, in sys/dev/sound/pci/hda/hdaa.c. BTW, I have "device sound" and "device snd_hda" in my KERNCONF, and the sound hw detection happens before HDs, is that the reason why I wasn't able to get a dump or dumping using DDB and the panicking process is swapper? Is there any trick I'm missing for that? Booting in verbose mode and comparing the output with ACPI enabled (where the panic happens) and disabled, I guessed that the problem was where "No presence detection support at nid..." is printed, as it was missing in the former case for nid 27 - Headphone (Green Jack). With ACPI disabled the value was looking quite weird: 36765696. So I made the following change: -------------------------------------------------------------------------------- --- sys/dev/sound/pci/hda/hdaa.c.orig 2012-09-22 20:06:20.000000000 +0200 +++ sys/dev/sound/pci/hda/hdaa.c 2012-09-23 20:39:32.000000000 +0200 @@ -627,7 +627,7 @@ (HDA_CONFIG_DEFAULTCONF_MISC(w->wclass.pin.config) & 1) != 0) { device_printf(devinfo->dev, "No presence detection support at nid %d\n", - as[i].pins[15]); + as->pins[15]); } else { if (w->unsol < 0) poll = 1; -------------------------------------------------------------------------------- Maybe the fix is not correct, but at least the new kernel boots successfully. Can someone review that? I tried looking in svn commits between the two builds, but I don't know what exposed the problem. If anyone is interested in my verbose log, or doing some tests, please ask. Barbara