Assertion failure uploading uniforms to WebGL from multithreaded WebAssembly program |
||||
Issue descriptionAttempting to upload a uniform value to WebGL from a multithreaded WebAssembly program results in the following assertion failure in a debug build, or a build with dcheck_always_on=true: [87532:775:1113/130013.706764:FATAL:array_buffer_view.h(59)] Check failed: !IsShared(). 0 libbase.dylib 0x000000010b9e1b1f base::debug::StackTrace::StackTrace(unsigned long) + 31 1 libbase.dylib 0x000000010b8d8f6f logging::LogMessage::~LogMessage() + 223 2 libblink_modules.dylib 0x000000011bb2e274 blink::FlexibleArrayBufferView::BaseAddressMaybeOnStack() const + 116 3 libblink_modules.dylib 0x000000011bb22050 blink::WebGL2RenderingContextBase::uniform4fv(blink::WebGLUniformLocation const*, blink::TypedFlexibleArrayBufferView<WTF::Float32Array> const&, unsigned int, unsigned int) + 48 4 libblink_modules.dylib 0x000000011b491da5 blink::webgl2_rendering_context_v8_internal::uniform4fv1Method(v8::FunctionCallbackInfo<v8::Value> const&) + 741 5 libv8.dylib 0x0000000109761319 v8::internal::FunctionCallbackArguments::Call(v8::internal::CallHandlerInfo*) + 937 6 libv8.dylib 0x000000010975fa22 v8::internal::MaybeHandle<v8::internal::Object> v8::internal::(anonymous namespace)::HandleApiCallHelper<false>(v8::internal::Isolate*, v8::internal::Handle<v8::internal::HeapObject>, v8::internal::Handle<v8::internal::HeapObject>, v8::internal::Handle<v8::internal::FunctionTemplateInfo>, v8::internal::Handle<v8::internal::Object>, v8::internal::BuiltinArguments) + 978 7 libv8.dylib 0x000000010975e10a v8::internal::Builtin_Impl_HandleApiCall(v8::internal::BuiltinArguments, v8::internal::Isolate*) + 554 8 libv8.dylib 0x000000010975dcaa v8::internal::Builtin_HandleApiCall(int, unsigned long*, v8::internal::Isolate*) + 122 9 libv8.dylib 0x000000010a5ce892 v8_Default_embedded_blob_ + 2903506 FlexibleArrayBuffer must allow shared ArrayBuffers. The WebIDL should also be changed to use AllowShared where FlexibleArrayBuffer is used, though it seems the AllowShared checks aren't catching this.
,
Nov 14
lgtm, thanks!
,
Nov 14
,
Nov 14
Fixed. Filed follow-on bug about enforcing and testing the AllowShared extended Web IDL attribute.
,
Nov 14
|
||||
►
Sign in to add a comment |
||||
Comment 1 by bugdroid1@chromium.org
, Nov 14