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

wasm: Cannot play videos due to unaligned memory access

    XMLWordPrintable

Details

    • WebAssembly

    Description

      Trying to play a video fails with unaligned memory access. Same issue in both Firefox and Chromium.

      Uncaught RuntimeError: unaligned memory access
          invoke_vii https://example.com/video/appwasm-video.js:16310
      appwasm-video.js line 683 > WebAssembly.instantiate:1061209:1
          appwasm-video.wasm.void doActivate<false>(QObject*, int, void**) https://example.com/video/appwasm-video.js line 683 > WebAssembly.instantiate:1061209
          appwasm-video.wasm.QMetaObject::activate(QObject*, QMetaObject const*, int, void**) https://example.com/video/appwasm-video.js line 683 > WebAssembly.instantiate:1111987
          appwasm-video.wasm.QWasmAudioOutput::errorOccured(int, QString const&) https://example.com/video/appwasm-video.js line 683 > WebAssembly.instantiate:11643409
          appwasm-video.wasm.std::__2::__function::__func<QWasmAudioOutput::doElementCallbacks()::$_0, std::__2::allocator<QWasmAudioOutput::doElementCallbacks()::$_0>, void (emscripten::val)>::operator()(emscripten::val&&) https://example.com/video/appwasm-video.js line 683 > WebAssembly.instantiate:11753210
          invoke_vii https://example.com/video/appwasm-video.js:16310
          appwasm-video.wasm.qstdweb::EventCallback::activate(emscripten::val) https://example.com/video/appwasm-video.js line 683 > WebAssembly.instantiate:2832452
          invoke_vi https://example.com/video/appwasm-video.js:16343
          appwasm-video.wasm.emscripten::internal::Invoker<void, emscripten::val>::invoke(void (*)(emscripten::val), emscripten::_EM_VAL*) https://example.com/video/appwasm-video.js line 683 > WebAssembly.instantiate:2791230
          anonymous https://example.com/video/appwasm-video.js line 6147 > Function:8
          (Async: EventHandlerNonNull)
          __emval_set_property https://example.com/video/appwasm-video.js:7030
          _emval_set_property https://example.com/video/appwasm-video.js line 683 > WebAssembly.instantiate:0
          invoke_viii https://example.com/video/appwasm-video.js:16354
          appwasm-video.wasm.qstdweb::EventCallback::EventCallback(emscripten::val, std::__2::basic_string<char, std::__2::char_traits<char>, std::__2::allocator<char>> const&, std::__2::function<void (emscripten::val)> const&) https://example.com/video/appwasm-video.js line 683 > WebAssembly.instantiate:2825777
          appwasm-video.wasm.QWasmAudioOutput::doElementCallbacks() https://example.com/video/appwasm-video.js line 683 > WebAssembly.instantiate:11744445
          appwasm-video.wasm.QWasmAudioOutput::setSource(QUrl const&) https://example.com/video/appwasm-video.js line 683 > WebAssembly.instantiate:11740993
          appwasm-video.wasm.QWasmMediaPlayer::setMedia(QUrl const&, QIODevice*) https://example.com/video/appwasm-video.js line 683 > WebAssembly.instantiate:11654353
          appwasm-video.wasm.non-virtual thunk to QWasmMediaPlayer::setMedia(QUrl const&, QIODevice*) https://example.com/video/appwasm-video.js line 683 > WebAssembly.instantiate:11654489
          appwasm-video.wasm.QMediaPlayerPrivate::setMedia(QUrl const&, QIODevice*) https://example.com/video/appwasm-video.js line 683 > WebAssembly.instantiate:16600796
          appwasm-video.wasm.QMediaPlayer::setSource(QUrl const&) https://example.com/video/appwasm-video.js line 683 > WebAssembly.instantiate:16604314
          appwasm-video.wasm.QQuickMediaPlayer::qmlSetSource(QUrl const&) https://example.com/video/appwasm-video.js line 683 > WebAssembly.instantiate:15268051
          appwasm-video.wasm.QQuickMediaPlayer::qt_static_metacall(QObject*, QMetaObject::Call, int, void**) https://example.com/video/appwasm-video.js line 683 > WebAssembly.instantiate:15269103
          appwasm-video.wasm.QQuickMediaPlayer::qt_metacall(QMetaObject::Call, int, void**) https://example.com/video/appwasm-video.js line 683 > WebAssembly.instantiate:15269453
          appwasm-video.wasm.QQmlPropertyPrivate::write(QObject*, QQmlPropertyData const&, QVariant const&, QQmlRefPointer<QQmlContextData> const&, QFlags<QQmlPropertyData::WriteFlag>) https://example.com/video/appwasm-video.js line 683 > WebAssembly.instantiate:5675224
          appwasm-video.wasm.QV4::QObjectWrapper::setProperty(QV4::ExecutionEngine*, QObject*, QQmlPropertyData const*, QV4::Value const&) https://example.com/video/appwasm-video.js line 683 > WebAssembly.instantiate:4041721
          appwasm-video.wasm.QV4::QObjectWrapper::setQmlProperty(QV4::ExecutionEngine*, QQmlRefPointer<QQmlContextData> const&, QObject*, QV4::String*, QFlags<QV4::QObjectWrapper::Flag>, QV4::Value const&) https://example.com/video/appwasm-video.js line 683 > WebAssembly.instantiate:4034551
          appwasm-video.wasm.QV4::QObjectWrapper::virtualPut(QV4::Managed*, QV4::PropertyKey, QV4::Value const&, QV4::Value*) https://example.com/video/appwasm-video.js line 683 > WebAssembly.instantiate:4048096
          appwasm-video.wasm.QV4::Object::virtualResolveLookupSetter(QV4::Object*, QV4::ExecutionEngine*, QV4::Lookup*, QV4::Value const&) https://example.com/video/appwasm-video.js line 683 > WebAssembly.instantiate:3900209
          appwasm-video.wasm.QV4::QObjectWrapper::virtualResolveLookupSetter(QV4::Object*, QV4::ExecutionEngine*, QV4::Lookup*, QV4::Value const&) https://example.com/video/appwasm-video.js line 683 > WebAssembly.instantiate:4053548
          appwasm-video.wasm.QV4::Lookup::setterGeneric(QV4::Lookup*, QV4::ExecutionEngine*, QV4::Value&, QV4::Value const&) https://example.com/video/appwasm-video.js line 683 > WebAssembly.instantiate:3843078
          appwasm-video.wasm.QV4::Moth::VME::interpret(QV4::JSTypesStackFrame*, QV4::ExecutionEngine*, char const*) https://example.com/video/appwasm-video.js line 683 > WebAssembly.instantiate:4545428
          appwasm-video.wasm.QV4::Moth::VME::exec(QV4::JSTypesStackFrame*, QV4::ExecutionEngine*) https://example.com/video/appwasm-video.js line 683 > WebAssembly.instantiate:4540938
          appwasm-video.wasm.QV4::doCall(QV4::Function*, QV4::Value const*, QV4::Value const*, int, QV4::ExecutionContext*) https://example.com/video/appwasm-video.js line 683 > WebAssembly.instantiate:3730037
          appwasm-video.wasm.QV4::Function::call(QV4::Value const*, QV4::Value const*, int, QV4::ExecutionContext*) https://example.com/video/appwasm-video.js line 683 > WebAssembly.instantiate:3727145
          appwasm-video.wasm.QV4::Function::call(QObject*, void**, QMetaType const*, int, QV4::ExecutionContext*) https://example.com/video/appwasm-video.js line 683 > WebAssembly.instantiate:3726111
          appwasm-video.wasm.QQmlJavaScriptExpression::evaluate(void**, QMetaType const*, int) https://example.com/video/appwasm-video.js line 683 > WebAssembly.instantiate:5336854
          appwasm-video.wasm.QQmlBoundSignalExpression::evaluate(void**) https://example.com/video/appwasm-video.js line 683 > WebAssembly.instantiate:4974709
          appwasm-video.wasm.QQmlBoundSignal_callback(QQmlNotifierEndpoint*, void**) https://example.com/video/appwasm-video.js line 683 > WebAssembly.instantiate:4975866
          appwasm-video.wasm.QQmlNotifier::emitNotify(QQmlNotifierEndpoint*, void**) https://example.com/video/appwasm-video.js line 683 > WebAssembly.instantiate:5548284
          appwasm-video.wasm.QQmlData::signalEmitted(QAbstractDeclarativeData*, QObject*, int, void**) https://example.com/video/appwasm-video.js line 683 > WebAssembly.instantiate:5138924
          appwasm-video.wasm.void doActivate<false>(QObject*, int, void**) https://example.com/video/appwasm-video.js line 683 > WebAssembly.instantiate:1061192
          appwasm-video.wasm.QMetaObject::activate(QObject*, QMetaObject const*, int, void**) https://example.com/video/appwasm-video.js line 683 > WebAssembly.instantiate:1111987
          appwasm-video.wasm.QQuickMouseArea::setPressed(Qt::MouseButton, bool, Qt::MouseEventSource) https://example.com/video/appwasm-video.js line 683 > WebAssembly.instantiate:9463098
          appwasm-video.wasm.QQuickMouseArea::mouseReleaseEvent(QMouseEvent*) https://example.com/video/appwasm-video.js line 683 > WebAssembly.instantiate:9465999
          appwasm-video.wasm.QQuickItem::event(QEvent*) https://example.com/video/appwasm-video.js line 683 > WebAssembly.instantiate:8755565
          appwasm-video.wasm.QApplicationPrivate::notify_helper(QObject*, QEvent*) https://example.com/video/appwasm-video.js line 683 > WebAssembly.instantiate:11849043
          appwasm-video.wasm.QApplication::notify(QObject*, QEvent*) https://example.com/video/appwasm-video.js line 683 > WebAssembly.instantiate:11861356
          invoke_iiii https://example.com/video/appwasm-video.js:16321
          appwasm-video.wasm.QCoreApplication::notifyInternal2(QObject*, QEvent*) https://example.com/video/appwasm-video.js line 683 > WebAssembly.instantiate:776193
          appwasm-video.wasm.QCoreApplication::sendEvent(QObject*, QEvent*) https://example.com/video/appwasm-video.js line 683 > WebAssembly.instantiate:779821
          appwasm-video.wasm.QQuickDeliveryAgentPrivate::deliverMatchingPointsToItem(QQuickItem*, bool, QPointerEvent*, bool) https://example.com/video/appwasm-video.js line 683 > WebAssembly.instantiate:8427068
          appwasm-video.wasm.QQuickDeliveryAgentPrivate::deliverUpdatedPoints(QPointerEvent*) https://example.com/video/appwasm-video.js line 683 > WebAssembly.instantiate:8407374
          appwasm-video.wasm.QQuickDeliveryAgentPrivate::deliverPointerEvent(QPointerEvent*) https://example.com/video/appwasm-video.js line 683 > WebAssembly.instantiate:8390954
          appwasm-video.wasm.QQuickDeliveryAgentPrivate::handleMouseEvent(QMouseEvent*) https://example.com/video/appwasm-video.js line 683 > WebAssembly.instantiate:8380632
          appwasm-video.wasm.QQuickDeliveryAgent::event(QEvent*) https://example.com/video/appwasm-video.js line 683 > WebAssembly.instantiate:8378943
          appwasm-video.wasm.QQuickWindow::event(QEvent*) https://example.com/video/appwasm-video.js line 683 > WebAssembly.instantiate:7257637
          appwasm-video.wasm.QQuickWindowQmlImpl::event(QEvent*) https://example.com/video/appwasm-video.js line 683 > WebAssembly.instantiate:6785761
          appwasm-video.wasm.QApplicationPrivate::notify_helper(QObject*, QEvent*) https://example.com/video/appwasm-video.js line 683 > WebAssembly.instantiate:11849043
          appwasm-video.wasm.QApplication::notify(QObject*, QEvent*) https://example.com/video/appwasm-video.js line 683 > WebAssembly.instantiate:11861356
          invoke_iiii https://example.com/video/appwasm-video.js:16321
          appwasm-video.wasm.QCoreApplication::notifyInternal2(QObject*, QEvent*) https://example.com/video/appwasm-video.js line 683 > WebAssembly.instantiate:776193
          appwasm-video.wasm.QCoreApplication::sendSpontaneousEvent(QObject*, QEvent*) https://example.com/video/appwasm-video.js line 683 > WebAssembly.instantiate:779841
          appwasm-video.wasm.QGuiApplicationPrivate::processMouseEvent(QWindowSystemInterfacePrivate::MouseEvent*) https://example.com/video/appwasm-video.js line 683 > WebAssembly.instantiate:17894953
          appwasm-video.wasm.QGuiApplicationPrivate::processWindowSystemEvent(QWindowSystemInterfacePrivate::WindowSystemEvent*) https://example.com/video/appwasm-video.js line 683 > WebAssembly.instantiate:17890533
          appwasm-video.wasm.bool QWindowSystemHelper<QWindowSystemInterface::SynchronousDelivery>::handleEvent<QWindowSystemInterfacePrivate::MouseEvent, QWindow*, unsigned long, QPointF, QPointF, QFlags<Qt::MouseButton>, QFlags<Qt::KeyboardModifier>, Qt::MouseButton, QEvent::Type, Qt::MouseEventSource, bool, QPointingDevice const*>(QWindow*, unsigned long, QPointF, QPointF, QFlags<Qt::MouseButton>, QFlags<Qt::KeyboardModifier>, Qt::MouseButton, QEvent::Type, Qt::MouseEventSource, bool, QPointingDevice const*) https://example.com/video/appwasm-video.js line 683 > WebAssembly.instantiate:18190149
          appwasm-video.wasm.bool QWindowSystemInterface::handleMouseEvent<QWindowSystemInterface::DefaultDelivery>(QWindow*, unsigned long, QPointingDevice const*, QPointF const&, QPointF const&, QFlags<Qt::MouseButton>, Qt::MouseButton, QEvent::Type, QFlags<Qt::KeyboardModifier>, Qt::MouseEventSource) https://example.com/video/appwasm-video.js line 683 > WebAssembly.instantiate:18189590
          appwasm-video.wasm.bool QWindowSystemInterface::handleMouseEvent<QWindowSystemInterface::DefaultDelivery>(QWindow*, unsigned long, QPointF const&, QPointF const&, QFlags<Qt::MouseButton>, Qt::MouseButton, QEvent::Type, QFlags<Qt::KeyboardModifier>, Qt::MouseEventSource) https://example.com/video/appwasm-video.js line 683 > WebAssembly.instantiate:18189777
          appwasm-video.wasm.ClientArea::deliverEvent(PointerEvent const&) https://example.com/video/appwasm-video.js line 683 > WebAssembly.instantiate:11579002
          appwasm-video.wasm.ClientArea::processPointer(PointerEvent const&) https://example.com/video/appwasm-video.js line 683 > WebAssembly.instantiate:11578428
          appwasm-video.wasm.std::__2::__function::__func<ClientArea::ClientArea(QWasmWindow*, QWasmScreen*, emscripten::val)::$_0, std::__2::allocator<ClientArea::ClientArea(QWasmWindow*, QWasmScreen*, emscripten::val)::$_0>, void (emscripten::val)>::operator()(emscripten::val&&) https://example.com/video/appwasm-video.js line 683 > WebAssembly.instantiate:11585576
          invoke_vii https://example.com/video/appwasm-video.js:16310
          appwasm-video.wasm.qstdweb::EventCallback::activate(emscripten::val) https://example.com/video/appwasm-video.js line 683 > WebAssembly.instantiate:2832452
          invoke_vi https://example.com/video/appwasm-video.js:16343
          appwasm-video.wasm.emscripten::internal::Invoker<void, emscripten::val>::invoke(void (*)(emscripten::val), emscripten::_EM_VAL*) https://example.com/video/appwasm-video.js line 683 > WebAssembly.instantiate:2791230
          anonymous https://example.com/video/appwasm-video.js line 6147 > Function:8
      

      Attachments

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

        Activity

          People

            lpotter Lorn Potter
            poikelin Joni Poikelin
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved:

              Gerrit Reviews

                There are no open Gerrit changes