Become a MacRumors Supporter for $50/year with no ads, ability to filter front page stories, and private forums.

peterpan76

macrumors newbie
Original poster
Hello,

I am looking for help diagnosing a repeatable sleep panic on a dual CPU Mac Pro 4,1 converted to 5,1.

Hardware:

Mac Pro Early 2009
Originally MacPro4,1, converted to MacPro5,1
Dual Xeon E5520 2.26 GHz
8 physical cores and 16 logical CPUs total
16 GB RAM
Sapphire RX 580 Nitro+ 8 GB
Boot ROM 144.0.0.0.0
Processor tray SMC 1.39f5

The most important diagnostic fact is that sleep worked correctly before the MacPro4,1 to MacPro5,1 firmware conversion.

The conversion was performed specifically to allow installation of newer macOS versions.

Immediately after the firmware conversion, while the Mac was still running an older macOS version, sleep stopped working.

The same failure has since been reproduced on Monterey and Sequoia, so the problem does not appear to be limited to one macOS release or to the current OCLP installation.

The failure occurs only when CPUs from both physical processor packages are enabled.

Test results:

cpus=4 works
cpus=8 works
cpus=12 fails
cpus=14 fails
cpus=16 fails

With cpus=8:

hw.packages = 1
hw.physicalcpu = 4
hw.logicalcpu = 8

Sleep and wake are stable.

With cpus=12 or more, the Mac panics while entering sleep.

The repeated panic contains:

Failure during sleep: 0x00000019
Failure while halting non boot CPUs
pmLock: waited too long, held by 8

The relevant backtrace includes:

AppleIntelCPUPowerManagement
_i386_pmExitHaltToOff
_acpi_sleep_kernel
AppleACPIPlatform
AppleACPICPU haltCPU
IOCPUSleepKernel

CPU topology analysis indicates that kernel logical CPU 8 is the first active logical CPU belonging to the second physical Xeon package.

Its APIC ID appears to be 16.

Tests already completed:

CPUFriend and CPUFriendDataProvider disabled with cpus=12
Result unchanged

PowerTimeoutKernelPanic enabled
Result unchanged

No custom ACPI tables
No ACPI patches
No CPUID emulation
No DummyPowerManagement
No AppleXcpmCfgLock
No AppleCpuPmCfgLock

The RX 580 is unlikely to be the original cause because sleep stopped working immediately after the firmware conversion, before the current hardware and software configuration was completed.

Current workaround:

cpus=8

This disables the second physical CPU package, but sleep and wake are stable.

My questions are:

1. Has anyone seen this exact sleep panic after converting a dual CPU Mac Pro 4,1 to 5,1?

2. Could this indicate a compatibility issue between the original dual Xeon E5520 processors, the 2009 dual CPU tray with SMC 1.39f5, and MacPro5,1 firmware?

3. Could the problem be related to APIC topology or AppleIntelCPUPowerManagement when the second CPU package becomes active?

4. Has anyone solved a similar issue by replacing the E5520 processors with Westmere CPUs such as X5675, X5680, or X5690?

5. Is there a safe diagnostic test that can distinguish between CPU compatibility, processor tray SMC, Boot ROM conversion, and ACPI or APIC causes?

I can provide a full panic log, CPU topology output, and sanitized OpenCore configuration if needed.
 

Attachments

  1. Did you replace the BR2032 RTC battery? This is the first thing to look when sleep stops working. Always reset the RTC and the SMC after replacing it, never use a CR2032 - wrong chemistry for the temperature below the GPU heatsink and will fail in weeks.
  2. With a correctly working RTC, did you tested sleep with High Sierra without OC/OCLP?
  3. Did you run AHT/ASD? Get a clean bill of health before anything.

While no one else reported sleep issues with cross-flashed early-2009s that have dual CPU trays, Nehalem processors are supported only up to High Sierra, with Mojave and newer things go awry with the dual CPU Mac Pros.

First failure people notice with cross-flashed early-2009s with dual CPU trays still with Nehalem Xeons when running Mojave and newer is the stuttering audio which can only be solved upgrading to Westmere Xeons.
 
Register on MacRumors! This sidebar will go away, and you'll see fewer ads.