Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Kernel Panic in IONVMeFamily on BS11.3 beta and later #1577

Closed
startergo opened this issue Mar 27, 2021 · 6 comments
Closed

Kernel Panic in IONVMeFamily on BS11.3 beta and later #1577

startergo opened this issue Mar 27, 2021 · 6 comments

Comments

@startergo
Copy link

startergo commented Mar 27, 2021

panic(cpu 20 caller 0xffffff800d9bee36): Kernel trap at 0xffffff801000f109, type 14=page fault, registers:
CR0: 0x000000008001003b, CR2: 0x0000000000000000, CR3: 0x0000000011c35000, CR4: 0x00000000000226e0
RAX: 0x0000000000000100, RBX: 0x0000000000000000, RCX: 0x0000000000000000, RDX: 0x0000000000000009
RSP: 0xffffffa212c1bd80, RBP: 0xffffffa212c1bdb0, RSI: 0x0000000905243fd3, RDI: 0xffffff94206c4800
R8:  0xffffff9420796640, R9:  0xffffff8754905580, R10: 0x0000000000000001, R11: 0xffffff942092d280
R12: 0xffffff942092d280, R13: 0xffffff801000dfee, R14: 0x0000000905243fd3, R15: 0xffffff94206c4800
RFL: 0x0000000000010246, RIP: 0xffffff801000f109, CS:  0x0000000000000008, SS:  0x0000000000000000
Fault CR2: 0x0000000000000000, Error code: 0x0000000000000000, Fault CPU: 0x14, PL: 0, VF: 1

Backtrace (CPU 20), Frame : Return Address
0xffffffa212c1b7a0 : 0xffffff800d887f3d mach_kernel : _handle_debugger_trap + 0x3fd
0xffffffa212c1b7f0 : 0xffffff800d9ce493 mach_kernel : _kdp_i386_trap + 0x143
0xffffffa212c1b830 : 0xffffff800d9bea6a mach_kernel : _kernel_trap + 0x55a
0xffffffa212c1b880 : 0xffffff800d82ca2f mach_kernel : _return_from_trap + 0xff
0xffffffa212c1b8a0 : 0xffffff800d88775d mach_kernel : _DebuggerTrapWithState + 0xad
0xffffffa212c1b9c0 : 0xffffff800d887a53 mach_kernel : _panic_trap_to_debugger + 0x273
0xffffffa212c1ba30 : 0xffffff800e095c9a mach_kernel : _panic + 0x54
0xffffffa212c1baa0 : 0xffffff800d9bee36 mach_kernel : _sync_iss_to_iks + 0x2c6
0xffffffa212c1bc20 : 0xffffff800d9beb1d mach_kernel : _kernel_trap + 0x60d
0xffffffa212c1bc70 : 0xffffff800d82ca2f mach_kernel : _return_from_trap + 0xff
0xffffffa212c1bc90 : 0xffffff801000f109 com.apple.iokit.IONVMeFamily : __ZN16IONVMeController18GetOveragedRequestEy + 0x27
0xffffffa212c1bdb0 : 0xffffff801000e04f com.apple.iokit.IONVMeFamily : __ZN16IONVMeController15CheckForTimeoutEP18IOTimerEventSource + 0x61
0xffffffa212c1bde0 : 0xffffff800dfeddb5 mach_kernel : __ZN18IOTimerEventSource15timeoutSignaledEPvS0_ + 0xa5
0xffffffa212c1be50 : 0xffffff800dfedcb6 mach_kernel : __ZN18IOTimerEventSource17timeoutAndReleaseEPvS0_ + 0xc6
0xffffffa212c1be80 : 0xffffff800d8ce315 mach_kernel : _thread_call_delayed_timer + 0x4a5
0xffffffa212c1bef0 : 0xffffff800d8cf284 mach_kernel : _thread_call_delayed_timer + 0x1414
0xffffffa212c1bfa0 : 0xffffff800d82c13e mach_kernel : _call_continuation + 0x2e
      Kernel Extensions in backtrace:
         com.apple.iokit.IONVMeFamily(2.1)[204D1783-899F-353F-84CB-D7F6862AE265]@0xffffff8010001000->0xffffff801002afff
            dependency: com.apple.driver.AppleEFINVRAM(2.1)[055F51C0-3FE9-31C1-8CC8-2ADC456E3C28]@0xffffff800ecf1000->0xffffff800ecfafff
            dependency: com.apple.driver.AppleMobileFileIntegrity(1.0.5)[08C786C4-D093-3AE9-A378-7A716759967F]@0xffffff800eeab000->0xffffff800eec0fff
            dependency: com.apple.iokit.IOPCIFamily(2.9)[368F5229-F604-3F4F-B877-05DAB5072243]@0xffffff80102c0000->0xffffff80102e8fff
            dependency: com.apple.iokit.IOReportFamily(47)[21571942-1055-35FE-935F-544ADB4A43A5]@0xffffff80102f7000->0xffffff80102f9fff
            dependency: com.apple.iokit.IOStorageFamily(2.1)[063C627D-49F0-356D-9B37-EE3D587BECC2]@0xffffff80103c3000->0xffffff80103d4fff

Process name corresponding to current thread: kernel_task
Boot args: -v -no_compat_check keepsyms=1 debug=0x144 no32exec=0

Mac OS version:
Not yet set

Kernel version:
Darwin Kernel Version 20.4.0: Tue Feb 23 23:43:36 PST 2021; root:xnu-7195.100.354.131.1~3/RELEASE_X86_64
Kernel UUID: 638E017A-1AC0-30AB-BB38-C4C34BEF8D3A
KernelCache slide: 0x000000000d600000
KernelCache base:  0xffffff800d800000
Kernel slide:      0x000000000d610000
Kernel text base:  0xffffff800d810000
__HIB  text base: 0xffffff800d700000
System model name: MacPro5,1 (Mac-7BA5B2D9E42DDD94)
System shutdown begun: NO
Panic diags file unavailable, panic occurred prior to initialization
Hibernation exit count: 0

System uptime in nanoseconds: 39862752695
Last Sleep:           absolute           base_tsc          base_nano
  Uptime  : 0x000000094ade257a
  Sleep   : 0x0000000000000000 0x0000000000000000 0x0000000000000000
  Wake    : 0x0000000000000000 0x0000003216a3d58c 0x0000000000000000

Nvmefix is loaded, but does not prevent panic. I had to revert back to 11.2.3 to be able to boot.

image

@vit9696
Copy link
Contributor

vit9696 commented Mar 27, 2021

I guess your hardware is no longer supported.

@vit9696 vit9696 closed this as completed Mar 27, 2021
@startergo
Copy link
Author

That is strange as I t is an OWC Aura P2.

@startergo
Copy link
Author

@vit9696 Can I load from OC IONVMeFamily from 11.2.3 with a higher IOProbeScore than the newer kext in /S/L/E?

<key>GenericNVMeSSD</key>
        <dict>
            <key>CFBundleIdentifier</key>
            <string>com.apple.iokit.IONVMeFamily</string>
            <key>Chipset Name</key>
            <string>SSD Controller</string>
            <key>IOClass</key>
            <string>IONVMeController</string>
            <key>IOPCIClassMatch</key>
            <string>0x01080200&amp;0xffffff00</string>
            <key>IOPCIPauseCompatible</key>
            <true/>
            <key>IOPCITunnelCompatible</key>
            <true/>
            <key>IOProbeScore</key>
            <integer>5000</integer>
            <key>IOProviderClass</key>
            <string>IOPCIDevice</string>
            <key>IOUnitName</key>
            <string>disk</string>
            <key>Physical Interconnect</key>
            <string>PCI-Express</string>
            <key>Vendor Name</key>
            <string>Generic</string>
        </dict>

Which one will the system use? Should I block first the kext in Kernel/Block?

@vit9696
Copy link
Contributor

vit9696 commented Apr 2, 2021

Currently there is no way to replace one kext with another. They will conflict. You will need to patch out the class name. Like CtlnaAHCI. CC @khronokernel @dhinakg

@khronokernel
Copy link
Member

Vit meant to rely here but accidentally replied in another thread it seems:

#1128 (comment)

Currently there is no way to replace one kext with another. They will conflict. You will need to patch out the class name. Like CtlnaAHCI. CC @khronokernel @dhinakg

And yeah as Vit mentioned, injecting the kext won't work and currently blocking is unavailable as well (#1553). So currently the only way to get this to work is to patch out any conflicting symbols similar to what we've done for CtlnaAHCIPort.kext, IO80211Mojave, etc

The main concern however is whether there's other dependancies that rely on IONVMeFamily so you may need to patch and inject them as well

@lovelytwo
Copy link

lovelytwo commented Jun 24, 2021

This is one of the issues related to the infamous intermittent 11.3/11.4 MacPro5,1/MacPro4,1 boot hang/kernel panic.

I've seen this panic myself from time to time. Along with a few others and just random boot instability.

IMG_4695

MacRumours Forum Link

OpenCore Legacy Patch Issue

I really wish i had the skills to get to the bottom of this, I've tried running the kasan kernel and it found an issue with PMLog (below), disabled that with io flags then the kasan kernel couldn't get past a kernel panic: HPET not assigned to cpu23.

IMG_4702 2

Then tried the development kernel, it's the best so far as long as my keyboard/mouse/hub is disconnect. It's a very odd bug and hard to track down.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Development

No branches or pull requests

4 participants