Troublesome kext or driver causing system to hang
Here is a method to hunt the kext which may cause you a hang system.


Boot in safe mode &amp;
make a capture of the minimal safe set of extenions loaded with:

mkdir ~/tmp
kextstat &gt;~/tmp/safe.kextstat

Boot in normal mode &amp;
make a capture of the full set of extensions loaded with:

kextstat &gt;~/tmp/full.kextstat

Compare them:

cd ~/tmp
diff full.kextstat safe.kextstat


and from this difference, which is including the faulty kext,
extract the culprit by checking its installation date:

ls -dlT /System/Library/Extensions/&lt;extension_folder_name…&gt;


The faulty extension will be the one installed at the time of the
start of your kernel hang.

Beware: the extension_folder_name… is not the extension name as
displayed by kexstat.

Here is an example:

on_my_mac$ kextstat | egrep 'Addr|ThunderboltDPA'
Index Refs Address            Size       Wired      Name (Version) &lt;Linked Against&gt;
   70    4 0xffffff7f8125e000 0x8000     0x8000     com.apple.driver.AppleThunderboltDPAdapterFamily (1.8.2) &lt;45 9 8 5 4 3&gt;
on_my_mac$


is coming from:

on_my_mac$ cd /System/Library/Extensions
on_my_mac$ ls -dlT AppleThunderboltDPAdapters.kext
drwxr-xr-x  3 root  wheel  102 Aug 31 05:39:06 2011 AppleThunderboltDPAdapters.kext
on_my_mac$

Make a backup copy of the suspected extension:

mkdir ~/Extensions_backup
cd /System/Library/Extensions
/usr/bin/sudo mv faulty_extension_folder_name ~/Extensions_backup


and test this system with one missing kernel extension:

reboot

If it is OK. You got the right culprit.

If not. Just reverse step 4, reboot and repeat from step 4 to test the next potential extension.