I upgraded iTunes to 9.0 yesterday and also upgraded my iPhone 3GS to 3.1.
Everything seems to work fine until I plugged my headphone to it this afternoon, and it crashed (WTF!), and keep rebooting over and over again. I'm afraid I have to do the restore again. It's so annoying! I have had so many troubles with my iPhone and it's so unbelievable that the software delivered from Apple is so crappy.
I'd like to share my previous experience of fixing a problem that caused my iphone not to be recognized in my macbook (not even charging).
- For debugging USB devices I needed some tools with a debug version of the IOUSBFamily Kernel Extension
- I started USB Prober, turned log details to high, plugged in my iPhone and hundreds of lines show up.
- I found a line which said charging cannot be started because of error return code.
- I found in syslog message that launchd tried to start usbmuxd every 10 seconds but failed everytime.
- I googled usbmuxd and found it's a daemon for iPhone power management...
- I located the binary and started it in the shell, it gave me an error message saying that it cannot find the symbol _history in libedit.dylib
- I use objdump to show the symbols in libedit and yes, there's no _history but only _the_history. It seems I have a different version of libedit.
- I downloaded the latest libedit from Apple website, compiled and installed it.
- Problem solved!
One thing I still don't understand is why they want to link to libedit in a daemon? libedit provides line-editing features for command-line tools.
P.S.
I found similar complaints here: http://theappleblog.com/2009/09/14/iphone-os-3-1-update-causing-crashes-on-iphone-3gs/
Update (2009/9/18, 00:51):
This time none of my computers can restore iPhone anymore. It will try to reboot during the restoration and it's in a totally unusable state. Good job, Apple! And remember Apple, I'm not your tester!
Update (2009/9/21):
Softbank paid the price for Apple's technical failure. I got a new iPhone now. I've asked them to erase my data.











