[EVO 4G Android Development] Skywing269:
Here is logcat from crashing camera with LauncherPro as promised

I/ActivityManager( 154): Starting activity: Intent { act=android.intent.action.
MAIN cat=[android.intent.category.LAUNCHER] flg=0x10200000 cmp=com.android.camer
a/.CameraEntry bnds=[365,410][475,528] }
I/ActivityManager( 154): Start proc com.android.camera for activity com.android
.camera/.CameraEntry: pid=847 uid=10026 gids={1006, 3003, 1015}
W/ResourceType( 154): Skipping entry 0x7f040007 in package table 0 because it i
s not complex!
W/ResourceType( 154): Skipping entry 0x7f040008 in package table 0 because it i
s not complex!
W/HTCCamera( 847): onCreate()
W/dalvikvm( 847): disableGcForExternalAlloc: true
W/IntentManager( 847): from class: com.android.camera.CameraEntry
W/IntentManager( 847): mRequestMode = RequestMode.Main, from Camera
W/IntentManager( 847): request name = null - RequestName.Unknown_General
W/IntentManager( 847): extras == null
W/HTCCamera( 847): onStart() - start
W/HTCCamera( 847): onStart() - end
W/HTCCamera( 847): onResume() - start
W/HTCCamera( 847): !!!! @@@@ broadcastStopVoiceRecording() - start
W/HTCCamera( 847): !!!! @@@@ broadcastStopVoiceRecording() - end
D/AK8973 ( 60): Compass Start
D/Sensors ( 154): open_akm, fd=121
W/HTCCamera( 847): Initial Display Orientation is portrait
W/HTCCamera( 847): mIsInitOrientation = true, mIsWaitOrientation = false
W/HTCCamera( 847): OnResume - reset UI, immediately set mMainLayout invisible
W/########## HtcSettingsReceiver ##########( 847): 2010-08-04 09:09:36 491(ms)
onReceive-start
W/HTCCamera( 847): Block Capture UI - onResume(), and unblock after start previ
ew
W/HTCCamera( 847): onResume() - mFocusingState = NO_FOCUSING
W/HTCCamera( 847): keyguard is not shown !!!!!
W/HTCCamera( 847): onResume() - end
D/PowerManagerService( 154): New lightsensor value:40, lcdValue:89
W/HTCCamera( 847): $$$$$$$$$$$$$$$$$$$$$$$$$$$$$ surfaceCreated $$$$$$$$$$$$$$$
$$$$$$$$$$$$android.view.SurfaceView$3@4726db28
W/HTCCamera( 847): $$$$$$$$$$$$$$$$$$$$$$$$$$$$$ surfaceCreated $$$$$$$$$$$$$$$
$$$$$$$$$$$$ start preview
W/CameraThread( 847): CameraHandler Message - START_PREVIEW start mode0
E/CameraThread( 847): open the Camera in start_camera_preview
W/CameraSwitch( 847): open main camera
D/CameraService( 55): CameraService::connect E (pid 847, client 0x35cf8)
D/CameraService( 55): CameraService::connect X (pid 847, new client 0x35cf8) r
ejected. (old pid 377, old client 0x51370)
W/HTCCamera( 847): $$$$$$$$$$$$$$$$$$$$$$$$$$$$$ surfaceChanged $$$$$$$$$$$$$$$
$$$$$$$$$$$$ w=480 h=800
I/ActivityManager( 154): Displayed activity com.android.camera/.CameraEntry: 49
6 ms (total 496 ms)
E/CameraThread( 847): open camera failed
E/CameraThread( 847): java.lang.RuntimeException: Fail to connect to camera ser
vice
E/CameraThread( 847): at android.hardware.Camera.native_setup(Native Method)
E/CameraThread( 847): at android.hardware.Camera.<init>(Camera.java:118)
E/CameraThread( 847): at android.hardware.Camera.open(Camera.java:91)
E/CameraThread( 847): at com.android.camera.CameraThread.start_preview(CameraT
hread.java:1274)
E/CameraThread( 847): at com.android.camera.CameraThread$MainHandler.handleMes
sage(CameraThread.java:292)
E/CameraThread( 847): at android.os.Handler.dispatchMessage(Handler.java:99)
E/CameraThread( 847): at android.os.Looper.loop(Looper.java:144)
E/CameraThread( 847): at com.android.camera.CameraThread.run(CameraThread.java
:1853)
W/CameraThread( 847): CameraHandler Message - START_PREVIEW end
W/HTCCamera( 847): initScreenMode() - initiate screen mode from capture mode
W/HTCCamera( 847): initScreenMode() - request landscape mode
W/HTCCamera( 847): onPause() - start
W/HTCCamera( 847): onPause() - mIsUIReady = false
W/########## HtcSettingsReceiver ##########( 847): 2010-08-04 09:09:36 701(ms)
onReceive-start
W/HTCCamera( 847): AudioManager.STREAM_SYSTEM_ENFORCED, to fix volume ,mOrigina
lVolume = -1
W/HTCCamera( 847): onPause() - mFocusingState = NO_FOCUSING
W/HTCCamera( 847): OnPause - set mWaitResetSettings to false
W/HTCCamera( 847): releaseFaceDetection()
W/HTCCamera( 847): onPause mIdle is false
W/CameraThread( 847): CameraHandler Message - CLOSE_CAMERA start mMode=0
E/CameraThread( 847): mCameraDevice == null in close_camera
W/CameraThread( 847): CameraHandler Message - CLOSE_CAMERA end
W/HTCCamera( 847): onPause() - end
D/Sensors ( 154): close_akm, fd=121
W/HTCCamera( 847): doOnPause() - start
W/HTCCamera( 847): OnPause - hide UI, set mMainLayout invisible
W/HTCCamera( 847): doOnPause() - end
D/PowerManagerService( 154): New lightsensor value:40, lcdValue:89
W/ResourceType( 154): Skipping entry 0x7f040006 in package table 0 because it i
s not complex!
W/HTCCamera( 847): $$$$$$$$$$$$$$$$$$$$$$$$$$$$$ surfaceDestroyed $$$$$$$$$$$$$
$$$$$$$$$$$$$$
W/ResourceType( 154): Skipping entry 0x7f040005 in package table 0 because it i
s not complex!
D/AK8973 ( 60): Compass CLOSE
W/HTCCamera( 847): onStop() - start
W/HTCCamera( 847): onStop() - end
W/HTCCamera( 847): onDestroy() - start
W/CameraThread( 847): CameraHandler Message - QUIT_CAMERA_THREAD start
E/CameraThread( 847): mCameraDevice == null in close_camera
W/CameraThread( 847): CameraHandler Message - QUIT_CAMERA_THREAD end
W/HTCCamera( 847): onDestroy() - end
W/HTCCamera( 847): doOnDestroy() - start
W/HTCCamera( 847): doOnDestroy() - end

EDIT: I may have made a small breakthrough with this, I have the picolyl LED Light widget installed as well and found that if I use it to turn on the LED light, after turning it off the camera starts successfully every time. I think the LED Light is starting the camera service correctly where as the camera shortcut is not. Here is the logcat of the widget turning the LED on and off, hopefully it'll help in figuring this out.

W/CameraSwitch( 377): open main camera
D/CameraService( 55): CameraService::connect E (pid 377, client 0x51370)
D/CameraService( 55): Client::Client E (pid 377)
D/QualcommCameraHardware( 55): createInstance: E
D/QualcommCameraHardware( 55): Storing the current target type as 1
D/QualcommCameraHardware( 55): constructor EX
D/QualcommCameraHardware( 55): startCamera E
D/QualcommCameraHardware( 55): loading liboemcamera at 0xb00111dc
I/QualcommCameraHardware( 55): Set main cam
I/mm-camera-mmap( 55): set sensor selection :0
I/QualcommCameraHardware( 55): Open Device node : /dev/msm_camera/control1
I/mm-camera-config( 55): cam_conf fd cfgctrl.camfd:0
I/mm-camera-config( 55): Open config device node : /dev/msm_camera/config1
I/ ( 55): [AWB Calibration]:ctrlfd:15
I/ ( 55): [AWB Calibration] cfg.fuse_id_word1:0x413a
I/ ( 55): [AWB Calibration] cfg.fuse_id_word2:0x3a13
I/ ( 55): [AWB Calibration] cfg.fuse_id_word3:0x0
I/ ( 55): [AWB Calibration] cfg.fuse_id_word4:0x0
I/ ( 55): [AWB Calibration] rg_ratio_GS_table[0]:0.687744
I/ ( 55): [AWB Calibration] rg_ratio_GS_table[1]:0.687744
I/ ( 55): [AWB Calibration] rg_ratio_GS_table[2]:0.687744
I/ ( 55): [AWB Calibration] bg_ratio_GS_table[0]:0.737549
I/ ( 55): [AWB Calibration] bg_ratio_GS_table[1]:0.737549
I/ ( 55): [AWB Calibration] bg_ratio_GS_table[2]:0.737549
I/ ( 55): [AWB Calibration] sfuse.fuse_id_word1:0x413a
I/ ( 55): [AWB Calibration] sfuse.fuse_id_word2:0x3a13
I/ ( 55): [AWB Calibration] sfuse.fuse_id_word3:0x0
I/ ( 55): [AWB Calibration] sfuse.fuse_id_word4:0x0
I/ ( 55): [AWB Calibration] fuse_id : 0x413a, 0x3a13, 0x0, 0x0
I/ ( 55): [AWB Calibration] fail to read /data/awb_cal
I/ ( 55): [AWB Calibration] read from file OK: /sys/android_camera_awb_
cal/awb_ca
I/ ( 55): [AWB Calibration] read all c1b ,ok=1
I/ ( 55): [AWB Calibration] read all 2af ,ok=1
I/ ( 55): [AWB Calibration] read all 2da ,ok=1
I/ ( 55): [AWB Calibration] read all 413a ,ok=1
I/ ( 55): [AWB Calibration] read all 3a13 ,ok=1
I/ ( 55): [AWB Calibration] read all 0 ,ok=1
I/ ( 55): [AWB Calibration] read all 0 ,ok=1
I/ ( 55): [AWB Calibration] read all 5087cefe ,ok=1
I/ ( 55): [AWB Calibration] check sum=5087cefe, OK
I/ ( 55): [AWB Calibration] caBuff[0]:0x00000c1b
I/ ( 55): [AWB Calibration] caBuff[1]:0x000002af
I/ ( 55): [AWB Calibration] caBuff[2]:0x000002da
I/ ( 55): [AWB Calibration] caBuff[3]:0x0000413a
I/ ( 55): [AWB Calibration] caBuff[4]:0x00003a13
I/ ( 55): [AWB Calibration] caBuff[5]:0x00000000
I/ ( 55): [AWB Calibration] caBuff[6]:0x00000000
I/ ( 55): [AWB Calibration] caBuff[7]:0x5087cefe
I/ ( 55): [AWB Calibration] fuse_id_word1:0x0000413a
I/ ( 55): [AWB Calibration] fuse_id_word2:0x00003a13
I/ ( 55): [AWB Calibration] fuse_id_word3:0x00000000
I/ ( 55): [AWB Calibration] fuse_id_word4:0x00000000
I/ ( 55): [AWB Calibration] caBuff[0]:3099
I/ ( 55): [AWB Calibration] valid bit and fuseID pass, use new white po
ints
I/ ( 55): [AWB Calibration] use light version: v3
I/mm-camera-aec( 55): Touch AEC == numRegions:256
I/mm-camera-aec( 55): Touch AEC aecCtrl->aec_state.aec_algo:1
I/QualcommCameraHardware( 55): startCamera: camsensor name ov8810, flash 1
D/QualcommCameraHardware( 55): startCamera X
D/QualcommCameraHardware( 55): initDefaultParameters E
D/QualcommCameraHardware( 55): product 3
D/QualcommCameraHardware( 55): native_access_parm: fd 14, type 1, length 32
E/QualcommCameraHardware( 55): native_access_parm: error (Unknown error: 0): f
d 14, type 1, length 32, status 0
D/QualcommCameraHardware( 55): native_access_parm: fd 14, type 64, length 4
D/QualcommCameraHardware( 55): native_access_parm: fd 14, type 65, length 4
D/QualcommCameraHardware( 55): native_access_parm: fd 14, type 66, length 4
D/QualcommCameraHardware( 55): requested preview size 768 x 432
D/QualcommCameraHardware( 55): requested picture size 1024 x 768
D/QualcommCameraHardware( 55): value:31000, country value:310, country code:31
0
D/QualcommCameraHardware( 55): native_access_parm: fd 14, type 21, length 4
D/QualcommCameraHardware( 55): native_access_parm: fd 14, type 14, length 4
D/QualcommCameraHardware( 55): setFlash 0
D/QualcommCameraHardware( 55): native_access_parm: fd 14, type 49, length 4
D/mm-camera-ctrlcmd( 55): In config_proc_CAMERA_SET_PARM_LED_MODE: 0
I/QualcommCameraHardware( 55): Set zoom=0 30
D/QualcommCameraHardware( 55): native_access_parm: fd 14, type 2, length 4
I/QualcommCameraHardware( 55): Setting Contrast is 5
D/QualcommCameraHardware( 55): native_access_parm: fd 14, type 6, length 4
I/QualcommCameraHardware( 55): Setting Brightness is 3
D/QualcommCameraHardware( 55): native_access_parm: fd 14, type 7, length 4
D/QualcommCameraHardware( 55): native_access_parm: fd 14, type 12, length 4
I/mm-camera-ctrlcmd( 55): md.d.aec_mode.aec_mode:1
I/mm-camera-aec( 55): Touch AEC == numRegions:256
I/mm-camera-aec( 55): Touch AEC aecCtrl->aec_state.aec_algo:1
D/QualcommCameraHardware( 55): not defined touch-focus yet, or AP without touc
h-focus function
I/QualcommCameraHardware( 55): Before Setting coordinate x:384 y:216
I/QualcommCameraHardware( 55): Setting coordinate x:2 y:2
D/QualcommCameraHardware( 55): native_access_parm: fd 14, type 60, length 28
I/mm-camera 8x vfe( 55): vfe_set_coordinate x:2 y:2
D/QualcommCameraHardware( 55): native_access_parm: fd 14, type 26, length 4
D/mm-camera-ctrlcmd( 55): md.d.aec_iso_mode = 0
D/QualcommCameraHardware( 55): native_access_parm: fd 14, type 62, length 4
D/QualcommCameraHardware( 55): native_access_parm: fd 14, type 8, length 4
D/QualcommCameraHardware( 55): virtual android::status_t android::QualcommCame
raHardware::setParameters(const android::CameraParameters&), final_rc=0
D/QualcommCameraHardware( 55): initDefaultParameters X
D/QualcommCameraHardware( 55): createInstance: X created hardware=0x5aa80
V/MediaPlayerService( 55): Client(6) constructor
V/MediaPlayerService( 55): Create new client(6) from pid 55, url=/system/media
/audio/ui/camera_click.ogg, connId=6
V/MediaPlayerService( 55): setDataSource(/system/media/audio/ui/camera_click.o
gg)
V/MediaPlayerService( 55): player type = 3
D/MediaPlayerService( 55): player type = VORBIS_PLAYER
V/MediaPlayerService( 55): create VorbisPlayer
V/MediaPlayerService( 55): setDataSource
V/MediaPlayerService( 55): [6] setAudioStreamType(7)
V/MediaPlayerService( 55): [6] prepareAsync
V/MediaPlayerService( 55): [6] notify (0x23ed8, 1, 0, 0)
V/MediaPlayerService( 55): Client(7) constructor
V/MediaPlayerService( 55): Create new client(7) from pid 55, url=/system/media
/audio/ui/VideoRecord.ogg, connId=7
V/MediaPlayerService( 55): setDataSource(/system/media/audio/ui/VideoRecord.og
g)
V/MediaPlayerService( 55): player type = 3
D/MediaPlayerService( 55): player type = VORBIS_PLAYER
V/MediaPlayerService( 55): create VorbisPlayer
V/MediaPlayerService( 55): setDataSource
V/MediaPlayerService( 55): [7] setAudioStreamType(7)
V/MediaPlayerService( 55): [7] prepareAsync
V/MediaPlayerService( 55): [7] notify (0x552e0, 1, 0, 0)
D/CameraService( 55): Client::Client X (pid 377)
D/CameraService( 55): CameraService::connect X
D/QualcommCameraHardware( 55): stopPreview: E
D/QualcommCameraHardware( 55): stopPreviewInternal E: 0
D/QualcommCameraHardware( 55): stopPreviewInternal X: 0
D/QualcommCameraHardware( 55): stopPreview: X
I/CameraService( 55): setParameters(sharpness-max=30;zoom=0;taking-picture-zoo
m=0;zoom-supported=true;sharpness-min=0;sharpness=10;contrast=5;whitebalance=aut
o;jpeg-quality=100;preview-format-values=yuv420sp;jpeg-thumbnail-quality=75;prev
iew-format=yuv420sp;preview-size=768x432;focal-length=4.92;iso=auto;meter-mode=m
eter-center;front-camera-mode=mirror;flash-mode-values=off,auto,on,torch;preview
-frame-rate-values=15;preview-frame-rate=15;focus-mode-values=auto,infinity;jpeg
-thumbnail-width=768;jpeg-thumbnail-size-values=768x576,640x480,512x384,0x0;zoom
-ratios=100,114,131,151,174,200;saturation-def=5;preview-size-values=1280x720,80
0x480,768x432,720x480,640x480,576x432,480x320,400x240,384x288,352x288,320x240,27
2x272,240x240,240x160,176x144;smart-contrast=off;picture-size-values=3264x2448,3
264x1952,2592x1952,2592x1552,2048x1536,2048x1216,1600x1200,1280x960,1280x768,102
4x768,640x480,640x384,512x384,400x400,272x272;contrast-min=0;min-exposure-compen
sation=-4;brightness-min=0;antibanding=auto;taking-picture-zoom-min=0;saturation
-min=1;
D/QualcommCameraHardware( 55): requested preview size 768 x 432
D/QualcommCameraHardware( 55): requested picture size 1024 x 768
D/QualcommCameraHardware( 55): value:31000, country value:310, country code:31
0
D/QualcommCameraHardware( 55): native_access_parm: fd 14, type 21, length 4
D/QualcommCameraHardware( 55): native_access_parm: fd 14, type 14, length 4
D/QualcommCameraHardware( 55): setFlash 3
D/QualcommCameraHardware( 55): native_access_parm: fd 14, type 49, length 4
D/mm-camera-ctrlcmd( 55): In config_proc_CAMERA_SET_PARM_LED_MODE: 3
I/QualcommCameraHardware( 55): Set zoom=0 30
D/QualcommCameraHardware( 55): native_access_parm: fd 14, type 2, length 4
I/QualcommCameraHardware( 55): Setting Contrast is 5
D/QualcommCameraHardware( 55): native_access_parm: fd 14, type 6, length 4
I/QualcommCameraHardware( 55): Setting Brightness is 3
D/QualcommCameraHardware( 55): native_access_parm: fd 14, type 7, length 4
D/QualcommCameraHardware( 55): native_access_parm: fd 14, type 12, length 4
I/mm-camera-ctrlcmd( 55): md.d.aec_mode.aec_mode:1
I/mm-camera-aec( 55): Touch AEC == numRegions:256
I/mm-camera-aec( 55): Touch AEC aecCtrl->aec_state.aec_algo:1
D/QualcommCameraHardware( 55): not defined touch-focus yet, or AP without touc
h-focus function
I/QualcommCameraHardware( 55): Before Setting coordinate x:384 y:216
I/QualcommCameraHardware( 55): Setting coordinate x:2 y:2
D/QualcommCameraHardware( 55): native_access_parm: fd 14, type 60, length 28
I/mm-camera 8x vfe( 55): vfe_set_coordinate x:2 y:2
D/QualcommCameraHardware( 55): native_access_parm: fd 14, type 26, length 4
D/mm-camera-ctrlcmd( 55): md.d.aec_iso_mode = 0
D/QualcommCameraHardware( 55): native_access_parm: fd 14, type 62, length 4
D/QualcommCameraHardware( 55): native_access_parm: fd 14, type 8, length 4
D/QualcommCameraHardware( 55): virtual android::status_t android::QualcommCame
raHardware::setParameters(const android::CameraParameters&), final_rc=0
D/CameraService( 55): Client::disconnect() E (pid 377 client 0x51370)
D/CameraService( 55): hardware teardown
D/QualcommCameraHardware( 55): stopPreview: E
D/QualcommCameraHardware( 55): stopPreviewInternal E: 0
D/QualcommCameraHardware( 55): stopPreviewInternal X: 0
D/QualcommCameraHardware( 55): stopPreview: X
D/mm-camera-ctrlcmd( 55): config_proc_CAMERA_STOP_SNAPSHOT: received CAMERA_ST
OP_SNAPSHOT!, ctrl->state = 0
D/mm-camera-ctrlcmd( 55): config_proc_CAMERA_STOP_SNAPSHOT: invalid state 0
D/QualcommCameraHardware( 55): release E
D/QualcommCameraHardware( 55): deinitRaw E
D/QualcommCameraHardware( 55): deinitRaw X
D/QualcommCameraHardware( 55): dlclose(libqcamera)
D/QualcommCameraHardware( 55): release X
D/QualcommCameraHardware( 55): ~QualcommCameraHardware E
D/QualcommCameraHardware( 55): ~QualcommCameraHardware X
D/CameraService( 55): removeClient (pid 377) done
D/CameraService( 55): Client::disconnect() X (pid 377)
D/CameraService( 55): Client::~Client E (pid 55, client 0x51370)
V/MediaPlayerService( 55): disconnect(7) from pid 55
V/MediaPlayerService( 55): Client(7) destructor pid = 55
V/AudioSink( 55): close
V/MediaPlayerService( 55): disconnect(7) from pid 55
V/MediaPlayerService( 55): disconnect(6) from pid 55
V/MediaPlayerService( 55): Client(6) destructor pid = 55
V/AudioSink( 55): close
V/MediaPlayerService( 55): disconnect(6) from pid 55
D/CameraService( 55): Client::disconnect() E (pid 55 client 0x51370)
D/CameraService( 55): Client::~Client X (pid 55)