- 
    
Bug
 - 
    Resolution: Fixed
 - 
    
P2: Important
 - 
    6.7.0
 
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