[Galaxy S II General] fstof:
Okay I've got a logcat for the camera that is failing

here it is. surely this is fixable

the important bit:

I/ActivityManager( 1998): START {act=android.media.action.STILL_IMAGE_CAMERA flg=0x6000000 cmp=com.android.camera/.Camera} from pid 4424

E/ModePicker( 4424): failed:onModeChanged:0

V/videocamera( 4424): stopVideoRecording

V/videocamera( 4424): Releasing media recorder.

V/videocamera( 4424): closeCamera

D/SecCameraHardware( 1871): LSIHAL void android::HAL_camera_device_disable_msg_type(camera_device*, int32_t)

D/SecCameraHardware( 1871): LSIHAL void android::HAL_camera_device_disable_msg_type(camera_device*, int32_t)

D/SecCameraHardware( 1871): LSIHAL void android::HAL_camera_device_stop_preview(camera_device*)

D/ISecCameraHardware( 1871): stopPreview E

D/SecCameraHardware( 1871): nativeStopPreview EX

D/ISecCameraHardware( 1871): stopPreview X

D/CameraWrapper( 1871): camera_fixup_setparams: set parameters fixed up

D/SecCameraHardware( 1871): int android::HAL_camera_device_set_parameters(camera_device*, const char*)

D/ISecCameraHardware( 1871): setVideoSize: recording 720x480

D/dalvikvm( 4424): GC_CONCURRENT freed 2828K, 28% free 11195K/15431K, paused 1ms+2ms

I/Process ( 1998): Sending signal. PID: 4424 SIG: 3

I/dalvikvm( 4424): threadid=3: reacting to signal 3

I/dalvikvm( 4424): Wrote stack traces to '/data/anr/traces.txt'

I/Process ( 1998): Sending signal. PID: 4424 SIG: 3

I/dalvikvm( 4424): threadid=3: reacting to signal 3

I/dalvikvm( 4424): Wrote stack traces to '/data/anr/traces.txt'

I/Process ( 1998): Sending signal. PID: 4424 SIG: 3

I/dalvikvm( 4424): threadid=3: reacting to signal 3

I/dalvikvm( 4424): Wrote stack traces to '/data/anr/traces.txt'

E/SecCameraHardware( 1871): FimcV4l2 sctrl: error -1, id 0x8000063 value 0

E/SecCameraHardware( 1871): nativeSetParameters X: error -1, isRecording 0

D/ISecCameraHardware( 1871): setParameters X: failed

W/dalvikvm( 4424): threadid=13: thread exiting with uncaught exception (group=0x40a531f8)

E/AndroidRuntime( 4424): FATAL EXCEPTION: Thread-221

E/AndroidRuntime( 4424): java.lang.RuntimeException: setParameters failed

E/AndroidRuntime( 4424):	at android.hardware.Camera.native_setParameters(Native Method)

E/AndroidRuntime( 4424):	at android.hardware.Camera.setParameters(Camera.java:1423)

E/AndroidRuntime( 4424):	at com.android.camera.CameraHolder.open(CameraHolder.java:145)

E/AndroidRuntime( 4424):	at com.android.camera.Util.openCamera(Util.java:267)

E/AndroidRuntime( 4424):	at com.android.camera.Camera$4.run(Camera.java:1121)

E/AndroidRuntime( 4424):	at java.lang.Thread.run(Thread.java:856)

W/ActivityManager( 1998): Force finishing activity com.android.camera/.Camera

I/Process ( 1998): Sending signal. PID: 4424 SIG: 3

I/dalvikvm( 4424): threadid=3: reacting to signal 3

I/dalvikvm( 4424): Wrote stack traces to '/data/anr/traces.txt'

W/ActivityManager( 1998): Activity pause timeout for ActivityRecord{416a7678 com.android.camera/.Camera}

I/Process ( 1998): Sending signal. PID: 4424 SIG: 3

I/dalvikvm( 4424): threadid=3: reacting to signal 3

I/dalvikvm( 4424): Wrote stack traces to '/data/anr/traces.txt'

D/SecCameraHardware( 1871): LSIHAL void android::HAL_camera_device_disable_msg_type(camera_device*, int32_t)

D/SecCameraHardware( 1871): LSIHAL void android::HAL_camera_device_disable_msg_type(camera_device*, int32_t)

D/SecCameraHardware( 1871): LSIHAL void android::HAL_camera_device_stop_preview(camera_device*)

D/ISecCameraHardware( 1871): stopPreview E

W/ISecCameraHardware( 1871): stopPreview: warning, preview has been stopped

D/SecCameraHardware( 1871): LSIHAL int android::HAL_camera_device_take_picture(camera_device*)

D/ISecCameraHardware( 1871): takePicture E

D/ISecCameraHardware( 1871): takePicture X

D/SecCameraHardware( 1871): LSIHAL void android::HAL_camera_device_release(camera_device*)

D/SecCameraHardware( 1871): release E

D/gralloc ( 1871): unmmap pid(1868), vaddr(0x44991000)

E/gralloc ( 1871): [GR_MD] unmapping from 0x43069000, size=33427456

D/gralloc ( 1871): unmmap pid(1868), vaddr(0x469fd000)

E/gralloc ( 1871): [GR_MD] unmapping from 0x45062000, size=33427456

D/gralloc ( 1871): unmmap pid(1868), vaddr(0x48a5b000)

E/gralloc ( 1871): [GR_MD] unmapping from 0x4704d000, size=33427456

D/gralloc ( 1871): unmmap pid(1868), vaddr(0x4aaff000)

E/gralloc ( 1871): [GR_MD] unmapping from 0x4907e000, size=33427456

D/gralloc ( 1871): unmmap pid(1868), vaddr(0x4cb81000)

E/gralloc ( 1871): [GR_MD] unmapping from 0x4b08d000, size=33427456

D/gralloc ( 1871): unmmap pid(1868), vaddr(0x4ec63000)

E/gralloc ( 1871): [GR_MD] unmapping from 0x4d0fc000, size=33427456

D/gralloc ( 1871): unmmap pid(1868), vaddr(0x50cdc000)

E/gralloc ( 1871): [GR_MD] unmapping from 0x4f102000, size=33427456

D/gralloc ( 1871): unmmap pid(1868), vaddr(0x52d81000)

E/gralloc ( 1871): [GR_MD] unmapping from 0x51134000, size=33427456

D/SecCameraHardware( 1871): LSIHAL int android::HAL_camera_device_set_preview_window(camera_device*, preview_stream_ops*)

D/ISecCameraHardware( 1871): virtual android::status_t android::ISecCameraHardware::setPreviewWindow(preview_stream_ops*): mPreviewWindow 0x0

E/ISecCameraHardware( 1871): preview window is NULL!

I/CameraService( 1871): Destroying camera 0

I/SecCameraHardware( 1871): int android::HAL_camera_device_close(hw_device_t*)

W/AudioFlinger( 1871): session id 16 not found for pid 1871

W/AudioFlinger( 1871): session id 17 not found for pid 1871

W/AudioFlinger( 1871): session id 17 not found for pid 1871

I/Process ( 4424): Sending signal. PID: 4424 SIG: 9

I/ActivityManager( 1998): Process com.android.camera (pid 4424) has died.

I/WindowManager( 1998): WIN DEATH: Window{417d3728 com.android.camera/com.android.camera.VideoCamera paused=false}

W/WindowManager( 1998): Force-removing child win Window{41988128 SurfaceView paused=false} from container Window{417d3728 com.android.camera/com.android.camera.VideoCamera paused=false}

W/WindowManager( 1998): Failed looking up window

W/WindowManager( 1998): java.lang.IllegalArgumentException: Requested window android.os.BinderProxy@417ea368 does not exist

W/WindowManager( 1998):	at com.android.server.wm.WindowManagerService.windowForClientLocked(WindowManagerService.java:7174)

W/WindowManager( 1998):	at com.android.server.wm.WindowManagerService.windowForClientLocked(WindowManagerService.java:7165)

W/WindowManager( 1998):	at com.android.server.wm.WindowState$DeathRecipient.binderDied(WindowState.java:1545)

W/WindowManager( 1998):	at android.os.BinderProxy.sendDeathNotice(Binder.java:417)

W/WindowManager( 1998):	at com.android.server.SystemServer.init1(Native Method)

W/WindowManager( 1998):	at com.android.server.SystemServer.main(SystemServer.java:866)

W/WindowManager( 1998):	at java.lang.reflect.Method.invokeNative(Native Method)

W/WindowManager( 1998):	at java.lang.reflect.Method.invoke(Method.java:511)

W/WindowManager( 1998):	at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:787)

W/WindowManager( 1998):	at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:554)

W/WindowManager( 1998):	at dalvik.system.NativeStart.main(Native Method)

I/WindowManager( 1998): WIN DEATH: null

W/ActivityManager( 1998): Activity destroy timeout for ActivityRecord{416a7678 com.android.camera/.Camera}

W/ActivityManager( 1998): Activity destroy timeout for ActivityRecord{418dcb90 com.android.camera/.VideoCamera}

D/dalvikvm( 1998): GC_CONCURRENT freed 1433K, 15% free 14609K/17031K, paused 12ms+6ms