Bug 43079 - 3.4 merge regression: boot hang at boot just before "ACPI: Interpreter enabled"
Summary: 3.4 merge regression: boot hang at boot just before "ACPI: Interpreter enabled"
Status: CLOSED UNREPRODUCIBLE
Alias: None
Product: ACPI
Classification: Unclassified
Component: ACPICA-Core (show other bugs)
Hardware: All Linux
: P1 high
Assignee: acpi_acpica-core@kernel-bugs.osdl.org
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2012-04-09 20:08 UTC by Christian Casteyde
Modified: 2012-06-05 03:07 UTC (History)
1 user (show)

See Also:
Kernel Version: 3.4.0-rc1
Subsystem:
Regression: Yes
Bisected commit-id:


Attachments
.config file for 3.4.0 kernel with the debug options used. (79.07 KB, text/plain)
2012-04-09 20:08 UTC, Christian Casteyde
Details

Description Christian Casteyde 2012-04-09 20:08:29 UTC
Created attachment 72863 [details]
.config file for 3.4.0 kernel with the debug options used.

Acer Aspire 7750G laptop
Core i7/6GB
Slackware64 13.37 + 3.4.0-rc1 kernel built with kmemcheck & other debug options

Since 3.4.0-rc1, my laptop doesn't boot further than ACPI table parsing.
I cannot event get the dmesg output since the kernel hangs very soon. However, the last visible lines are looking like that (copied from a working 3.3.0 kernel dmesg output):

ACPI: Executed 1 blocks of module-level executable AML code
[Firmware Bug]: ACPI: BIOS _OSI(Linux) query ignored
ACPI: SSDT 00000000af670718 0067C (v01  PmRef  Cpu0Cst 00003001 INTL 20100121)
ACPI: Dynamic OEM Table Load:
ACPI: SSDT           (null) 0067C (v01  PmRef  Cpu0Cst 00003001 INTL 20100121)
ACPI: SSDT 00000000af671a98 00303 (v01  PmRef    ApIst 00003000 INTL 20100121)
ACPI: Dynamic OEM Table Load:
ACPI: SSDT           (null) 00303 (v01  PmRef    ApIst 00003000 INTL 20100121)
ACPI: SSDT 00000000af66fd98 00119 (v01  PmRef    ApCst 00003000 INTL 20100121)
ACPI: Dynamic OEM Table Load:                                            
ACPI: SSDT           (null) 00119 (v01  PmRef    ApCst 00003000 INTL 20100121)

*** hang here, and sometimes I get a stack trace I cannot write here as it's scrolled ***

I append my .config file to show what debug options I used.

3.4.0-rc2 doesn't work either.
Comment 1 Len Brown 2012-04-10 02:41:45 UTC
okay, so we broke this during the 3.4 merge window.

Can you build some upstream kernels to bisect where it broke?

1st to try:


d326f44e5f2204c7a24db69bfc6dd3fe5f86182b
Merge branch 'tboot' into release

If that works, then the ACPI merge was okay
and the breakage is elsewhere in 3.4.

If it fails, then we broke inside the ACPI merge,
and the place to look is in ACPICA:

6a99b1c94d053b3420eaa4a4bc8b2883dd90a2f9
ACPICA: Object repair code: Support to add Package wrappers

If that works, then we broke elsehwere in ACPI.
If it fails, then we broke in the ACPICA commits
between that and 3.3.

btw. what machine is failing?
Comment 2 Christian Casteyde 2012-04-11 22:10:10 UTC
6fe0d0628245fdcd6fad8b837c81e8f7ebc3364d is the first bad commit
commit 6fe0d0628245fdcd6fad8b837c81e8f7ebc3364d
Author: Andi Kleen <andi@firstfloor.org>
Date:   Mon Feb 6 08:17:09 2012 -0800

    ACPI: Make ACPI interrupt threaded
    
    Some ACPI interrupt actions may need to wait, and it's easiest to
    have a thread context for this. So turn the ACPI interrupt
    into a threaded interrupt.
    
    Signed-off-by: Andi Kleen <ak@linux.intel.com>
    Signed-off-by: Len Brown <len.brown@intel.com>

:040000 040000 bad4b9260738469abacf948d2f5284c8b6799221 bc3c8c29a5f70de05014388d915e2e6645b45d47 M      drivers

appended git bisect log

the failing machine is indicated in #1, a laptop with Corei7 in 64bits mode from Acer
Comment 3 Christian Casteyde 2012-04-11 22:11:39 UTC
Here is git bisect log:

git bisect start
# good: [c16fa4f2ad19908a47c63d8fa436a1178438c7e7] Linux 3.3
git bisect good c16fa4f2ad19908a47c63d8fa436a1178438c7e7
# bad: [dd775ae2549217d3ae09363e3edb305d0fa19928] Linux 3.4-rc1
git bisect bad dd775ae2549217d3ae09363e3edb305d0fa19928
# good: [b2094ef840697bc8ca5d17a83b7e30fad5f1e9fa] Merge tag 'sound-3.4' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound
git bisect good b2094ef840697bc8ca5d17a83b7e30fad5f1e9fa
# good: [1bfecd935849a45b6b47d9f011e1c278ff880512] Merge tag 'boards' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc
git bisect good 1bfecd935849a45b6b47d9f011e1c278ff880512
# good: [47b816ff7d520509176154748713e7d66b3ad6ac] Merge branch 'next' of git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc
git bisect good 47b816ff7d520509176154748713e7d66b3ad6ac
# good: [2f7fa1be66dce77608330c5eb918d6360b5525f2] Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input
git bisect good 2f7fa1be66dce77608330c5eb918d6360b5525f2
# bad: [c39e8ede284f469971589f2e04af78216e1a771d] Merge tag 'fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc
git bisect bad c39e8ede284f469971589f2e04af78216e1a771d
# good: [a9d38a4f2da6c49a257253a9fdef7a6bcb0e0e4f] Merge branch 'dunlap' (Randy's Documentation patches)
git bisect good a9d38a4f2da6c49a257253a9fdef7a6bcb0e0e4f
# bad: [73f05330497b98c45d157b7d0c60673798bb4c3b] Merge branch 'apei' into release
git bisect bad 73f05330497b98c45d157b7d0c60673798bb4c3b
# good: [5aa3c16c6b196857ea24ec1c589e3db3c4c64c96] ACPICA: Update to version 20120320
git bisect good 5aa3c16c6b196857ea24ec1c589e3db3c4c64c96
# good: [02401c06b7f6bec65f314e3cec7894502c973501] cpuidle: power_usage should be declared signed integer
git bisect good 02401c06b7f6bec65f314e3cec7894502c973501
# good: [344e222edf486bf42da1ced137e36df7a345b0ad] ACPI throttling: fix endian bug in acpi_read_throttling_status()
git bisect good 344e222edf486bf42da1ced137e36df7a345b0ad
# bad: [1a05e4678724c4a5fe7b9e4e208b616dfe8c3a32] Merge branches 'acpica', 'bgrt', 'bz-11533', 'cpuidle', 'ec', 'hotplug', 'misc', 'red-hat-bz-727865', 'thermal', 'throttling', 'turbostat' and 'video' into release
git bisect bad 1a05e4678724c4a5fe7b9e4e208b616dfe8c3a32
# good: [37239978778806ecba54da60676abb46870acebb] ACPI: Clean redundant codes in scan.c
git bisect good 37239978778806ecba54da60676abb46870acebb
# good: [15aaa34654831e98dd76f7738b6c7f5d05a66430] tools turbostat: harden against cpu online/offline
git bisect good 15aaa34654831e98dd76f7738b6c7f5d05a66430
# bad: [6fe0d0628245fdcd6fad8b837c81e8f7ebc3364d] ACPI: Make ACPI interrupt threaded
git bisect bad 6fe0d0628245fdcd6fad8b837c81e8f7ebc3364d
# good: [d6795fe32da13bde39ea483e42799a22daa730b5] ACPI: ec: Do request_region outside WARN()
git bisect good d6795fe32da13bde39ea483e42799a22daa730b5
Comment 4 Christian Casteyde 2012-04-17 20:31:44 UTC
Update : still present in 3.4-rc3.

Btw, since this is related to interrupt threading, I guess it is a lock dependency/sleep inside spinlock/read of uninit warning that is triggered, even if I cannot see the whole call stack when it's hung.
Comment 5 Christian Casteyde 2012-04-22 15:22:26 UTC
Update : unreproducible in 3.4-rc4.

Note You need to log in before you can comment on or make changes to this bug.