Uploaded image for project: 'Qt'
  1. Qt
  2. QTBUG-103725

VideoOutput crash on iOS when using OpenGLRhi

    XMLWordPrintable

    Details

    • Type: Bug
    • Status: Closed
    • Priority: P1: Critical
    • Resolution: Done
    • Affects Version/s: 6.3.0
    • Fix Version/s: 6.5.0 Beta1
    • Component/s: Multimedia
    • Labels:
      None
    • Environment:
      Xcode 13.4 (13F17a)
    • Platform/s:
      iOS/tvOS/watchOS
    • Commits:
      c2b6aa806a (qt/qtmultimedia/dev) c2b6aa806a (qt/tqtc-qtmultimedia/dev)

      Description

      Attached is a crashing sample project that uses CaptureSession+VideoOutput with OpenGLRhi on iOS.

      Crash log:

      QSGRenderThread (11)
      #15	0x00000001dadefe5c in -[AVCaptureVideoDataOutput setVideoSettings:] ()
      #16	0x0000000101bc4b84 in AVFCameraRenderer::setOutputSettings(NSDictionary*) at /Users/qt/work/qt/qtmultimedia/src/multimedia/platform/darwin/camera/avfcamerarenderer.mm:151
      #17	0x0000000101bb3314 in AVFVideoSinkInterface::setRhi(QRhi*) at /Users/qt/work/qt/qtmultimedia/src/multimedia/platform/darwin/avfvideosink.mm:162
      #18	0x0000000101bb2f40 in AVFVideoSink::setRhi(QRhi*) at /Users/qt/work/qt/qtmultimedia/src/multimedia/platform/darwin/avfvideosink.mm:75
      #19	0x0000000101b8ae94 in QVideoSink::setRhi(QRhi*) at /Users/qt/work/qt/qtmultimedia/src/multimedia/video/qvideosink.cpp:150
      #20	0x0000000101deca54 in QQuickVideoOutput::initRhiForSink() at /Users/qt/work/qt/qtmultimedia/src/multimediaquick/qquickvideooutput.cpp:411
      #21	0x0000000101dedb1c in QQuickVideoOutput::_q_sceneGraphInitialized() at /Users/qt/work/qt/qtmultimedia/src/multimediaquick/qquickvideooutput.cpp:392
      #22	0x0000000101df000c in QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (QQuickVideoOutput::*)()>::call(void (QQuickVideoOutput::*)(), QQuickVideoOutput*, void**) at /Users/qt/work/install/target/include/QtCore/qobjectdefs_impl.h:152
      #23	0x0000000101deff38 in void QtPrivate::FunctionPointer<void (QQuickVideoOutput::*)()>::call<QtPrivate::List<>, void>(void (QQuickVideoOutput::*)(), QQuickVideoOutput*, void**) at /Users/qt/work/install/target/include/QtCore/qobjectdefs_impl.h:185
      #24	0x0000000101defe28 in QtPrivate::QSlotObject<void (QQuickVideoOutput::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) at /Users/qt/work/install/target/include/QtCore/qobjectdefs_impl.h:395
      #25	0x0000000100cf52b4 in QtPrivate::QSlotObjectBase::call(QObject*, void**) at /Users/qt/work/qt/qtbase/src/corelib/kernel/qobjectdefs_impl.h:375
      #26	0x0000000100cff754 in void doActivate<false>(QObject*, int, void**) at /Users/qt/work/qt/qtbase/src/corelib/kernel/qobject.cpp:3912
      #27	0x0000000100cfe474 in QMetaObject::activate(QObject*, QMetaObject const*, int, void**) at /Users/qt/work/qt/qtbase/src/corelib/kernel/qobject.cpp:3972
      #28	0x00000001016ba07c in QQuickWindow::sceneGraphInitialized() at /Users/qt/work/qt/qtdeclarative/build/target/src/quick/Quick_autogen/include_Debug/moc_qquickwindow.cpp:562
      #29	0x00000001016b9358 in QQuickWindow::qt_static_metacall(QObject*, QMetaObject::Call, int, void**) at /Users/qt/work/qt/qtdeclarative/build/target/src/quick/Quick_autogen/include_Debug/moc_qquickwindow.cpp:282
      #30	0x0000000100cff820 in void doActivate<false>(QObject*, int, void**) at /Users/qt/work/qt/qtbase/src/corelib/kernel/qobject.cpp:3924
      #31	0x0000000100cfe474 in QMetaObject::activate(QObject*, QMetaObject const*, int, void**) at /Users/qt/work/qt/qtbase/src/corelib/kernel/qobject.cpp:3972
      #32	0x000000010176fa58 in QSGRenderContext::initialized() at /Users/qt/work/qt/qtdeclarative/build/target/src/quick/Quick_autogen/include_Debug/moc_qsgcontext_p.cpp:228
      #33	0x0000000101783ad4 in QSGDefaultRenderContext::initialize(QSGRenderContext::InitParams const*) at /Users/qt/work/qt/qtdeclarative/src/quick/scenegraph/qsgdefaultrendercontext.cpp:97
      #34	0x00000001019ab4b8 in QSGRenderThread::ensureRhi() at /Users/qt/work/qt/qtdeclarative/src/quick/scenegraph/qsgthreadedrenderloop.cpp:917
      #35	0x00000001019ab894 in QSGRenderThread::run() at /Users/qt/work/qt/qtdeclarative/src/quick/scenegraph/qsgthreadedrenderloop.cpp:973
      #36	0x0000000100ec2f0c in QThreadPrivate::start(void*)::$_0::operator()() const at /Users/qt/work/qt/qtbase/src/corelib/thread/qthread_unix.cpp:356
      #37	0x0000000100ec1d38 in void (anonymous namespace)::terminate_on_exception<QThreadPrivate::start(void*)::$_0>(QThreadPrivate::start(void*)::$_0&&) at /Users/qt/work/qt/qtbase/src/corelib/thread/qthread_unix.cpp:292
      #38	0x0000000100ec1cc4 in QThreadPrivate::start(void*) at /Users/qt/work/qt/qtbase/src/corelib/thread/qthread_unix.cpp:315
      #39	0x000000022d6689ac in _pthread_start ()
      

        Attachments

        No reviews matched the request. Check your Options in the drop-down menu of this sections header.

          Activity

            People

            Assignee:
            tpochep Timur Pocheptsov
            Reporter:
            kiibimees Lauri Laanmets
            Votes:
            1 Vote for this issue
            Watchers:
            2 Start watching this issue

              Dates

              Created:
              Updated:
              Resolved:

                Gerrit Reviews

                There is 1 open Gerrit change