[One (M8) Q&A, Help & Troubleshooting] ..alee:
Lately, my phones' camera isn't working. I have tried multiple camera apps, whatsapp, facebook messenger and other apps which has built-in capture picture options. Every app crashes when i open the camera.

The camera shows the black screen with camera options visible on the screen. It stays like this for a while and then crashes, regardless if its front camera or rear camera.

When i did

adb logcat

to see whats going on, I noticed that I am getting following exception when whatsapp tries to open the camera

Paste Bin Link for convenience

I/ActivityManager( 1001): START u0 {cmp=com.whatsapp/.camera.CameraActivity (has extras)} from uid 10188 on display 0

D/Venom ( 1001): Force new Task enabled: false

D/PMS ( 1001): acquireWL(21afa246): PARTIAL_WAKE_LOCK ActivityManager-Launch 0x1 1001 1000 null

D/HtcSystemUPManager( 1001): HtcSystemUPolicy [canLog (default)] category: launch, enable: true

I/SwipeUpService(15616): SwipeUpService started but not active, your device have already Google New gesture

E/CameraParams( 513): //CC140618++ m_p = 0xb93eba6c android::CameraParameters_EXT::CameraParameters_EXT(android::CameraParameters*), [578]:

D/FlashlightController( 1155): onCameraUnavailable(0)

D/FlashlightController( 1155): dispatchAvailabilityChanged(false)

E/QCamera2HWI( 513): [TimeHelper] void qcamera::QCamera2HardwareInterface::TimeHelper::reset():7042, open device /dev/time_helper error!

E/CameraParams( 513): //CC140618++ m_p = 0xb46bd904 android::CameraParameters_EXT::CameraParameters_EXT(android::CameraParameters*), [578]:

E/CameraParams( 513): //CC140618++ m_p = 0xb93f7f14 android::CameraParameters_EXT::CameraParameters_EXT(android::CameraParameters*), [578]:

W/SensorService( 1001): Following SensorService logs are not warning, just make sure they are printed

W/SensorService( 1001): enable: get sensor name = Accelerometer Sensor

W/SensorService( 1001): pid=513, uid=1013

W/SensorService( 1001): Active sensors: size = 3

W/SensorService( 1001): Accelerometer Sensor (handle=0x00000000, connections=3)

W/SensorService( 1001): CM36282 Light sensor (handle=0x00000003, connections=1)

W/SensorService( 1001): CM36282 Proximity sensor (handle=0x00000004, connections=1)

W/QCamera2HWI( 513): void qcamera::ionDump(): open failed

E/QCamera2HWI( 513): Load library end

E/QCamera2HWI( 513): [KPI Perf] int qcamera::QCamera2HardwareInterface::openCamera(hw_device_t**): E PROFILE_OPEN_CAMERA CameraID:0

E/mm-camera-intf( 513): mm_camera_open: dev name = /dev/video1, cam_idx = 1

E/mm-camera-sensor( 530): module_sensor_start_session:558 session 1

E/mm-camera( 530): isp_tintless_open: E: b6dd8a61

E/hdr ( 530): Session id 0x1 started

E/mm-camera-img( 530): module_imglib_msg_thread:75] abort 0

E/mm-camera( 530): isp_tintless_get_version: lib returned version 3.61 err=0

E/mm-camera( 530): is_module_start_session: Enter

E/mm-camera( 530): is_module_start_session: Exit successful

E/mm-camera( 530): is_module_get_port: Exit successful

E/mm-camera( 530): c2d_module_start_session:227, info: starting session 1

E/mm-camera( 530): c2d_thread_func:41: c2d_thread entering the polling loop...

E/mm-camera( 530): c2d_module_start_session:274, info: c2d_thread created.

E/mm-camera( 530): pp_buf_mgr_open_subdev: MSM_CAMERA_SUBDEV_BUF_MNGR opened =27

E/mm-camera( 530): c2d_module_start_session:296, info: session 1 started.

E/mm-camera-img( 530): module_imglib_msg_thread:75] abort 0

I/ActivityManager( 1001): Recipient 15297

D/Process ( 1001): killProcessQuiet, pid=15297

D/Process ( 1001): com.android.server.am.ActivityManagerService.appDiedLocked:-1 com.android.server.am.ActivityManagerService$AppDeathRecipient.binderDied:-1 android.os.BinderProxy.sendDeathNotice:-1

I/ActivityManager( 1001): Process com.handmark.expressweather (pid 15297) has died

D/HtcUPManager( 1155): HtcUPServiceProxy onTrimMemory() has been called. Memory Level: 10

D/HtcUPManager( 1155): HtcUPServiceProxy onTrimMemory() has been called. Memory Level: 10

I/RecentsTaskLoader( 1155): trim:RUNNING_LOW/MODERATE

E/mm-camera-sensor( 530): actuator_process:1786 ACTUATOR_SET_SENSOR_INFO : ov4688

E/mm-camera-sensor( 530): af_actuator_set_af_value:1416 (), act_name ti201_act

E/mm-camera-sensor( 530): af_actuator_set_af_value:1416 (), act_name rumbas_act

E/mm-camera-sensor( 530): af_actuator_set_af_value:1416 (), act_name lc898212_act

E/mm-camera-sensor( 530): af_actuator_set_af_value:1416 (), act_name ti201_act

E/mm-camera-sensor( 530): af_actuator_set_af_value:1416 (), act_name ti201_act

E/mm-camera-sensor( 530): af_actuator_set_af_value:1416 (), act_name lc898212_act

E/mm-camera-sensor( 530): af_actuator_set_af_value:1416 (), act_name ti201_act

E/mm-camera-sensor( 530): af_actuator_set_af_value:1416 (), act_name ti201_act

E/mm-camera-sensor( 530): af_actuator_set_OTP_info:219 VCM Module vendor = 0

E/mm-camera-sensor( 530):

E/mm-camera-sensor( 530): af_actuator_set_OTP_info:302 OTP_data[2] 0 OTP_data[3] 0 OTP_data[4] 0 OTP_data[5] 0

E/mm-camera-sensor( 530):

E/mm-camera-sensor( 530): af_actuator_set_OTP_info:303 VCM_Start = 0, MODULE_ID_AB = 0x0

E/mm-camera-sensor( 530):

E/mm-camera-sensor( 530): af_actuator_set_OTP_info:304 VCM_Infinity = 0

E/mm-camera-sensor( 530):

E/mm-camera-sensor( 530): af_actuator_set_OTP_info:305 VCM_Macro = 0

E/mm-camera-sensor( 530):

E/mm-camera-sensor( 530): af_actuator_set_OTP_info:307 ori_VCM_Infinity = (0x0)0

E/mm-camera-sensor( 530):

E/mm-camera-sensor( 530): af_actuator_check_vcm_property:720 af_actuator_check_vcm_property: Not enable VCM sorting

E/mm-camera-sensor( 530):

E/mm-camera-sensor( 530): sensor_thread_func:101 sensor_thread_func: readfd:26 writefd:28

E/hdr ( 530): Sensor 2688x1520 = 4085760 > 2M (1928*1088),HDR supported 1

E/mm-camera-intf( 513): mm_camera_open: opened, break out while loop

E/mm-jpeg-intf( 513): mm_jpeg_init:1651] Launch jobmgr thread rc 0

E/mm-jpeg-intf( 513): Max picture size 2688 x 1520, WorkBufSize = 6193152

E/qomx_image_core( 513): OMX_Init:94] Complete 2

E/QCameraParameters( 513): int qcamera::QCameraParameters::initDefaultParameters() supportd_feature_mask 0x77f

E/QCameraParameters( 513): int qcamera::QCameraParameters::setPreviewFpsRange(int, int): Setting preview fps range 10200,40490

E/CameraParams( 513): //CC140618++ m_p = 0xb46bd6a0 android::CameraParameters_EXT::CameraParameters_EXT(android::CameraParameters*), [578]:

E/mm-camera( 530): mct_pipeline_process_set:command=800000e

E/camera_calibration( 513): [Calibration Record] Sensor_Check_LSC_Calibration_Result: check fuseid fail

E/camera_calibration( 513): [Calibration Record] Sensor_Check_AWB_Calibration_Result: check fuseid fail

E/camera_calibration( 513): [AEC Calibration Record] Sensor_Check_AEC_Calibration_Result: check fuseid fail

E/camera_calibration( 513): [Calibration Record][dual] Sensor_Check_FLASH_Calibration_Result: check fuseid fail

E/camera_calibration( 513): [Calibration Record] Sensor_Check_FLASH_Calibration_Result: check sum is not valid

E/camera_calibration( 513): [Calibration Record] Sensor_Check_FLASH_Calibration_Result: check fuseid fail

E/camera_calibration( 513): [Calibration Record] Sensor_Check_FLASH_Calibration_Result: calibration fail

E/camera_calibration( 513): [Calibration Record] Sensor_Check_DUAL_Calibration_Result: check fuseid fail

E/Thermal-Lib( 513): Thermal-Lib-Client: thermal_client_register_callback: Client Registration failed

E/Thermal-Lib( 513): Thermal-Lib-Client: thermal_client_register_callback: Client Registration failed

P.S:

I have formatted my device multiple times and the issues persists. I am currently running ViperROM (5 Lollipop) and previously I was on RevolutionHD ROM (4.3)