Kernel panic on shutdown / restart

Describe the bug
If BTT is running at shutdown or restart, a kernel panic occurs during the shutdown process. (If I close BTT before shutting down or restarting, sometimes the panic still occurs, sometimes not; it might depend on how long I wait after closing BTT before shutting down)

This has been occurring for years, so it's not caused by recent changes to either BTT, macOS, or any of my hardware.

Affected input device (e.g. MacBook Trackpad, Magic Mouse/Trackpad, Touch Bar, etc.):
USB-A Microsoft Comfort Mouse 6000
USB-A Das Keyboard Model S Professional
(I've been using both the same input devices as long as I've owned my Mac Mini, from the end of 2014, though I tried a Magic Mouse when I first bought my Mac, but I returned it)

Device information:

  • Type of Mac: Mac Mini (2014)
  • macOS version: 11.1 (all versions for at least a few years)
  • BetterTouchTool version: 3.538 (all versions for at least a few years)

Additional information (e.g. StackTraces, related issues, screenshots, workarounds, etc.):
I think that it might be related to mouse problems that I've had.

My mouse works fine (though the 2 side buttons & mouse wheel click don't do anything without BTT running).

But the Mouse System Preferences says "No mouse found", and doesn't let me modify any mouse settings. I think that many years ago, I was able to modify Mouse settings. When I connected a different freebie Dell mouse, I was able to access Mouse settings.

Also, when Bluetooth is on, I cannot turn it off because the Mac informs me that if I did so, I'd lose my input devices, despite no Bluetooth devices being paired with my Mac. I've disabled Bluetooth with a Terminal command (I forget the exact command).

The only Bluetooth devices I've used with my computer have been my iPhone (various versions throughout the years), and, back in 2015, a Magic Mouse that I returned because I preferred my existing mouse (which I'm still using).

In 2014, I installed Microsoft IntelliPoint drivers, which are no longer supported / used, IIUC. If they have an obvious uninstall routine, then I presumably used it, but maybe they're still on my Mac, or maybe some setting was corrupted by them.

I think that, many years ago, this problem didn't occur. Also, many years ago, I think that my Mouse System Preferences & disabling Bluetooth worked fine with my current mouse. I imagine that this problem was caused by whatever caused my Mouse System Preferences & Bluetooth issue, but I could be wrong. Maybe it was a macOS or BTT update. Maybe a hardware problem. Maybe a config problem. Etc.

Error report:

panic(cpu 2 caller 0xffffff800916e9fe): watchdog timeout: no checkins from watchdogd in 306 seconds (96043 totalcheckins since monitoring last enabled), shutdown in progress
Backtrace (CPU 2), Frame : Return Address
0xffffffa063573c00 : 0xffffff8005eb9aed 
0xffffffa063573c50 : 0xffffff8005ffc6e3 
0xffffffa063573c90 : 0xffffff8005fecd1a 
0xffffffa063573ce0 : 0xffffff8005e5ea2f 
0xffffffa063573d00 : 0xffffff8005eb938d 
0xffffffa063573e20 : 0xffffff8005eb9678 
0xffffffa063573e90 : 0xffffff80066be434 
0xffffffa063573f00 : 0xffffff800916e9fe 
0xffffffa063573f20 : 0xffffff800916e304 
0xffffffa063573f50 : 0xffffff80074a39dc 
0xffffffa063573fa0 : 0xffffff8005e5e13e 
      Kernel Extensions in backtrace:
         com.apple.driver.watchdog(1.0)[7AE04EA4-D026-39A0-B2D5-5C9E4EE72967]@0xffffff800916d000->0xffffff800916efff
         com.apple.driver.AppleSMC(3.1.9)[D674490B-26E7-312B-9E8E-03250124CCC6]@0xffffff8007494000->0xffffff80074acfff
            dependency: com.apple.driver.watchdog(1)[7AE04EA4-D026-39A0-B2D5-5C9E4EE72967]@0xffffff800916d000->0xffffff800916efff
            dependency: com.apple.iokit.IOACPIFamily(1.4)[C8F0E837-965A-3EB4-B8F6-4C2142046028]@0xffffff80082d7000->0xffffff80082d8fff
            dependency: com.apple.iokit.IOPCIFamily(2.9)[D0F1BFB8-C28E-3E70-891B-73B783189394]@0xffffff800882c000->0xffffff8008853fff

Process name corresponding to current thread: kernel_task

Mac OS version:
20C69

Kernel version:
Darwin Kernel Version 20.2.0: Wed Dec  2 20:39:59 PST 2020; root:xnu-7195.60.75~1/RELEASE_X86_64
Kernel UUID: 82E2050C-5936-3D24-AD3B-EC4EC5C09E11
KernelCache slide: 0x0000000005c00000
KernelCache base:  0xffffff8005e00000
Kernel slide:      0x0000000005c10000
Kernel text base:  0xffffff8005e10000
__HIB  text base: 0xffffff8005d00000
System model name: Macmini7,1 (Mac-35C5E08120C7EEAF)
System shutdown begun: YES
Panic diags file available: YES (0x0)
Hibernation exit count: 0

System uptime in nanoseconds: 962347297352615
Last Sleep:           absolute           base_tsc          base_nano
  Uptime  : 0x00036b3ff0cf3d5e
  Sleep   : 0x0000017383fa0aee 0x000000001d53c808 0x0000016777a8591f
  Wake    : 0x000001738fd5ab38 0x000000001d1ad8b8 0x000001738efad40a
last started kext at 960854525552966: >usb.!UUserHCI	1 (addr 0xffffff7fa679d000, size 98304)
last stopped kext at 961778888028400: >usb.!UUserHCI	1 (addr 0xffffff7fa679d000, size 98304)
loaded kexts:
org.virtualbox.kext.VBoxNetAdp	6.1.16
org.virtualbox.kext.VBoxNetFlt	6.1.16
org.virtualbox.kext.VBoxUSB	6.1.16
org.virtualbox.kext.VBoxDrv	6.1.16
>!AUpstreamUserClient	3.6.8
>!AMCCSControl	1.14
>AudioAUUC	1.70
>!APlatformEnabler	2.7.0d0
>AGPM	119
>X86PlatformShim	1.0.0
@fileutil	20.036.15
@filesystems.autofs	3.0
>!AGraphicsDevicePolicy	6.2.2
@AGDCPluginDisplayMetrics	6.2.2
>pmtelemetry	1
>LuaHardwareAccess	1.0.16
|IOUserEthernet	1.0.1
>eficheck	1
|IO!BSerialManager	8.0.2f9
>!AHDA	283.15
>!A!IHD5000Graphics	16.0.1
@Dont_Steal_Mac_OS_X	7.0.0
>!AHV	1
>!A!IFramebufferAzul	16.0.1
>!ADiskImages2	1
>!AThunderboltIP	4.0.3
>!ALPC	3.1
>!A!ISlowAdaptiveClocking	4.0.0
>!AIR!C	360
@filesystems.tmpfs	1
@filesystems.hfs.kext	556.60.1
@BootCache	40
@!AFSCompression.!AFSCompressionTypeZlib	1.0.0
@!AFSCompression.!AFSCompressionTypeDataless	1.0.0d1
@filesystems.apfs	1677.60.23
@private.KextAudit	1.0
>!ASDXC	1.9.0
>AirPort.BrcmNIC	1400.1.1
|!ABCM5701Ethernet	11.0.0
>!AAHCIPort	346
>!AACPIButtons	6.1
>!ARTC	2.0
>!AHPET	1.8
>!ASMBIOS	2.1
>!AACPIEC	6.1
>!AAPIC	1.7
@!ASystemPolicy	2.0.0
@nke.applicationfirewall	310
|IOKitRegistryCompatibility	1
|EndpointSecurity	1
>!ASMBus!C	1.0.18d1
|IOUSBUserClient	900.4.2
@kext.triggers	1.0
>!AGraphicsControl	6.2.2
|IOSerial!F	11
>DspFuncLib	283.15
@kext.OSvKernDSPLib	529
|IOAVB!F	900.12
|IONDRVSupport	585
|IOAccelerator!F2	439.52
@plugin.IOgPTPPlugin	900.11
|IOEthernetAVB!C	1.1.0
>!AHDA!C	283.15
|IOHDA!F	283.15
|IOAudio!F	300.6.1
@vecLib.kext	1.2.0
>X86PlatformPlugin	1.0.0
>IOPlatformPlugin!F	6.0.0d8
@!AGPUWrangler	6.2.2
@!AGraphicsDeviceControl	6.2.2
|IOGraphics!F	585
|IOSlowAdaptiveClocking!F	1.0.0
|Broadcom!BHost!CUSBTransport	8.0.2f9
|IO!BHost!CUSBTransport	8.0.2f9
|IO!BHost!CTransport	8.0.2f9
>usb.!UHub	1.2
>usb.IOUSBHostHIDDevice	1.2
>usb.networking	5.0.0
>usb.!UHostCompositeDevice	1.2
>!AThunderboltDPInAdapter	8.1.4
>!AThunderboltDPAdapter!F	8.1.4
>!AThunderboltPCIDownAdapter	4.1.1
>!ABSDKextStarter	3
|IOSurface	289.3
@filesystems.hfs.encodings.kext	1
|IOAHCIBlock!S	332
|IOUSB!F	900.4.2
>!AThunderboltNHI	7.2.8
|IOThunderbolt!F	9.3.2
|IO80211!F	1200.12.2b1
|IOSkywalk!F	1
>corecapture	1.0.4
>mDNSOffloadUserClient	1.0.1b8
|IOAHCI!F	294
>usb.!UXHCIPCI	1.2
>usb.!UXHCI	1.2
>!AEFINVRAM	2.1
>!AEFIRuntime	2.1
|IOSMBus!F	1.1
|IOHID!F	2.0.0
$!AImage4	3.0.0
|IOTimeSync!F	900.11
|IONetworking!F	3.4
>DiskImages	493.0.0
|IO!B!F	8.0.2f9
|IOReport!F	47
|IO!BPacketLogger	8.0.2f9
$quarantine	4
$sandbox	300.0
@kext.!AMatch	1.0.0d1
|CoreAnalytics!F	1
>!ASSE	1.0
>!AKeyStore	2
>!UTDM	511.60.2
|IOUSBMass!SDriver	184.40.6
|IOSCSIBlockCommandsDevice	436.40.6
|IO!S!F	2.1
|IOSCSIArchitectureModel!F	436.40.6
>!AMobileFileIntegrity	1.0.5
@kext.CoreTrust	1
>!AFDEKeyStore	28.30
>!AEffaceable!S	1.0
>!ACredentialManager	1.0
>KernelRelayHost	1
|IOUSBHost!F	1.2
>!UHostMergeProperties	1.2
>usb.!UCommon	1.0
>!ABusPower!C	1.0
>!ASEPManager	1.0.1
>IOSlaveProcessor	1
>!AACPIPlatform	6.1
>!ASMC	3.1.9
|IOPCI!F	2.9
|IOACPI!F	1.4
>watchdog	1
@kec.pthread	1
@kec.corecrypto	11.1
@kec.Libm	1

unfortunately this is most likely some hardware or driver issue (although I don’t see any problematic driver on first glance).

BTT doesn’t install any kernel extensions or other things that could cause Kernel panics, it might be possible that it uses functions that access a part of the hardware that causes this though.

If BTT is not running it does absolutely nothing, which night suggest that your issue is also triggered by something else.

Thanks for the info.

The problem never happens when I don't run BTT, always happens when BTT is running, and sometimes happens after I've exited BTT, so it really seems like it must be related to BTT.

Could BTT somehow interact with drivers, or some other config or code, and somehow put them in a bad state?

I don't know about macOS kernel panics or debugging for macOS (I develop for the JVM). Does the error output suggest anything specific to you? My guess is that my USB-A mouse isn't responding to some shutdown watchdog.

Is there anything I could do to help you diagnose if this is related to BTT?

Thanks for any help.

Unfortunately I also don't have a lot of experience on debugging such Kernel Panics because BTT works at a higher level which doesn't directly interact with the Kernel.

A first step might be to run the kextstat terminal command and see whether there are any suspicious non-apple kexts loaded.