I believe that com.parallels.desktop.launchdaemon is causing constant change in the System Preferences, which prevents the system from sleeping.
If com.parallels.desktop.launchdaemon is successful in configuring en2 and en3, it does not attempt to change System Preferences, therefore it allows MacOSX to go to rest and sleep.
But if com.parallels.desktop.launchdaemon is unsuccessful in configuring en2 and en3, it attempts to change System Preferences.plist. This causes MacOSX to wake up immediately.
During the instant wakeup process, I catch that SystemPreferences.plist kept changing right before sleep. Now I figured out why it is doing so. It is caused by Parallels daemon.
Here are the crash logs that I traced the difference between the restart that causes system not to sleep and restart that allows the system to sleep, i.e., whether VM net is turned off or turned on at boot time.
There are additional crashes caused by Parallels desktop client at startup. I am not using Parallels nor starting it, so they shouldn't be launched unless I start using it.
This crash log is the restart that won't let system go to sleep:
4/3/11 2:31:12 AM [0x0-0x205205].com.parallels.desktop.console[11689] objc[11689]: Class QMacSoundDelegate is implemented in both /Library/Parallels/Parallels Service.app/Contents/MacOS/libQtGui.4.dylib and /usr/local/lib/libprl_sdk.dylib. One of the two will be used. Which one is undefined.
4/3/11 2:31:12 AM [0x0-0x205205].com.parallels.desktop.console[11689] objc[11689]: Class QNSMenu is implemented in both /Library/Parallels/Parallels Service.app/Contents/MacOS/libQtGui.4.dylib and /usr/local/lib/libprl_sdk.dylib. One of the two will be used. Which one is undefined.
4/3/11 2:31:12 AM [0x0-0x205205].com.parallels.desktop.console[11689] objc[11689]: Class QNSStatusItem is implemented in both /Library/Parallels/Parallels Service.app/Contents/MacOS/libQtGui.4.dylib and /usr/local/lib/libprl_sdk.dylib. One of the two will be used. Which one is undefined.
4/3/11 2:31:12 AM [0x0-0x205205].com.parallels.desktop.console[11689] objc[11689]: Class QNSImageView is implemented in both /Library/Parallels/Parallels Service.app/Contents/MacOS/libQtGui.4.dylib and /usr/local/lib/libprl_sdk.dylib. One of the two will be used. Which one is undefined.
4/3/11 2:37:44 AM [0x0-0x208208].com.parallels.server.transporter[11699] objc[11699]: Class QMacSoundDelegate is implemented in both /Library/Parallels/Parallels Service.app/Contents/MacOS/libQtGui.4.dylib and /Library/Parallels/Parallels Service.app/Contents/Resources/libprl_sdk.dylib. One of the two will be used. Which one is undefined.
4/3/11 2:37:44 AM [0x0-0x208208].com.parallels.server.transporter[11699] objc[11699]: Class QNSMenu is implemented in both /Library/Parallels/Parallels Service.app/Contents/MacOS/libQtGui.4.dylib and /Library/Parallels/Parallels Service.app/Contents/Resources/libprl_sdk.dylib. One of the two will be used. Which one is undefined.
4/3/11 2:37:44 AM [0x0-0x208208].com.parallels.server.transporter[11699] objc[11699]: Class QNSStatusItem is implemented in both /Library/Parallels/Parallels Service.app/Contents/MacOS/libQtGui.4.dylib and /Library/Parallels/Parallels Service.app/Contents/Resources/libprl_sdk.dylib. One of the two will be used. Which one is undefined.
4/3/11 2:37:44 AM [0x0-0x208208].com.parallels.server.transporter[11699] objc[11699]: Class QNSImageView is implemented in both /Library/Parallels/Parallels Service.app/Contents/MacOS/libQtGui.4.dylib and /Library/Parallels/Parallels Service.app/Contents/Resources/libprl_sdk.dylib. One of the two will be used. Which one is undefined.
4/3/11 2:37:54 AM [0x0-0x208208].com.parallels.server.transporter[11699] Parallels SDK loaded from path: /Library/Parallels/Parallels Service.app/Contents/Resources/libprl_sdk.dylib
4/3/11 2:37:57 AM [0x0-0x209209].com.parallels.server.explorer[11702] objc[11702]: Class QMacSoundDelegate is implemented in both /Library/Parallels/Parallels Service.app/Contents/MacOS/libQtGui.4.dylib and /Library/Parallels/Parallels Service.app/Contents/Resources/libprl_sdk.dylib. One of the two will be used. Which one is undefined.
4/3/11 2:37:57 AM [0x0-0x209209].com.parallels.server.explorer[11702] objc[11702]: Class QNSMenu is implemented in both /Library/Parallels/Parallels Service.app/Contents/MacOS/libQtGui.4.dylib and /Library/Parallels/Parallels Service.app/Contents/Resources/libprl_sdk.dylib. One of the two will be used. Which one is undefined.
4/3/11 2:37:57 AM [0x0-0x209209].com.parallels.server.explorer[11702] objc[11702]: Class QNSStatusItem is implemented in both /Library/Parallels/Parallels Service.app/Contents/MacOS/libQtGui.4.dylib and /Library/Parallels/Parallels Service.app/Contents/Resources/libprl_sdk.dylib. One of the two will be used. Which one is undefined.
4/3/11 2:37:57 AM [0x0-0x209209].com.parallels.server.explorer[11702] objc[11702]: Class QNSImageView is implemented in both /Library/Parallels/Parallels Service.app/Contents/MacOS/libQtGui.4.dylib and /Library/Parallels/Parallels Service.app/Contents/Resources/libprl_sdk.dylib. One of the two will be used. Which one is undefined.
4/3/11 2:38:03 AM [0x0-0x209209].com.parallels.server.explorer[11702] Parallels SDK loaded from path: /Library/Parallels/Parallels Service.app/Contents/Resources/libprl_sdk.dylib
4/3/11 2:38:05 AM [0x0-0x20a20a].com.parallels.desktop.console[11704] objc[11704]: Class QMacSoundDelegate is implemented in both /Library/Parallels/Parallels Service.app/Contents/MacOS/libQtGui.4.dylib and /usr/local/lib/libprl_sdk.dylib. One of the two will be used. Which one is undefined.
4/3/11 2:38:05 AM [0x0-0x20a20a].com.parallels.desktop.console[11704] objc[11704]: Class QNSMenu is implemented in both /Library/Parallels/Parallels Service.app/Contents/MacOS/libQtGui.4.dylib and /usr/local/lib/libprl_sdk.dylib. One of the two will be used. Which one is undefined.
4/3/11 2:38:05 AM [0x0-0x20a20a].com.parallels.desktop.console[11704] objc[11704]: Class QNSStatusItem is implemented in both /Library/Parallels/Parallels Service.app/Contents/MacOS/libQtGui.4.dylib and /usr/local/lib/libprl_sdk.dylib. One of the two will be used. Which one is undefined.
4/3/11 2:38:05 AM [0x0-0x20a20a].com.parallels.desktop.console[11704] objc[11704]: Class QNSImageView is implemented in both /Library/Parallels/Parallels Service.app/Contents/MacOS/libQtGui.4.dylib and /usr/local/lib/libprl_sdk.dylib. One of the two will be used. Which one is undefined.
This crash log is the restart that allows system go to sleep:
4/3/11 5:38:48 PM com.vmware.launchd.vmware[43] Internet Software Consortium DHCP Server 2.0
4/3/11 5:38:48 PM com.vmware.launchd.vmware[43] Copyright 1995, 1996, 1997, 1998, 1999 The Internet Software Consortium.
4/3/11 5:38:48 PM com.vmware.launchd.vmware[43] All rights reserved.
4/3/11 5:38:48 PM com.vmware.launchd.vmware[43] Please contribute if you find this software useful.
4/3/11 5:38:48 PM com.vmware.launchd.vmware[43] For info, please visit
http://www.isc.org/dhcp-contrib.html
4/3/11 5:38:50 PM com.vmware.launchd.vmware[43] Configured subnet: 172.16.116.0
4/3/11 5:38:50 PM com.vmware.launchd.vmware[43] Setting vmnet-dhcp IP address: 172.16.116.254
4/3/11 5:38:50 PM com.vmware.launchd.vmware[43] Opened:
4/3/11 5:38:50 PM com.vmware.launchd.vmware[43] Recving on VNet/vmnet8/172.16.116.0
4/3/11 5:38:50 PM com.vmware.launchd.vmware[43] Sending on VNet/vmnet8/172.16.116.0
4/3/11 5:38:50 PM com.vmware.launchd.vmware[43] Internet Software Consortium DHCP Server 2.0
4/3/11 5:38:50 PM com.vmware.launchd.vmware[43] Copyright 1995, 1996, 1997, 1998, 1999 The Internet Software Consortium.
4/3/11 5:38:50 PM com.vmware.launchd.vmware[43] All rights reserved.
4/3/11 5:38:50 PM com.vmware.launchd.vmware[43] Please contribute if you find this software useful.
4/3/11 5:38:50 PM com.vmware.launchd.vmware[43] For info, please visit
http://www.isc.org/dhcp-contrib.html
4/3/11 5:38:51 PM com.vmware.launchd.vmware[43] Configured subnet: 172.16.222.0
4/3/11 5:38:51 PM com.vmware.launchd.vmware[43] Setting vmnet-dhcp IP address: 172.16.222.254
4/3/11 5:38:51 PM com.vmware.launchd.vmware[43] Opened:
4/3/11 5:38:51 PM com.vmware.launchd.vmware[43] Recving on VNet/vmnet1/172.16.222.0
4/3/11 5:38:51 PM com.vmware.launchd.vmware[43] Sending on VNet/vmnet1/172.16.222.0
4/3/11 5:38:51 PM com.apple.launchd[1] (com.parallels.vm.prl_naptd) Unknown key for boolean: SuccessfulExit
4/3/11 5:38:53 PM com.parallels.desktop.launchdaemon[45] Configuring en2...
4/3/11 5:38:53 PM com.parallels.desktop.launchdaemon[45] No System Preferences changes required.
4/3/11 5:38:53 PM com.parallels.desktop.launchdaemon[45] Configuring en3...
4/3/11 5:38:53 PM com.parallels.desktop.launchdaemon[45] No System Preferences changes required.
4/3/11 5:39:14 PM com.parallels.desktop.client.launch[288] objc[288]: Class QMacSoundDelegate is implemented in both /Library/Parallels/Parallels Service.app/Contents/MacOS/libQtGui.4.dylib and /usr/local/lib/libprl_sdk.dylib. One of the two will be used. Which one is undefined.
4/3/11 5:39:14 PM com.parallels.desktop.client.launch[288] objc[288]: Class QNSMenu is implemented in both /Library/Parallels/Parallels Service.app/Contents/MacOS/libQtGui.4.dylib and /usr/local/lib/libprl_sdk.dylib. One of the two will be used. Which one is undefined.
4/3/11 5:39:14 PM com.parallels.desktop.client.launch[288] objc[288]: Class QNSStatusItem is implemented in both /Library/Parallels/Parallels Service.app/Contents/MacOS/libQtGui.4.dylib and /usr/local/lib/libprl_sdk.dylib. One of the two will be used. Which one is undefined.
4/3/11 5:39:14 PM com.parallels.desktop.client.launch[288] objc[288]: Class QNSImageView is implemented in both /Library/Parallels/Parallels Service.app/Contents/MacOS/libQtGui.4.dylib and /usr/local/lib/libprl_sdk.dylib. One of the two will be used. Which one is undefined.