Details
-
Bug
-
Resolution: Done
-
P2: Important
-
5.5.1, 5.6.0
-
Android 6.0.1 - Nexus 6
Description
[Android]: When sending the application into the background while capturing an image from the camera can cause a crash.
Reproducible with the declarative-camera example and the stack is:
1 AndroidCamera::startPreview() 0x9bd12bae 2 QAndroidCameraSession::onCameraPictureCaptured(QByteArray const&) 0x9bd1c1d2 3 QMetaCallEvent::placeMetaCall(QObject *) 0xaee6a512 4 QObject::event(QEvent *) 0xaee6ce96 5 QApplicationPrivate::notify_helper(QObject *, QEvent *) 0x9bee85a2 6 QApplication::notify(QObject *, QEvent *) 0x9beebc12 7 QCoreApplication::notifyInternal2(QObject *, QEvent *) 0xaee4e258 8 QCoreApplicationPrivate::sendPostedEvents(QObject *, int, QThreadData *) 0xaee504a2 9 QEventDispatcherUNIX::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) 0xaee8371c 10 QUnixEventDispatcherQPA::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) 0x9bd5cff0 11 QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) 0xaee4d02c 12 QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) 0xaee4d646 13 QCoreApplication::exec() 0xaee5288c 14 main main.cpp 77 0x9ac9cb74 15 startMainMethod(void *) 0x9bd4d6c0 16 __pthread_start(void *) 0xb6d5c460 17 __start_thread 0xb6d36b44 18 ??
with the output on the console:
Debugging starts I art : Late-enabling -Xcheck:jni W System : ClassLoader referenced unknown path: W linker : /data/app/org.qtproject.example.declarative_camera-1/lib/arm/libQt5Network.so: unused DT entry: type 0xf arg 0x119c9 W linker : /data/app/org.qtproject.example.declarative_camera-1/lib/arm/libQt5Network.so: unsupported flags DT_FLAGS_1=0x81 W linker : /data/app/org.qtproject.example.declarative_camera-1/lib/arm/libQt5Qml.so: unused DT entry: type 0xf arg 0x33c4c W linker : /data/app/org.qtproject.example.declarative_camera-1/lib/arm/libQt5Qml.so: unsupported flags DT_FLAGS_1=0x81 W linker : /data/app/org.qtproject.example.declarative_camera-1/lib/arm/libQt5Gui.so: unused DT entry: type 0xf arg 0x5042f W linker : /data/app/org.qtproject.example.declarative_camera-1/lib/arm/libQt5Gui.so: unsupported flags DT_FLAGS_1=0x81 W linker : /data/app/org.qtproject.example.declarative_camera-1/lib/arm/libQt5Quick.so: unused DT entry: type 0xf arg 0x3d1ac W linker : /data/app/org.qtproject.example.declarative_camera-1/lib/arm/libQt5Quick.so: unsupported flags DT_FLAGS_1=0x81 W linker : /data/app/org.qtproject.example.declarative_camera-1/lib/arm/libQt5Multimedia.so: unused DT entry: type 0xf arg 0x18ed3 W linker : /data/app/org.qtproject.example.declarative_camera-1/lib/arm/libQt5Multimedia.so: unsupported flags DT_FLAGS_1=0x81 W linker : /data/app/org.qtproject.example.declarative_camera-1/lib/arm/libQt5QuickParticles.so: unused DT entry: type 0xf arg 0x365b W linker : /data/app/org.qtproject.example.declarative_camera-1/lib/arm/libQt5QuickParticles.so: unsupported flags DT_FLAGS_1=0x81 W linker : /data/app/org.qtproject.example.declarative_camera-1/lib/arm/libQt5MultimediaQuick_p.so: unused DT entry: type 0xf arg 0x3256 W linker : /data/app/org.qtproject.example.declarative_camera-1/lib/arm/libQt5MultimediaQuick_p.so: unsupported flags DT_FLAGS_1=0x81 W linker : /data/data/org.qtproject.example.declarative_camera/qt-reserved-files/plugins/platforms/android/libqtforandroid.so: unused DT entry: type 0xf arg 0x9260 W linker : /data/data/org.qtproject.example.declarative_camera/qt-reserved-files/plugins/platforms/android/libqtforandroid.so: unsupported flags DT_FLAGS_1=0x81 W linker : /data/data/org.qtproject.example.declarative_camera/qt-reserved-files/plugins/platforms/android/libqtforandroid.so: is missing DT_SONAME will use basename as a replacement: "libqtforandroid.so" I Qt : qt start W linker : /data/data/org.qtproject.example.declarative_camera/qt-reserved-files/plugins/bearer/libqandroidbearer.so: unused DT entry: type 0xf arg 0x1746 W linker : /data/data/org.qtproject.example.declarative_camera/qt-reserved-files/plugins/bearer/libqandroidbearer.so: unsupported flags DT_FLAGS_1=0x81 W linker : /data/data/org.qtproject.example.declarative_camera/qt-reserved-files/plugins/bearer/libqandroidbearer.so: is missing DT_SONAME will use basename as a replacement: "libqandroidbearer.so" W linker : /data/data/org.qtproject.example.declarative_camera/qt-reserved-files/plugins/mediaservice/libqtmedia_android.so: unused DT entry: type 0xf arg 0x5271 W linker : /data/data/org.qtproject.example.declarative_camera/qt-reserved-files/plugins/mediaservice/libqtmedia_android.so: unsupported flags DT_FLAGS_1=0x81 W linker : /data/data/org.qtproject.example.declarative_camera/qt-reserved-files/plugins/mediaservice/libqtmedia_android.so: is missing DT_SONAME will use basename as a replacement: "libqtmedia_android.so" W linker : /data/app/org.qtproject.example.declarative_camera-1/lib/arm/libdeclarative-camera.so: unused DT entry: type 0x1d arg 0x5ec D : (null):0 ((null)): QML debugging is enabled. Only use this in a safe environment. I Qt JAVA : DEBUGGER: extra parameters: Bundle[{debug_ping=true, gdbserver_socket=/data/data/org.qtproject.example.declarative_camera/debug-socket, qml_debug=true, gdbserver_command=/data/data/org.qtproject.example.declarative_camera/lib/libgdbserver.so --multi +/data/data/org.qtproject.example.declarative_camera/debug-socket, qmljsdebugger=port:65229,block,services:DebugMessages,QmlDebugger,V8Debugger,QmlInspector, ping_socket=org.qtproject.example.declarative_camera.ping_pong_socket}] I Qt JAVA : DEBUGGER: removing gdb socket /data/data/org.qtproject.example.declarative_camera/debug-socket I Qt JAVA : DEBUGGER: starting /data/data/org.qtproject.example.declarative_camera/lib/libgdbserver.so --multi +/data/data/org.qtproject.example.declarative_camera/debug-socket I Qt JAVA : DEBUGGER: gdbserver started I Qt JAVA : DEBUGGER: waiting for socket at /data/data/org.qtproject.example.declarative_camera/debug-socket, attempt 0 I Qt JAVA : DEBUGGER: waiting for socket at /data/data/org.qtproject.example.declarative_camera/debug-socket, attempt 1 I Qt JAVA : DEBUGGER: socket ok I Qt JAVA : DEBUGGER: Waiting for debug socket connect I Qt JAVA : DEBUGGER: go to sleep I Qt JAVA : DEBUGGER: Waiting for debug socket connect I Qt JAVA : DEBUGGER: go to sleep I Qt JAVA : DEBUGGER: Waiting for debug socket connect I Qt JAVA : DEBUGGER: go to sleep I Qt JAVA : DEBUGGER: Waiting for debug socket connect I Qt JAVA : DEBUGGER: go to sleep I Qt JAVA : DEBUGGER: Debug socket accepted I Qt JAVA : DEBUGGER: Waiting for debug socket connect I Qt JAVA : DEBUGGER: go to sleep I Qt JAVA : DEBUGGER: Waiting for debug socket connect I Qt JAVA : DEBUGGER: go to sleep I Qt JAVA : DEBUGGER: Waiting for debug socket connect I Qt JAVA : DEBUGGER: go to sleep I Qt JAVA : DEBUGGER: Waiting for debug socket connect I Qt JAVA : DEBUGGER: go to sleep I Qt JAVA : DEBUGGER: Waiting for debug socket connect I Qt JAVA : DEBUGGER: go to sleep I Qt JAVA : DEBUGGER: Waiting for debug socket connect I Qt JAVA : DEBUGGER: go to sleep I Qt JAVA : DEBUGGER: Waiting for debug socket connect I Qt JAVA : DEBUGGER: go to sleep I Qt JAVA : DEBUGGER: Waiting for debug socket connect I Qt JAVA : DEBUGGER: go to sleep I Qt JAVA : DEBUGGER: Waiting for debug socket connect I Qt JAVA : DEBUGGER: go to sleep I Qt JAVA : DEBUGGER: Waiting for debug socket connect I Qt JAVA : DEBUGGER: go to sleep I Qt JAVA : DEBUGGER: Waiting for debug socket connect I Qt JAVA : DEBUGGER: go to sleep Could not load shared library symbols for 116 libraries, e.g. /system/bin/linker. Use the "info sharedlibrary" command to see the complete listing. Do you need "set solib-search-path" or "set sysroot"?Unable to find dynamic linker breakpoint function. GDB will be unable to debug shared library initializers and track explicitly loaded dynamic code.I Qt JAVA : DEBUGGER: Waiting for debug socket connect I Qt JAVA : DEBUGGER: go to sleep I Qt JAVA : DEBUGGER: Incoming socket OK I Qt JAVA : DEBUGGER: Got pid acknowledgment I Qt JAVA : DEBUGGER: ping not requested I Qt JAVA : DEBUGGER: pong not requested D OpenGLRenderer: Use EGL_SWAP_BEHAVIOR_PRESERVED: true I Adreno : QUALCOMM build : 52af4d2, I8366cd0437 I Adreno : Build Date : 10/20/15 I Adreno : OpenGL ES Shader Compiler Version: XE031.05.13.02 I Adreno : Local Branch : M14 I Adreno : Remote Branch : I Adreno : Remote Branch : I Adreno : Reconstruct Branch : I OpenGLRenderer: Initialized EGL, version 1.4 W linker : /data/data/org.qtproject.example.declarative_camera/qt-reserved-files/plugins/qmltooling/libqmldbg_server.so: unused DT entry: type 0xf arg 0x16fc W linker : /data/data/org.qtproject.example.declarative_camera/qt-reserved-files/plugins/qmltooling/libqmldbg_server.so: unsupported flags DT_FLAGS_1=0x81 W linker : /data/data/org.qtproject.example.declarative_camera/qt-reserved-files/plugins/qmltooling/libqmldbg_server.so: is missing DT_SONAME will use basename as a replacement: "libqmldbg_server.so" W linker : /data/data/org.qtproject.example.declarative_camera/qt-reserved-files/plugins/qmltooling/libqmldbg_debugger.so: unused DT entry: type 0xf arg 0x39ea W linker : /data/data/org.qtproject.example.declarative_camera/qt-reserved-files/plugins/qmltooling/libqmldbg_debugger.so: unsupported flags DT_FLAGS_1=0x81 W linker : /data/data/org.qtproject.example.declarative_camera/qt-reserved-files/plugins/qmltooling/libqmldbg_debugger.so: is missing DT_SONAME will use basename as a replacement: "libqmldbg_debugger.so" W linker : /data/data/org.qtproject.example.declarative_camera/qt-reserved-files/plugins/qmltooling/libqmldbg_inspector.so: unused DT entry: type 0xf arg 0x2329 W linker : /data/data/org.qtproject.example.declarative_camera/qt-reserved-files/plugins/qmltooling/libqmldbg_inspector.so: unsupported flags DT_FLAGS_1=0x81 W linker : /data/data/org.qtproject.example.declarative_camera/qt-reserved-files/plugins/qmltooling/libqmldbg_inspector.so: is missing DT_SONAME will use basename as a replacement: "libqmldbg_inspector.so" W linker : /data/data/org.qtproject.example.declarative_camera/qt-reserved-files/plugins/qmltooling/libqmldbg_tcp.so: unused DT entry: type 0xf arg 0x767 W linker : /data/data/org.qtproject.example.declarative_camera/qt-reserved-files/plugins/qmltooling/libqmldbg_tcp.so: unsupported flags DT_FLAGS_1=0x81 W linker : /data/data/org.qtproject.example.declarative_camera/qt-reserved-files/plugins/qmltooling/libqmldbg_tcp.so: is missing DT_SONAME will use basename as a replacement: "libqmldbg_tcp.so" D libdeclarative-camera.so: (null):0 ((null)): QML Debugger: Waiting for connection on port 65229... W linker : /data/data/org.qtproject.example.declarative_camera/qt-reserved-files/qml/QtQuick.2/libqtquick2plugin.so: unused DT entry: type 0xf arg 0x4bd W linker : /data/data/org.qtproject.example.declarative_camera/qt-reserved-files/qml/QtQuick.2/libqtquick2plugin.so: unsupported flags DT_FLAGS_1=0x81 W linker : /data/data/org.qtproject.example.declarative_camera/qt-reserved-files/qml/QtQuick.2/libqtquick2plugin.so: is missing DT_SONAME will use basename as a replacement: "libqtquick2plugin.so" W linker : /data/data/org.qtproject.example.declarative_camera/qt-reserved-files/qml/QtMultimedia/libdeclarative_multimedia.so: unused DT entry: type 0xf arg 0x55db W linker : /data/data/org.qtproject.example.declarative_camera/qt-reserved-files/qml/QtMultimedia/libdeclarative_multimedia.so: unsupported flags DT_FLAGS_1=0x81 W linker : /data/data/org.qtproject.example.declarative_camera/qt-reserved-files/qml/QtMultimedia/libdeclarative_multimedia.so: is missing DT_SONAME will use basename as a replacement: "libdeclarative_multimedia.so" W libdeclarative-camera.so: qrc:///VideoCaptureControls.qml:110 ((null)): qrc:///VideoCaptureControls.qml:110: Error: Cannot assign [undefined] to QString W libdeclarative-camera.so: qrc:///CameraListButton.qml:65 ((null)): qrc:///CameraListButton.qml:65:5: QML CameraListPopup: Binding loop detected for property "currentValue" W libdeclarative-camera.so: qrc:///PhotoCaptureControls.qml:135 ((null)): qrc:///PhotoCaptureControls.qml:135: Error: Cannot assign [undefined] to QString W libdeclarative-camera.so: qrc:///CameraListButton.qml:65 ((null)): qrc:///CameraListButton.qml:65:5: QML CameraListPopup: Binding loop detected for property "currentValue" W linker : /data/data/org.qtproject.example.declarative_camera/qt-reserved-files/plugins/video/videonode/libqtsgvideonode_android.so: unused DT entry: type 0xf arg 0xb11 W linker : /data/data/org.qtproject.example.declarative_camera/qt-reserved-files/plugins/video/videonode/libqtsgvideonode_android.so: unsupported flags DT_FLAGS_1=0x81 W linker : /data/data/org.qtproject.example.declarative_camera/qt-reserved-files/plugins/video/videonode/libqtsgvideonode_android.so: is missing DT_SONAME will use basename as a replacement: "libqtsgvideonode_android.so" W linker : /data/data/org.qtproject.example.declarative_camera/qt-reserved-files/plugins/imageformats/libqdds.so: unused DT entry: type 0xf arg 0xb88 W linker : /data/data/org.qtproject.example.declarative_camera/qt-reserved-files/plugins/imageformats/libqdds.so: unsupported flags DT_FLAGS_1=0x81 W linker : /data/data/org.qtproject.example.declarative_camera/qt-reserved-files/plugins/imageformats/libqdds.so: is missing DT_SONAME will use basename as a replacement: "libqdds.so" W linker : /data/data/org.qtproject.example.declarative_camera/qt-reserved-files/plugins/imageformats/libqgif.so: unused DT entry: type 0xf arg 0x7cd W linker : /data/data/org.qtproject.example.declarative_camera/qt-reserved-files/plugins/imageformats/libqgif.so: unsupported flags DT_FLAGS_1=0x81 W linker : /data/data/org.qtproject.example.declarative_camera/qt-reserved-files/plugins/imageformats/libqgif.so: is missing DT_SONAME will use basename as a replacement: "libqgif.so" W linker : /data/data/org.qtproject.example.declarative_camera/qt-reserved-files/plugins/imageformats/libqicns.so: unused DT entry: type 0xf arg 0xccf W linker : /data/data/org.qtproject.example.declarative_camera/qt-reserved-files/plugins/imageformats/libqicns.so: unsupported flags DT_FLAGS_1=0x81 W linker : /data/data/org.qtproject.example.declarative_camera/qt-reserved-files/plugins/imageformats/libqicns.so: is missing DT_SONAME will use basename as a replacement: "libqicns.so" W linker : /data/data/org.qtproject.example.declarative_camera/qt-reserved-files/plugins/imageformats/libqico.so: unused DT entry: type 0xf arg 0xb06 W linker : /data/data/org.qtproject.example.declarative_camera/qt-reserved-files/plugins/imageformats/libqico.so: unsupported flags DT_FLAGS_1=0x81 W linker : /data/data/org.qtproject.example.declarative_camera/qt-reserved-files/plugins/imageformats/libqico.so: is missing DT_SONAME will use basename as a replacement: "libqico.so" W linker : /data/data/org.qtproject.example.declarative_camera/qt-reserved-files/plugins/imageformats/libqjpeg.so: unused DT entry: type 0xf arg 0x10e8 W linker : /data/data/org.qtproject.example.declarative_camera/qt-reserved-files/plugins/imageformats/libqjpeg.so: unsupported flags DT_FLAGS_1=0x81 W linker : /data/data/org.qtproject.example.declarative_camera/qt-reserved-files/plugins/imageformats/libqjpeg.so: is missing DT_SONAME will use basename as a replacement: "libqjpeg.so" W linker : /data/data/org.qtproject.example.declarative_camera/qt-reserved-files/plugins/imageformats/libqtga.so: unused DT entry: type 0xf arg 0x8cd W linker : /data/data/org.qtproject.example.declarative_camera/qt-reserved-files/plugins/imageformats/libqtga.so: unsupported flags DT_FLAGS_1=0x81 W linker : /data/data/org.qtproject.example.declarative_camera/qt-reserved-files/plugins/imageformats/libqtga.so: is missing DT_SONAME will use basename as a replacement: "libqtga.so" W linker : /data/data/org.qtproject.example.declarative_camera/qt-reserved-files/plugins/imageformats/libqtiff.so: unused DT entry: type 0xf arg 0xc67 W linker : /data/data/org.qtproject.example.declarative_camera/qt-reserved-files/plugins/imageformats/libqtiff.so: unsupported flags DT_FLAGS_1=0x81 W linker : /data/data/org.qtproject.example.declarative_camera/qt-reserved-files/plugins/imageformats/libqtiff.so: is missing DT_SONAME will use basename as a replacement: "libqtiff.so" W linker : /data/data/org.qtproject.example.declarative_camera/qt-reserved-files/plugins/imageformats/libqwbmp.so: unused DT entry: type 0xf arg 0x996 W linker : /data/data/org.qtproject.example.declarative_camera/qt-reserved-files/plugins/imageformats/libqwbmp.so: unsupported flags DT_FLAGS_1=0x81 W linker : /data/data/org.qtproject.example.declarative_camera/qt-reserved-files/plugins/imageformats/libqwbmp.so: is missing DT_SONAME will use basename as a replacement: "libqwbmp.so" W linker : /data/data/org.qtproject.example.declarative_camera/qt-reserved-files/plugins/imageformats/libqwebp.so: unused DT entry: type 0xf arg 0xa8a W linker : /data/data/org.qtproject.example.declarative_camera/qt-reserved-files/plugins/imageformats/libqwebp.so: unsupported flags DT_FLAGS_1=0x81 W linker : /data/data/org.qtproject.example.declarative_camera/qt-reserved-files/plugins/imageformats/libqwebp.so: is missing DT_SONAME will use basename as a replacement: "libqwebp.so" D Camera : app passed NULL surface D Camera : app passed NULL surface W libdeclarative-camera.so: (null):0 ((null)): Can't find surface 1 W libdeclarative-camera.so: (null):0 ((null)): Can't find surface 1 D Camera : app passed NULL surface D Camera : app passed NULL surface W libdeclarative-camera.so: (null):0 ((null)): Can't find surface 2 W libdeclarative-camera.so: (null):0 ((null)): Can't find surface 2 D Camera : app passed NULL surface D Camera : app passed NULL surface W Camera-JNI: callback on dead camera object W Camera-JNI: callback on dead camera object W Camera-JNI: callback on dead camera object W libdeclarative-camera.so: (null):0 ((null)): Can't find surface 3 W libdeclarative-camera.so: (null):0 ((null)): Can't find surface 3 D Camera : app passed NULL surface D Camera : app passed NULL surface
Attachments
For Gerrit Dashboard: QTBUG-52366 | ||||||
---|---|---|---|---|---|---|
# | Subject | Branch | Project | Status | CR | V |
210917,4 | Fix crash when an app is sent to background while capturing an image | 5.9 | qt/qtmultimedia | Status: MERGED | +2 | 0 |