libnative_camera crash on Android 4.4.2

asked 2014-04-20 11:25:27 -0500

It seems that most of the Android 4.4.2 devices are not compatible with libnative_camera. My NativeActivity app is crashing with the following backtrace:

#00 pc 000253b2 /system/lib/ (android::BufferQueue::setCurrentDirtyRegion(int)+37)
#01 pc 00018439 /data/app-lib/nightradio.phonopaper-1/ (CameraHandler::initCameraConnect(bool (* const&)(void*, unsigned int, void*), int, void*, android::CameraParameters*)+1936)


#00 pc 00026578 /system/lib/ (android::BufferQueue::releaseBuffer(int, unsigned long long, void*, void*, android::sp<android::Fence> const&)+143)
#01 pc 00018439 /data/app-lib/nightradio.phonopaper-1/ (CameraHandler::initCameraConnect(bool (* const&)(void*, unsigned int, void*), int, void*, android::CameraParameters*)+1936)

Please can anyone build the libnative_camera_r4.4.2?

edit retag flag offensive close merge delete


I have managed to build the 4.4.0 version for 4.4.2. It doesn't crash anymore, preview seems to start fine, but data callbacks are not called. I'll try to get this to work. Alexander Smorkalov, if you see this, have you attempted to get 4.4.2 working?

aQwallovS7 gravatar imageaQwallovS7 ( 2014-04-24 02:39:07 -0500 )edit

After unsuccessfully hacking on 4.4.2 for a few days, I decided to downgrade to 4.4.0. Only to find out that native camera doesn't work for me on 4.4.0 Nexus 5 either. Same problem as here:

aQwallovS7 gravatar imageaQwallovS7 ( 2014-04-25 04:22:08 -0500 )edit

Figured out why callbacks were not called on 4.4.2. I'm building a native executable instead of a shared library. Turns out that in such case I'm responsible for creating a binder thread: IPCThreadState::self()->joinThreadPool(). Otherwise when mediaserver tried to communicate with preview BufferQueue, it just hanged because nothing was handling the request. Anyways, now both 4.4.0 and 4.4.2 still have the problem I referred to in the previous comment.

aQwallovS7 gravatar imageaQwallovS7 ( 2014-04-30 14:35:09 -0500 )edit

Hello There... I also seeing the same issue in Android 4.4.2.

backtrace: #00 pc 00026306 /system/lib/ (android::BufferQueue::releaseBuffer(int, unsigned long long, void, void, android::sp<android::fence> const&)+141) #01 pc 00018455 /data/app-lib/com.apptouch-1/ (CameraHandler::initCameraConnect(bool (* const&)(void, unsigned int, void), int, void, android::CameraParameters)+1948)

Has any one got this issue resolved. Is there setting in buffer memory to be done in kernel. Hope to hear positively!

trushal gravatar imagetrushal ( 2016-06-22 04:38:22 -0500 )edit