Contribute
Register

Mavericks reboot loop after installing XCode 6.1

Status
Not open for further replies.
Joined
Jun 20, 2013
Messages
33
Motherboard
Asus P6T Deluxe V2
CPU
I7-920
Graphics
RX 570
Mobile Phone
  1. Android
I've had a very stable system running for the last many months until I installed XCode 6.1 today. Everything worked fine until I rebooted and went back to Windows for a few hours. Now OSX cannot boot anymore and instead reboots the system during loading of the kexts. I booted with -v -x PCIRootUID=0 GraphicsEnabler=Yes and recorded a video of the output. The reboot happens immediately after this line:

Read HFS+ [hd(0,2)/System/Library/Extensions/AppleMikeyHIDDriver.kext/Contents/Info.plist] 2555 bytes.

I've tried repairing the disk permissions and repairing the disk from Disk Utility which I ran from the Mavericks boot drive.

What would be the proper procedure for starting to debug this?
 
I booted with the install thumb and used terminal to modify the kexts. The kext it was crashing on was actually the next kext in line, AppleMobileDevices.kext. There may have been an iTunes update required to install XCode 6.1, so perhaps that modified the kext. The date stamp was not modified from any of the other kexts in the folder with a date of some time in 2013.

I tried copying the AppleMobileDevices.kext file from the thumb drive, fixing permissions, and booting with UseKernelCache=No, but it still rebooted (kernel panic I'm guessing.) So I just renamed the old kext and did not replace it with anything and it actually made it a bit further without rebooting.

After that, it started choking on AppleUSBEthernetHost.kext, so I renamed it too. It now boots, but I am now missing these two kexts...

What could have caused these kexts to become corrupt and is there any way I can fix them?
 
I have confirmed this is XCode 6.1 and not iTunes (which was not updated, by the way).

When building in XCode, it will bring up a message notifying you that it needs to update some files in order to proceed. It will then download files and replace or modify AppleMobileDevice.kext and AppleUSBEthernetHost.kext. For the duration of the OSX session, everything will work fine. Once you reboot, it will crash every time.

To remove the modified kexts, rename them, and then run the following commands in a terminal:

sudo kextcache -system-prelinked-kernel
sudo kextcache -system-caches

If you do not run these, you will have to boot with UseKernelCache=No every time or it will kernel panic on boot.

I have not found a way to restore the old versions of the files, but I doubt it would help because the newer files are needed by XCode. I never had any problems with XCode 6.01, but the 6.1 update breaks everything. Sadly, you cannot build to an iOS 8.1 device without XCode 6.1 hence the update to AppleMobileDevices, so there is no solution I'm aware of. Developing becomes a process of running XCode updates, then wiping them off before rebooting.
 
Status
Not open for further replies.
Back
Top