From owner-freebsd-acpi@FreeBSD.ORG Sun Oct 17 08:54:58 2010 Return-Path: Delivered-To: freebsd-acpi@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id EC9D71065675 for ; Sun, 17 Oct 2010 08:54:58 +0000 (UTC) (envelope-from hselasky@c2i.net) Received: from swip.net (mailfe03.swip.net [212.247.154.65]) by mx1.freebsd.org (Postfix) with ESMTP id 325958FC08 for ; Sun, 17 Oct 2010 08:54:57 +0000 (UTC) X-Cloudmark-Score: 0.000000 [] X-Cloudmark-Analysis: v=1.1 cv=iBCGAMPDYtSF9sDXX85uHY3wcnYctfVT8vFpe3qPflY= c=1 sm=1 a=8nJEP1OIZ-IA:10 a=CL8lFSKtTFcA:10 a=i9M/sDlu2rpZ9XS819oYzg==:17 a=t2lncIL62Cz8b4ERMIcA:9 a=5jGFmStSHaXh6GL2yrZbGk8YlEgA:4 a=wPNLvfGTeEIA:10 a=i9M/sDlu2rpZ9XS819oYzg==:117 Received: from [188.126.198.129] (account mc467741@c2i.net HELO laptop002.hselasky.homeunix.org) by mailfe03.swip.net (CommuniGate Pro SMTP 5.2.19) with ESMTPA id 36362234; Sun, 17 Oct 2010 10:54:55 +0200 From: Hans Petter Selasky To: "Jung-uk Kim" Date: Sun, 17 Oct 2010 10:56:12 +0200 User-Agent: KMail/1.13.5 (FreeBSD/8.1-STABLE; KDE/4.4.5; amd64; ; ) References: <201010121209.06397.hselasky@c2i.net> <201010131958.02252.jkim@FreeBSD.org> In-Reply-To: <201010131958.02252.jkim@FreeBSD.org> X-Face: +~\`s("[*|O,="7?X@L.elg*F"OA\I/3%^p8g?ab%RN'(; _IjlA: hGE..Ew, XAQ*o#\/M~SC=S1-f9{EzRfT'|Hhll5Q]ha5Bt-s|oTlKMusi:1e[wJl}kd}GR Z0adGx-x_0zGbZj'e(Y[(UNle~)8CQWXW@:DX+9)_YlB[tIccCPN$7/L' MIME-Version: 1.0 Content-Type: Text/Plain; charset="iso-8859-1" Content-Transfer-Encoding: 7bit Message-Id: <201010171056.12606.hselasky@c2i.net> Cc: freebsd-acpi@freebsd.org Subject: Re: MacBookPro 5,1 X-BeenThere: freebsd-acpi@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: ACPI and power management development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 17 Oct 2010 08:54:59 -0000 Hi, After debugging for some time now I've found the issue. 1) I extended all allocations from ACPI to PAGE_SIZE. 2) Then I filled the extra area with zero. 3) Then at free I checked if some buffers were overwritten, and indeed I got bingo this time. The printout has the format: printf("Dirty free \n"); kdb_backtrace(); Is this enough information for you to make a patch? unknown: I/O range not supported 0xffffff00024c1000 0xcf8 0xcff KDB: stack backtrace: db_trace_self_wrapper() at db_trace_self_wrapper+0x2a acpi_parse_resources() at acpi_parse_resources+0x287 acpi_probe_child() at acpi_probe_child+0x1b4 AcpiNsWalkNamespace() at AcpiNsWalkNamespace+0x163 AcpiWalkNamespace() at AcpiWalkNamespace+0xbf acpi_attach() at acpi_attach+0x8fa device_attach() at device_attach+0x69 bus_generic_attach() at bus_generic_attach+0x1a nexus_acpi_attach() at nexus_acpi_attach+0x69 device_attach() at device_attach+0x69 bus_generic_new_pass() at bus_generic_new_pass+0xd6 bus_set_pass() at bus_set_pass+0x7a configure() at configure+0xa mi_startup() at mi_startup+0x59 btext() at btext+0x2c hpet0: iomem 0xfed00000-0xfed003ff irq 0,8 on acpi0 Timecounter "HPET" frequency 25000000 Hz quality 900 hpet0: [FILTER] Event timer "HPET" frequency 25000000 Hz quality 450 Event timer "HPET1" frequency 25000000 Hz quality 440 Event timer "HPET2" frequency 25000000 Hz quality 440 Event timer "HPET3" frequency 25000000 Hz quality 440 Timecounter "ACPI-safe" frequency 3579545 Hz quality 850 acpi_timer0: <24-bit timer at 3.579545MHz> port 0x408-0x40b on acpi0 cpu0: on acpi0 cpu1: on acpi0 acpi_acad0: on acpi0 acpi_lid0: on acpi0 acpi_lid0: enable wake failed acpi_button0: on acpi0 acpi_button1: on acpi0 pcib0: on acpi0 pci0: on pcib0 Dirty free 13 at 13 KDB: stack backtrace: db_trace_self_wrapper() at db_trace_self_wrapper+0x2a AcpiOsFree() at AcpiOsFree+0x7a AcpiUtDeleteInternalObj() at AcpiUtDeleteInternalObj+0x77 AcpiUtUpdateRefCount() at AcpiUtUpdateRefCount+0xb4 AcpiUtUpdateObjectReference() at AcpiUtUpdateObjectReference+0x45 AcpiRsSetSrsMethodData() at AcpiRsSetSrsMethodData+0xf2 AcpiSetCurrentResources() at AcpiSetCurrentResources+0x49 acpi_pci_link_route_irqs() at acpi_pci_link_route_irqs+0x204 acpi_pci_link_route_interrupt() at acpi_pci_link_route_interrupt+0x1a9 acpi_pcib_route_interrupt() at acpi_pcib_route_interrupt+0x40d pci_assign_interrupt() at pci_assign_interrupt+0x1c3 pci_add_resources() at pci_add_resources+0x14a pci_add_children() at pci_add_children+0x10e acpi_pci_attach() at acpi_pci_attach+0xcd device_attach() at device_attach+0x69 bus_generic_attach() at bus_generic_attach+0x1a acpi_pcib_attach() at acpi_pcib_attach+0x1a7 acpi_pcib_acpi_attach() at acpi_pcib_acpi_attach+0x1fd device_attach() at device_attach+0x69 bus_generic_attach() at bus_generic_attach+0x1a acpi_attach() at acpi_attach+0xa28 device_attach() at device_attach+0x69 bus_generic_attach() at bus_generic_attach+0x1a nexus_acpi_attach() at nexus_acpi_attach+0x69 device_attach() at device_attach+0x69 bus_generic_new_pass() at bus_generic_new_pass+0xd6 bus_set_pass() at bus_set_pass+0x7a configure() at configure+0xa mi_startup() at mi_startup+0x59 btext() at btext+0x2c pci_link32: Enter debugger pci_link43: Enter debugger Dirty free 13 at 13 KDB: stack backtrace: db_trace_self_wrapper() at db_trace_self_wrapper+0x2a AcpiOsFree() at AcpiOsFree+0x7a AcpiUtDeleteInternalObj() at AcpiUtDeleteInternalObj+0x77 AcpiUtUpdateRefCount() at AcpiUtUpdateRefCount+0xb4 AcpiUtUpdateObjectReference() at AcpiUtUpdateObjectReference+0x45 AcpiRsSetSrsMethodData() at AcpiRsSetSrsMethodData+0xf2 AcpiSetCurrentResources() at AcpiSetCurrentResources+0x49 acpi_pci_link_route_irqs() at acpi_pci_link_route_irqs+0x204 acpi_pci_link_route_interrupt() at acpi_pci_link_route_interrupt+0x1a9 acpi_pcib_route_interrupt() at acpi_pcib_route_interrupt+0x40d pci_assign_interrupt() at pci_assign_interrupt+0x1c3 pci_add_resources() at pci_add_resources+0x14a pci_add_children() at pci_add_children+0x10e acpi_pci_attach() at acpi_pci_attach+0xcd device_attach() at device_attach+0x69 bus_generic_attach() at bus_generic_attach+0x1a acpi_pcib_attach() at acpi_pcib_attach+0x1a7 acpi_pcib_acpi_attach() at acpi_pcib_acpi_attach+0x1fd device_attach() at device_attach+0x69 bus_generic_attach() at bus_generic_attach+0x1a acpi_attach() at acpi_attach+0xa28 device_attach() at device_attach+0x69 bus_generic_attach() at bus_generic_attach+0x1a nexus_acpi_attach() at nexus_acpi_attach+0x69 device_attach() at device_attach+0x69 bus_generic_new_pass() at bus_generic_new_pass+0xd6 bus_set_pass() at bus_set_pass+0x7a configure() at configure+0xa mi_startup() at mi_startup+0x59 btext() at btext+0x2c pci_link33: Enter debugger Dirty free 13 at 13 KDB: stack backtrace: db_trace_self_wrapper() at db_trace_self_wrapper+0x2a AcpiOsFree() at AcpiOsFree+0x7a AcpiUtDeleteInternalObj() at AcpiUtDeleteInternalObj+0x77 AcpiUtUpdateRefCount() at AcpiUtUpdateRefCount+0xb4 AcpiUtUpdateObjectReference() at AcpiUtUpdateObjectReference+0x45 AcpiRsSetSrsMethodData() at AcpiRsSetSrsMethodData+0xf2 AcpiSetCurrentResources() at AcpiSetCurrentResources+0x49 acpi_pci_link_route_irqs() at acpi_pci_link_route_irqs+0x204 acpi_pci_link_route_interrupt() at acpi_pci_link_route_interrupt+0x1a9 acpi_pcib_route_interrupt() at acpi_pcib_route_interrupt+0x40d pci_assign_interrupt() at pci_assign_interrupt+0x1c3 pci_add_resources() at pci_add_resources+0x14a pci_add_children() at pci_add_children+0x10e acpi_pci_attach() at acpi_pci_attach+0xcd device_attach() at device_attach+0x69 bus_generic_attach() at bus_generic_attach+0x1a acpi_pcib_attach() at acpi_pcib_attach+0x1a7 acpi_pcib_acpi_attach() at acpi_pcib_acpi_attach+0x1fd device_attach() at device_attach+0x69 bus_generic_attach() at bus_generic_attach+0x1a acpi_attach() at acpi_attach+0xa28 device_attach() at device_attach+0x69 bus_generic_attach() at bus_generic_attach+0x1a nexus_acpi_attach() at nexus_acpi_attach+0x69 device_attach() at device_attach+0x69 bus_generic_new_pass() at bus_generic_new_pass+0xd6 bus_set_pass() at bus_set_pass+0x7a configure() at configure+0xa mi_startup() at mi_startup+0x59 btext() at btext+0x2c pci_link34: Enter debugger Dirty free 13 at 13 KDB: stack backtrace: db_trace_self_wrapper() at db_trace_self_wrapper+0x2a AcpiOsFree() at AcpiOsFree+0x7a AcpiUtDeleteInternalObj() at AcpiUtDeleteInternalObj+0x77 AcpiUtUpdateRefCount() at AcpiUtUpdateRefCount+0xb4 AcpiUtUpdateObjectReference() at AcpiUtUpdateObjectReference+0x45 AcpiRsSetSrsMethodData() at AcpiRsSetSrsMethodData+0xf2 AcpiSetCurrentResources() at AcpiSetCurrentResources+0x49 acpi_pci_link_route_irqs() at acpi_pci_link_route_irqs+0x204 acpi_pci_link_route_interrupt() at acpi_pci_link_route_interrupt+0x1a9 acpi_pcib_route_interrupt() at acpi_pcib_route_interrupt+0x40d pci_assign_interrupt() at pci_assign_interrupt+0x1c3 pci_add_resources() at pci_add_resources+0x14a pci_add_children() at pci_add_children+0x10e acpi_pci_attach() at acpi_pci_attach+0xcd device_attach() at device_attach+0x69 bus_generic_attach() at bus_generic_attach+0x1a acpi_pcib_attach() at acpi_pcib_attach+0x1a7 acpi_pcib_acpi_attach() at acpi_pcib_acpi_attach+0x1fd device_attach() at device_attach+0x69 bus_generic_attach() at bus_generic_attach+0x1a acpi_attach() at acpi_attach+0xa28 device_attach() at device_attach+0x69 bus_generic_attach() at bus_generic_attach+0x1a nexus_acpi_attach() at nexus_acpi_attach+0x69 device_attach() at device_attach+0x69 bus_generic_new_pass() at bus_generic_new_pass+0xd6 bus_set_pass() at bus_set_pass+0x7a configure() at configure+0xa mi_startup() at mi_startup+0x59 btext() at btext+0x2c pci_link41: Enter debugger pci_link42: Enter debugger Dirty free 13 at 13 KDB: stack backtrace: db_trace_self_wrapper() at db_trace_self_wrapper+0x2a AcpiOsFree() at AcpiOsFree+0x7a AcpiUtDeleteInternalObj() at AcpiUtDeleteInternalObj+0x77 AcpiUtUpdateRefCount() at AcpiUtUpdateRefCount+0xb4 AcpiUtUpdateObjectReference() at AcpiUtUpdateObjectReference+0x45 AcpiRsSetSrsMethodData() at AcpiRsSetSrsMethodData+0xf2 AcpiSetCurrentResources() at AcpiSetCurrentResources+0x49 acpi_pci_link_route_irqs() at acpi_pci_link_route_irqs+0x204 acpi_pci_link_route_interrupt() at acpi_pci_link_route_interrupt+0x1a9 acpi_pcib_route_interrupt() at acpi_pcib_route_interrupt+0x40d pci_assign_interrupt() at pci_assign_interrupt+0x1c3 pci_add_resources() at pci_add_resources+0x14a pci_add_children() at pci_add_children+0x10e acpi_pci_attach() at acpi_pci_attach+0xcd device_attach() at device_attach+0x69 bus_generic_attach() at bus_generic_attach+0x1a acpi_pcib_attach() at acpi_pcib_attach+0x1a7 acpi_pcib_acpi_attach() at acpi_pcib_acpi_attach+0x1fd device_attach() at device_attach+0x69 bus_generic_attach() at bus_generic_attach+0x1a acpi_attach() at acpi_attach+0xa28 device_attach() at device_attach+0x69 bus_generic_attach() at bus_generic_attach+0x1a nexus_acpi_attach() at nexus_acpi_attach+0x69 device_attach() at device_attach+0x69 bus_generic_new_pass() at bus_generic_new_pass+0xd6 bus_set_pass() at bus_set_pass+0x7a configure() at configure+0xa mi_startup() at mi_startup+0x59 btext() at btext+0x2c pci_link36: Enter debugger Dirty free 13 at 13 KDB: stack backtrace: db_trace_self_wrapper() at db_trace_self_wrapper+0x2a AcpiOsFree() at AcpiOsFree+0x7a AcpiUtDeleteInternalObj() at AcpiUtDeleteInternalObj+0x77 AcpiUtUpdateRefCount() at AcpiUtUpdateRefCount+0xb4 AcpiUtUpdateObjectReference() at AcpiUtUpdateObjectReference+0x45 AcpiRsSetSrsMethodData() at AcpiRsSetSrsMethodData+0xf2 AcpiSetCurrentResources() at AcpiSetCurrentResources+0x49 acpi_pci_link_route_irqs() at acpi_pci_link_route_irqs+0x204 acpi_pci_link_route_interrupt() at acpi_pci_link_route_interrupt+0x1a9 acpi_pcib_route_interrupt() at acpi_pcib_route_interrupt+0x40d pci_assign_interrupt() at pci_assign_interrupt+0x1c3 pci_add_resources() at pci_add_resources+0x14a pci_add_children() at pci_add_children+0x10e acpi_pci_attach() at acpi_pci_attach+0xcd device_attach() at device_attach+0x69 bus_generic_attach() at bus_generic_attach+0x1a acpi_pcib_attach() at acpi_pcib_attach+0x1a7 acpi_pcib_acpi_attach() at acpi_pcib_acpi_attach+0x1fd device_attach() at device_attach+0x69 bus_generic_attach() at bus_generic_attach+0x1a acpi_attach() at acpi_attach+0xa28 device_attach() at device_attach+0x69 bus_generic_attach() at bus_generic_attach+0x1a nexus_acpi_attach() at nexus_acpi_attach+0x69 device_attach() at device_attach+0x69 bus_generic_new_pass() at bus_generic_new_pass+0xd6 bus_set_pass() at bus_set_pass+0x7a configure() at configure+0xa mi_startup() at mi_startup+0x59 btext() at btext+0x2c pci_link35: Enter debugger pci_link39: Enter debugger --HPS