Closed Bug 1591579 Opened 2 years ago Closed 2 years ago

XHR fetch from SharedWorker returns null response when responseType set to 'blob'

Categories

(Core :: DOM: Workers, defect)

71 Branch
defect
Not set
normal

Tracking

()

RESOLVED FIXED
mozilla72
Tracking Status
firefox72 --- fixed

People

(Reporter: piotr, Assigned: baku)

Details

Attachments

(8 files)

User Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/77.0.3865.120 Safari/537.36

Steps to reproduce:

Visit https://reviewable.io/reviews/reviewable/demo/1 using Firefox 71, and scroll down to a file. This issues an XHR request to github.com from within a SharedWorker, with responseType set to blob.

Actual results:

Instead of the file contents you'll see an error "TypeError: Argument 1 of FileReaderSync.readAsText is not an object.". Poking around with the debugger, it appears that the XHR is coming back with the response property set to null (which readAsText then chokes on) even though the response is 200 - OK.

Expected results:

The XHR should have had the response set to a blob object. Observe that the same page works fine in Chrome, in versions of Firefox <=70, and in Firefox 71 if you append ?debug=workers to the URL to force the site to use plain WebWorkers instead of SharedWorkers. The XHR also works fine in Firefox 71 if I remove the responseType and use responseText to access the file contents, so it's really the specific combination of SharedWorker and blob responseType that seems to have regressed.

Component: Untriaged → DOM: Core & HTML
Product: Firefox → Core

I was thinking this may be a DOM: Networking issue. However, as it seems an issue with the specific combination of SharedWorker and blob responseType, DOM: Worker component can be a better fit? Kershaw, could you please help me confirm which is the right component? Thank you.

Component: DOM: Core & HTML → DOM: Workers
Flags: needinfo?(kershaw)

This is a regression of bug 1585284. I take this bug.

Assignee: nobody → amarchesini
Flags: needinfo?(kershaw)

We must get an automated test here.

I need some explanation here or IRC before reviewing.

Is there anything simpler we could do on beta? (even though overall I do like the approach)

(In reply to Olli Pettay [:smaug] from comment #8)

I need some explanation here or IRC before reviewing.

Was there an explanation on IRC that can be pasted in here or included in the commit messages or something like that?

Pushed by amarchesini@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/299bd59f790d
XHR creates the Blob response only at the first GetResponse() call, r=smaug
https://hg.mozilla.org/integration/autoland/rev/97732c922fb5
XHR uses a ref-counted ArrayBufferBuilder, r=smaug
https://hg.mozilla.org/integration/autoland/rev/1b33ca1c22a7
XHR-MainThread exposes a set of methods to retrieve response values for workers, r=smaug
https://hg.mozilla.org/integration/autoland/rev/891a7037f2ac
XMLWorker takes data from XMLMainThread without calling GetResponse(), r=smaug
https://hg.mozilla.org/integration/autoland/rev/e5dff8a0b369
Test for XHR on sharedWorkers, r=smaug
https://hg.mozilla.org/integration/autoland/rev/a6a3816ce90a
XHR ArrayBufferBuilder needs to have a refcounted buffer handling, r=smaug
Flags: needinfo?(amarchesini)
Pushed by amarchesini@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/ca31ccb7a42a
XHR creates the Blob response only at the first GetResponse() call, r=smaug
https://hg.mozilla.org/integration/autoland/rev/150606f7639b
XHR uses a ref-counted ArrayBufferBuilder, r=smaug
https://hg.mozilla.org/integration/autoland/rev/1f0a3434af2b
XHR-MainThread exposes a set of methods to retrieve response values for workers, r=smaug
https://hg.mozilla.org/integration/autoland/rev/f887657889ad
XMLWorker takes data from XMLMainThread without calling GetResponse(), r=smaug
https://hg.mozilla.org/integration/autoland/rev/0b036738dcc8
Test for XHR on sharedWorkers, r=smaug
https://hg.mozilla.org/integration/autoland/rev/188e5fcabf09
XHR ArrayBufferBuilder needs to have a refcounted buffer handling, r=smaug
Backout by csabou@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/d099cb0fcee3
Backed out 6 changesets for causing crashes @mozilla::dom::ArrayBufferBuilder::GetArrayBuffer. CLOSED TREE

Push with failures: https://treeherder.mozilla.org/#/jobs?repo=autoland&resultStatus=testfailed%2Cbusted%2Cexception&revision=188e5fcabf098202592d97da5e8f9366c8df5c62&selectedJob=273870894

Failure log: https://treeherder.mozilla.org/logviewer.html#?job_id=273870894&repo=autoland

Backout link: https://hg.mozilla.org/integration/autoland/rev/d099cb0fcee3

[task 2019-10-31T11:10:56.832Z] 11:10:56 INFO - PROCESS-CRASH | dom/base/test/test_bug1008126.html | application crashed [@ mozilla::dom::ArrayBufferBuilder::GetArrayBuffer(JSContext*)]
[task 2019-10-31T11:10:56.833Z] 11:10:56 INFO - Crash dump filename: /var/folders/l6/_c96mp7x5gvbpmlgsx5qx004000017/T/tmpKHsu79.mozrunner/minidumps/372305A3-07C8-4C17-A3AD-74C9905C21AC.dmp
[task 2019-10-31T11:10:56.833Z] 11:10:56 INFO - Operating system: Mac OS X
[task 2019-10-31T11:10:56.833Z] 11:10:56 INFO - 10.14.5 18F132
[task 2019-10-31T11:10:56.833Z] 11:10:56 INFO - CPU: amd64
[task 2019-10-31T11:10:56.833Z] 11:10:56 INFO - family 6 model 69 stepping 1
[task 2019-10-31T11:10:56.833Z] 11:10:56 INFO - 4 CPUs
[task 2019-10-31T11:10:56.833Z] 11:10:56 INFO -
[task 2019-10-31T11:10:56.833Z] 11:10:56 INFO - GPU: UNKNOWN
[task 2019-10-31T11:10:56.833Z] 11:10:56 INFO -
[task 2019-10-31T11:10:56.833Z] 11:10:56 INFO - Crash reason: EXC_BAD_ACCESS / KERN_INVALID_ADDRESS
[task 2019-10-31T11:10:56.833Z] 11:10:56 INFO - Crash address: 0x0
[task 2019-10-31T11:10:56.833Z] 11:10:56 INFO - Process uptime: 21 seconds
[task 2019-10-31T11:10:56.833Z] 11:10:56 INFO -
[task 2019-10-31T11:10:56.833Z] 11:10:56 INFO - Thread 52 (crashed)
[task 2019-10-31T11:10:56.833Z] 11:10:56 INFO - 0 XUL!mozilla::dom::ArrayBufferBuilder::GetArrayBuffer(JSContext*) [XMLHttpRequestMainThread.cpp:188e5fcabf098202592d97da5e8f9366c8df5c62 : 3809 + 0x29]
[task 2019-10-31T11:10:56.833Z] 11:10:56 INFO - rax = 0x000000010fa596be rdx = 0x0000000000000000
[task 2019-10-31T11:10:56.833Z] 11:10:56 INFO - rcx = 0x000000010752f158 rbx = 0x000000011b33bc10
[task 2019-10-31T11:10:56.833Z] 11:10:56 INFO - rsi = 0x00000000000120a8 rdi = 0x00007fffae325028
[task 2019-10-31T11:10:56.833Z] 11:10:56 INFO - rbp = 0x00007000087471a0 rsp = 0x0000700008747170
[task 2019-10-31T11:10:56.833Z] 11:10:56 INFO - r8 = 0x00000000000130a8 r9 = 0x00007fffae325048
[task 2019-10-31T11:10:56.833Z] 11:10:56 INFO - r10 = 0x0000000000000000 r11 = 0x00007fffae325040
[task 2019-10-31T11:10:56.833Z] 11:10:56 INFO - r12 = 0x0000700008747240 r13 = 0x0000000124faf230
[task 2019-10-31T11:10:56.833Z] 11:10:56 INFO - r14 = 0x000000011b33bc18 r15 = 0x00000001277e6000
[task 2019-10-31T11:10:56.833Z] 11:10:56 INFO - rip = 0x000000010b8ecb5b
[task 2019-10-31T11:10:56.833Z] 11:10:56 INFO - Found by: given as instruction pointer in context
[task 2019-10-31T11:10:56.833Z] 11:10:56 INFO - 1 XUL!mozilla::dom::XMLHttpRequestWorker::GetResponse(JSContext*, JS::MutableHandle<JS::Value>, mozilla::ErrorResult&) [XMLHttpRequestWorker.cpp:188e5fcabf098202592d97da5e8f9366c8df5c62 : 2206 + 0x8]
[task 2019-10-31T11:10:56.834Z] 11:10:56 INFO - rbp = 0x0000700008747210 rsp = 0x00007000087471b0
[task 2019-10-31T11:10:56.834Z] 11:10:56 INFO - rip = 0x000000010b904cea
[task 2019-10-31T11:10:56.834Z] 11:10:56 INFO - Found by: previous frame's frame pointer
[task 2019-10-31T11:10:56.834Z] 11:10:56 INFO - 2 XUL!mozilla::dom::XMLHttpRequest_Binding::get_response(JSContext*, JS::Handle<JSObject*>, mozilla::dom::XMLHttpRequest*, JSJitGetterCallArgs) [XMLHttpRequestBinding.cpp: : 1690 + 0x16]
[task 2019-10-31T11:10:56.834Z] 11:10:56 INFO - rbp = 0x00007000087472b0 rsp = 0x0000700008747220
[task 2019-10-31T11:10:56.834Z] 11:10:56 INFO - rip = 0x000000010a3348cc
[task 2019-10-31T11:10:56.834Z] 11:10:56 INFO - Found by: previous frame's frame pointer
[task 2019-10-31T11:10:56.834Z] 11:10:56 INFO - 3 XUL!bool mozilla::dom::binding_detail::GenericGetter<mozilla::dom::binding_detail::NormalThisPolicy, mozilla::dom::binding_detail::ThrowExceptions>(JSContext*, unsigned int, JS::Value*) [BindingUtils.cpp:188e5fcabf098202592d97da5e8f9366c8df5c62 : 3100 + 0x18]
[task 2019-10-31T11:10:56.834Z] 11:10:56 INFO - rbp = 0x0000700008747360 rsp = 0x00007000087472c0
[task 2019-10-31T11:10:56.834Z] 11:10:56 INFO - rip = 0x000000010a85d1b3
[task 2019-10-31T11:10:56.834Z] 11:10:56 INFO - Found by: previous frame's frame pointer
[task 2019-10-31T11:10:56.834Z] 11:10:56 INFO - 4 XUL!CallJSNative(JSContext*, bool ()(JSContext, unsigned int, JS::Value*), js::CallReason, JS::CallArgs const&) [Interpreter.cpp:188e5fcabf098202592d97da5e8f9366c8df5c62 : 456 + 0x12]
[task 2019-10-31T11:10:56.834Z] 11:10:56 INFO - rbp = 0x00007000087473f0 rsp = 0x0000700008747370
[task 2019-10-31T11:10:56.834Z] 11:10:56 INFO - rip = 0x000000010d5b29c9
[task 2019-10-31T11:10:56.834Z] 11:10:56 INFO - Found by: previous frame's frame pointer
[task 2019-10-31T11:10:56.834Z] 11:10:56 INFO - 5 XUL!js::InternalCallOrConstruct(JSContext*, JS::CallArgs const&, js::MaybeConstruct, js::CallReason) [Interpreter.cpp:188e5fcabf098202592d97da5e8f9366c8df5c62 : 548 + 0xb]
[task 2019-10-31T11:10:56.834Z] 11:10:56 INFO - rbp = 0x0000700008747490 rsp = 0x0000700008747400
[task 2019-10-31T11:10:56.834Z] 11:10:56 INFO - rip = 0x000000010d5b21cd
[task 2019-10-31T11:10:56.834Z] 11:10:56 INFO - Found by: previous frame's frame pointer
[task 2019-10-31T11:10:56.834Z] 11:10:56 INFO - 6 XUL!js::CallGetter(JSContext*, JS::Handle<JS::Value>, JS::Handle<JS::Value>, JS::MutableHandle<JS::Value>) [Interpreter.cpp:188e5fcabf098202592d97da5e8f9366c8df5c62 : 758 + 0x2b]
[task 2019-10-31T11:10:56.834Z] 11:10:56 INFO - rbp = 0x0000700008747520 rsp = 0x00007000087474a0
[task 2019-10-31T11:10:56.834Z] 11:10:56 INFO - rip = 0x000000010d5b42a7
[task 2019-10-31T11:10:56.834Z] 11:10:56 INFO - Found by: previous frame's frame pointer
[task 2019-10-31T11:10:56.834Z] 11:10:56 INFO - 7 XUL!bool GetExistingProperty<(js::AllowGC)1>(JSContext*, js::MaybeRooted<JS::Value, (js::AllowGC)1>::HandleType, js::MaybeRooted<js::NativeObject*, (js::AllowGC)1>::HandleType, js::MaybeRooted<js::Shape*, (js::AllowGC)1>::HandleType, js::MaybeRooted<JS::Value, (js::AllowGC)1>::MutableHandleType) [NativeObject.cpp:188e5fcabf098202592d97da5e8f9366c8df5c62 : 2331 + 0x55]
[task 2019-10-31T11:10:56.834Z] 11:10:56 INFO - rbp = 0x00007000087475b0 rsp = 0x0000700008747530
[task 2019-10-31T11:10:56.835Z] 11:10:56 INFO - rip = 0x000000010d9430b5
[task 2019-10-31T11:10:56.835Z] 11:10:56 INFO - Found by: previous frame's frame pointer
[task 2019-10-31T11:10:56.835Z] 11:10:56 INFO - 8 XUL!bool NativeGetPropertyInline<(js::AllowGC)1>(JSContext*, js::MaybeRooted<js::NativeObject*, (js::AllowGC)1>::HandleType, js::MaybeRooted<JS::Value, (js::AllowGC)1>::HandleType, js::MaybeRooted<JS::PropertyKey, (js::AllowGC)1>::HandleType, IsNameLookup, js::MaybeRooted<JS::Value, (js::AllowGC)1>::MutableHandleType) [NativeObject.cpp:188e5fcabf098202592d97da5e8f9366c8df5c62 : 2591 + 0x19]
[task 2019-10-31T11:10:56.835Z] 11:10:56 INFO - rbp = 0x0000700008747690 rsp = 0x00007000087475c0
[task 2019-10-31T11:10:56.835Z] 11:10:56 INFO - rip = 0x000000010d94400b
[task 2019-10-31T11:10:56.835Z] 11:10:56 INFO - Found by: previous frame's frame pointer
[task 2019-10-31T11:10:56.835Z] 11:10:56 INFO - 9 XUL!js::GetProperty(JSContext*, JS::Handle<JSObject*>, JS::Handle<JS::Value>, js::PropertyName*, JS::MutableHandle<JS::Value>) [ObjectOperations-inl.h:188e5fcabf098202592d97da5e8f9366c8df5c62 : 124 + 0x1c]
[task 2019-10-31T11:10:56.835Z] 11:10:56 INFO - rbp = 0x0000700008747700 rsp = 0x00007000087476a0
[task 2019-10-31T11:10:56.835Z] 11:10:56 INFO - rip = 0x000000010d82d0ac
[task 2019-10-31T11:10:56.835Z] 11:10:56 INFO - Found by: previous frame's frame pointer
[task 2019-10-31T11:10:56.835Z] 11:10:56 INFO - 10 XUL!js::GetProperty(JSContext*, JS::Handle<JS::Value>, JS::Handle<js::PropertyName*>, JS::MutableHandle<JS::Value>) [Interpreter.cpp:188e5fcabf098202592d97da5e8f9366c8df5c62 : 4539 + 0x12]
[task 2019-10-31T11:10:56.835Z] 11:10:56 INFO - rbp = 0x0000700008747790 rsp = 0x0000700008747710
[task 2019-10-31T11:10:56.835Z] 11:10:56 INFO - rip = 0x000000010d5b7d79
[task 2019-10-31T11:10:56.835Z] 11:10:56 INFO - Found by: previous frame's frame pointer
[task 2019-10-31T11:10:56.835Z] 11:10:56 INFO - 11 XUL!Interpret(JSContext*, js::RunState&) [Interpreter.cpp:188e5fcabf098202592d97da5e8f9366c8df5c62 : 2795 + 0x34e]
[task 2019-10-31T11:10:56.835Z] 11:10:56 INFO - rbp = 0x0000700008747d30 rsp = 0x00007000087477a0
[task 2019-10-31T11:10:56.835Z] 11:10:56 INFO - rip = 0x000000010d5a4580
[task 2019-10-31T11:10:56.835Z] 11:10:56 INFO - Found by: previous frame's frame pointer
[task 2019-10-31T11:10:56.835Z] 11:10:56 INFO - 12 XUL!js::RunScript(JSContext*, js::RunState&) [Interpreter.cpp:188e5fcabf098202592d97da5e8f9366c8df5c62 : 423 + 0xb]
[task 2019-10-31T11:10:56.835Z] 11:10:56 INFO - rbp = 0x0000700008747d90 rsp = 0x0000700008747d40
[task 2019-10-31T11:10:56.835Z] 11:10:56 INFO - rip = 0x000000010d59cfa2
[task 2019-10-31T11:10:56.835Z] 11:10:56 INFO - Found by: previous frame's frame pointer
[task 2019-10-31T11:10:56.835Z] 11:10:56 INFO - 13 XUL!js::InternalCallOrConstruct(JSContext*, JS::CallArgs const&, js::MaybeConstruct, js::CallReason) [Interpreter.cpp:188e5fcabf098202592d97da5e8f9366c8df5c62 : 589 + 0x8]
[task 2019-10-31T11:10:56.835Z] 11:10:56 INFO - rbp = 0x0000700008747e30 rsp = 0x0000700008747da0
[task 2019-10-31T11:10:56.835Z] 11:10:56 INFO - rip = 0x000000010d5b21ed
[task 2019-10-31T11:10:56.835Z] 11:10:56 INFO - Found by: previous frame's frame pointer
[task 2019-10-31T11:10:56.836Z] 11:10:56 INFO - 14 XUL!<name omitted> [Interpreter.cpp:188e5fcabf098202592d97da5e8f9366c8df5c62 : 634 + 0xb]
[task 2019-10-31T11:10:56.836Z] 11:10:56 INFO - rbp = 0x0000700008747e50 rsp = 0x0000700008747e40
[task 2019-10-31T11:10:56.836Z] 11:10:56 INFO - rip = 0x000000010d5b3330
[task 2019-10-31T11:10:56.836Z] 11:10:56 INFO - Found by: previous frame's frame pointer
[task 2019-10-31T11:10:56.836Z] 11:10:56 INFO - 15 XUL!JS::Call(JSContext*, JS::Handle<JS::Value>, JS::Handle<JS::Value>, JS::HandleValueArray const&, JS::MutableHandle<JS::Value>) [jsapi.cpp:188e5fcabf098202592d97da5e8f9366c8df5c62 : 2702 + 0x1f]
[task 2019-10-31T11:10:56.836Z] 11:10:56 INFO - rbp = 0x0000700008747fb0 rsp = 0x0000700008747e60
[task 2019-10-31T11:10:56.836Z] 11:10:56 INFO - rip = 0x000000010d6abc42
[task 2019-10-31T11:10:56.836Z] 11:10:56 INFO - Found by: previous frame's frame pointer
[task 2019-10-31T11:10:56.836Z] 11:10:56 INFO - 16 XUL!mozilla::dom::EventHandlerNonNull::Call(JSContext*, JS::Handle<JS::Value>, mozilla::dom::Event&, JS::MutableHandle<JS::Value>, mozilla::ErrorResult&) [EventHandlerBinding.cpp: : 267 + 0x19]
[task 2019-10-31T11:10:56.836Z] 11:10:56 INFO - rbp = 0x0000700008748140 rsp = 0x0000700008747fc0
[task 2019-10-31T11:10:56.836Z] 11:10:56 INFO - rip = 0x000000010a499132
[task 2019-10-31T11:10:56.836Z] 11:10:56 INFO - Found by: previous frame's frame pointer
[task 2019-10-31T11:10:56.836Z] 11:10:56 INFO - 17 XUL!void mozilla::dom::EventHandlerNonNull::Call<nsCOMPtr<mozilla::dom::EventTarget> >(nsCOMPtr<mozilla::dom::EventTarget> const&, mozilla::dom::Event&, JS::MutableHandle<JS::Value>, mozilla::ErrorResult&, char const*, mozilla::dom::CallbackObject::ExceptionHandling, JS::Realm*) [EventHandlerBinding.h: : 364 + 0x23]
[task 2019-10-31T11:10:56.836Z] 11:10:56 INFO - rbp = 0x0000700008748380 rsp = 0x0000700008748150
[task 2019-10-31T11:10:56.836Z] 11:10:56 INFO - rip = 0x000000010abf66d9
[task 2019-10-31T11:10:56.836Z] 11:10:56 INFO - Found by: previous frame's frame pointer
[task 2019-10-31T11:10:56.836Z] 11:10:56 INFO - 18 XUL!mozilla::JSEventHandler::HandleEvent(mozilla::dom::Event*) [JSEventHandler.cpp:188e5fcabf098202592d97da5e8f9366c8df5c62 : 205 + 0x19]
[task 2019-10-31T11:10:56.836Z] 11:10:56 INFO - rbp = 0x0000700008748520 rsp = 0x0000700008748390
[task 2019-10-31T11:10:56.836Z] 11:10:56 INFO - rip = 0x000000010abf5786
[task 2019-10-31T11:10:56.836Z] 11:10:56 INFO - Found by: previous frame's frame pointer
[task 2019-10-31T11:10:56.836Z] 11:10:56 INFO - 19 XUL!mozilla::EventListenerManager::HandleEventSubType(mozilla::EventListenerManager::Listener*, mozilla::dom::Event*, mozilla::dom::EventTarget*) [EventListenerManager.cpp:188e5fcabf098202592d97da5e8f9366c8df5c62 : 1039 + 0xd]
[task 2019-10-31T11:10:56.836Z] 11:10:56 INFO - rbp = 0x00007000087485b0 rsp = 0x0000700008748530
[task 2019-10-31T11:10:56.836Z] 11:10:56 INFO - rip = 0x000000010abd7cdf
[task 2019-10-31T11:10:56.836Z] 11:10:56 INFO - Found by: previous frame's frame pointer
[task 2019-10-31T11:10:56.837Z] 11:10:56 INFO - 20 XUL!mozilla::EventListenerManager::HandleEventInternal(nsPresContext*, mozilla::WidgetEvent*, mozilla::dom::Event**, mozilla::dom::EventTarget*, nsEventStatus*, bool) [EventListenerManager.cpp:188e5fcabf098202592d97da5e8f9366c8df5c62 : 1231 + 0x15]
[task 2019-10-31T11:10:56.837Z] 11:10:56 INFO - rbp = 0x0000700008748790 rsp = 0x00007000087485c0
[task 2019-10-31T11:10:56.837Z] 11:10:56 INFO - rip = 0x000000010abd89fa
[task 2019-10-31T11:10:56.837Z] 11:10:56 INFO - Found by: previous frame's frame pointer
[task 2019-10-31T11:10:56.837Z] 11:10:56 INFO - 21 XUL!mozilla::EventTargetChainItem::HandleEvent(mozilla::EventChainPostVisitor&, mozilla::ELMCreationDetector&) [EventDispatcher.cpp:188e5fcabf098202592d97da5e8f9366c8df5c62 : 349 + 0xb]
[task 2019-10-31T11:10:56.837Z] 11:10:56 INFO - rbp = 0x00007000087487d0 rsp = 0x00007000087487a0
[task 2019-10-31T11:10:56.837Z] 11:10:56 INFO - rip = 0x000000010abcd017
[task 2019-10-31T11:10:56.837Z] 11:10:56 INFO - Found by: previous frame's frame pointer
[task 2019-10-31T11:10:56.837Z] 11:10:56 INFO - 22 XUL!mozilla::EventTargetChainItem::HandleEventTargetChain(nsTArray<mozilla::EventTargetChainItem>&, mozilla::EventChainPostVisitor&, mozilla::EventDispatchingCallback*, mozilla::ELMCreationDetector&) [EventDispatcher.cpp:188e5fcabf098202592d97da5e8f9366c8df5c62 : 551 + 0x12]
[task 2019-10-31T11:10:56.837Z] 11:10:56 INFO - rbp = 0x00007000087488f0 rsp = 0x00007000087487e0
[task 2019-10-31T11:10:56.837Z] 11:10:56 INFO - rip = 0x000000010abcc63e
[task 2019-10-31T11:10:56.837Z] 11:10:56 INFO - Found by: previous frame's frame pointer
[task 2019-10-31T11:10:56.837Z] 11:10:56 INFO - 23 XUL!mozilla::EventDispatcher::Dispatch(nsISupports*, nsPresContext*, mozilla::WidgetEvent*, mozilla::dom::Event*, nsEventStatus*, mozilla::EventDispatchingCallback*, nsTArray<mozilla::dom::EventTarget*>) [EventDispatcher.cpp:188e5fcabf098202592d97da5e8f9366c8df5c62 : 1049 + 0x5]
[task 2019-10-31T11:10:56.837Z] 11:10:56 INFO - rbp = 0x0000700008748c30 rsp = 0x0000700008748900
[task 2019-10-31T11:10:56.837Z] 11:10:56 INFO - rip = 0x000000010abcf400
[task 2019-10-31T11:10:56.837Z] 11:10:56 INFO - Found by: previous frame's frame pointer
[task 2019-10-31T11:10:56.837Z] 11:10:56 INFO - 24 XUL!mozilla::EventDispatcher::DispatchDOMEvent(nsISupports
, mozilla::WidgetEvent*, mozilla::dom::Event*, nsPresContext*, nsEventStatus*) [EventDispatcher.cpp:188e5fcabf098202592d97da5e8f9366c8df5c62 : 0 + 0x8]
[task 2019-10-31T11:10:56.837Z] 11:10:56 INFO - rbp = 0x0000700008748c80 rsp = 0x0000700008748c40
[task 2019-10-31T11:10:56.837Z] 11:10:56 INFO - rip = 0x000000010abd2175
[task 2019-10-31T11:10:56.837Z] 11:10:56 INFO - Found by: previous frame's frame pointer
[task 2019-10-31T11:10:56.837Z] 11:10:56 INFO - 25 XUL!mozilla::DOMEventTargetHelper::DispatchEvent(mozilla::dom::Event&, mozilla::dom::CallerType, mozilla::ErrorResult&) [DOMEventTargetHelper.cpp:188e5fcabf098202592d97da5e8f9366c8df5c62 : 166 + 0xc]
[task 2019-10-31T11:10:56.837Z] 11:10:56 INFO - rbp = 0x0000700008748cc0 rsp = 0x0000700008748c90
[task 2019-10-31T11:10:56.837Z] 11:10:56 INFO - rip = 0x000000010abb08ed
[task 2019-10-31T11:10:56.837Z] 11:10:56 INFO - Found by: previous frame's frame pointer
[task 2019-10-31T11:10:56.838Z] 11:10:56 INFO - 26 XUL!mozilla::dom::EventTarget::DispatchEvent(mozilla::dom::Event&) [EventTarget.cpp:188e5fcabf098202592d97da5e8f9366c8df5c62 : 178 + 0x33]
[task 2019-10-31T11:10:56.838Z] 11:10:56 INFO - rbp = 0x0000700008748d10 rsp = 0x0000700008748cd0
[task 2019-10-31T11:10:56.838Z] 11:10:56 INFO - rip = 0x000000010abde634
[task 2019-10-31T11:10:56.838Z] 11:10:56 INFO - Found by: previous frame's frame pointer
[task 2019-10-31T11:10:56.838Z] 11:10:56 INFO - 27 XUL!mozilla::dom::MessageEventRunnable::DispatchDOMEvent(JSContext*, mozilla::dom::WorkerPrivate*, mozilla::DOMEventTargetHelper*, bool) [MessageEventRunnable.cpp:188e5fcabf098202592d97da5e8f9366c8df5c62 : 102 + 0xb]
[task 2019-10-31T11:10:56.838Z] 11:10:56 INFO - rbp = 0x0000700008748e00 rsp = 0x0000700008748d20
[task 2019-10-31T11:10:56.838Z] 11:10:56 INFO - rip = 0x000000010b6f79a8
[task 2019-10-31T11:10:56.838Z] 11:10:56 INFO - Found by: previous frame's frame pointer
[task 2019-10-31T11:10:56.838Z] 11:10:56 INFO - 28 XUL!mozilla::dom::MessageEventRunnable::WorkerRun(JSContext*, mozilla::dom::WorkerPrivate*) [MessageEventRunnable.cpp:188e5fcabf098202592d97da5e8f9366c8df5c62 : 137 + 0x5e]
[task 2019-10-31T11:10:56.838Z] 11:10:56 INFO - rbp = 0x0000700008748e60 rsp = 0x0000700008748e10
[task 2019-10-31T11:10:56.838Z] 11:10:56 INFO - rip = 0x000000010b6f8041
[task 2019-10-31T11:10:56.838Z] 11:10:56 INFO - Found by: previous frame's frame pointer
[task 2019-10-31T11:10:56.838Z] 11:10:56 INFO - 29 XUL!mozilla::dom::WorkerRunnable::Run() [WorkerRunnable.cpp:188e5fcabf098202592d97da5e8f9366c8df5c62 : 369 + 0x11]
[task 2019-10-31T11:10:56.838Z] 11:10:56 INFO - rbp = 0x0000700008749000 rsp = 0x0000700008748e70
[task 2019-10-31T11:10:56.838Z] 11:10:56 INFO - rip = 0x000000010b742339
[task 2019-10-31T11:10:56.838Z] 11:10:56 INFO - Found by: previous frame's frame pointer
[task 2019-10-31T11:10:56.838Z] 11:10:56 INFO - 30 XUL!nsThread::ProcessNextEvent(bool, bool*) [nsThread.cpp:188e5fcabf098202592d97da5e8f9366c8df5c62 : 1225 + 0x6]
[task 2019-10-31T11:10:56.838Z] 11:10:56 INFO - rbp = 0x0000700008749550 rsp = 0x0000700008749010
[task 2019-10-31T11:10:56.838Z] 11:10:56 INFO - rip = 0x0000000107c57a5a
[task 2019-10-31T11:10:56.838Z] 11:10:56 INFO - Found by: previous frame's frame pointer
[task 2019-10-31T11:10:56.838Z] 11:10:56 INFO - 31 XUL!NS_ProcessNextEvent(nsIThread*, bool) [nsThreadUtils.cpp:188e5fcabf098202592d97da5e8f9366c8df5c62 : 486 + 0xd]
[task 2019-10-31T11:10:56.838Z] 11:10:56 INFO - rbp = 0x0000700008749580 rsp = 0x0000700008749560
[task 2019-10-31T11:10:56.838Z] 11:10:56 INFO - rip = 0x0000000107c5c4dc
[task 2019-10-31T11:10:56.838Z] 11:10:56 INFO - Found by: previous frame's frame pointer
[task 2019-10-31T11:10:56.839Z] 11:10:56 INFO - 32 XUL!mozilla::dom::WorkerPrivate::DoRunLoop(JSContext*) [WorkerPrivate.cpp:188e5fcabf098202592d97da5e8f9366c8df5c62 : 2872 + 0x10]
[task 2019-10-31T11:10:56.839Z] 11:10:56 INFO - rbp = 0x0000700008749690 rsp = 0x0000700008749590
[task 2019-10-31T11:10:56.839Z] 11:10:56 INFO - rip = 0x000000010b731968
[task 2019-10-31T11:10:56.839Z] 11:10:56 INFO - Found by: previous frame's frame pointer
[task 2019-10-31T11:10:56.839Z] 11:10:56 INFO - 33 XUL!mozilla::dom::workerinternals::(anonymous namespace)::WorkerThreadPrimaryRunnable::Run() [RuntimeService.cpp:188e5fcabf098202592d97da5e8f9366c8df5c62 : 2330 + 0xc]
[task 2019-10-31T11:10:56.839Z] 11:10:56 INFO - rbp = 0x0000700008749880 rsp = 0x00007000087496a0
[task 2019-10-31T11:10:56.839Z] 11:10:56 INFO - rip = 0x000000010b7109c6
[task 2019-10-31T11:10:56.839Z] 11:10:56 INFO - Found by: previous frame's frame pointer
[task 2019-10-31T11:10:56.839Z] 11:10:56 INFO - 34 XUL!nsThread::ProcessNextEvent(bool, bool*) [nsThread.cpp:188e5fcabf098202592d97da5e8f9366c8df5c62 : 1225 + 0x6]
[task 2019-10-31T11:10:56.839Z] 11:10:56 INFO - rbp = 0x0000700008749dd0 rsp = 0x0000700008749890
[task 2019-10-31T11:10:56.839Z] 11:10:56 INFO - rip = 0x0000000107c57a5a
[task 2019-10-31T11:10:56.839Z] 11:10:56 INFO - Found by: previous frame's frame pointer
[task 2019-10-31T11:10:56.839Z] 11:10:56 INFO - 35 XUL!NS_ProcessNextEvent(nsIThread*, bool) [nsThreadUtils.cpp:188e5fcabf098202592d97da5e8f9366c8df5c62 : 486 + 0xd]
[task 2019-10-31T11:10:56.839Z] 11:10:56 INFO - rbp = 0x0000700008749e00 rsp = 0x0000700008749de0
[task 2019-10-31T11:10:56.839Z] 11:10:56 INFO - rip = 0x0000000107c5c4dc
[task 2019-10-31T11:10:56.839Z] 11:10:56 INFO - Found by: previous frame's frame pointer
[task 2019-10-31T11:10:56.839Z] 11:10:56 INFO - 36 XUL!mozilla::ipc::MessagePumpForNonMainThreads::Run(base::MessagePump::Delegate*) [MessagePump.cpp:188e5fcabf098202592d97da5e8f9366c8df5c62 : 333 + 0xd]

Flags: needinfo?(amarchesini)
Pushed by amarchesini@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/f4bcdcefe2d1
XHR creates the Blob response only at the first GetResponse() call, r=smaug
https://hg.mozilla.org/integration/autoland/rev/9d525c1c558d
XHR uses a ref-counted ArrayBufferBuilder, r=smaug
https://hg.mozilla.org/integration/autoland/rev/dfb0fcebe51e
XHR-MainThread exposes a set of methods to retrieve response values for workers, r=smaug
https://hg.mozilla.org/integration/autoland/rev/d7c095dce497
XMLWorker takes data from XMLMainThread without calling GetResponse(), r=smaug
https://hg.mozilla.org/integration/autoland/rev/b19e6eba3b12
Test for XHR on sharedWorkers, r=smaug
https://hg.mozilla.org/integration/autoland/rev/4a228aa6e526
XHR ArrayBufferBuilder needs to have a refcounted buffer handling, r=smaug
https://hg.mozilla.org/integration/autoland/rev/9a1cf12c3de1
Retrieve the XHR response values only when needed, r=smaug
Flags: needinfo?(amarchesini)
Flags: needinfo?(amarchesini)
Pushed by amarchesini@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/913363f08996
XHR creates the Blob response only at the first GetResponse() call, r=smaug
https://hg.mozilla.org/integration/autoland/rev/6a0f2be5eb86
XHR uses a ref-counted ArrayBufferBuilder, r=smaug
https://hg.mozilla.org/integration/autoland/rev/1c6bf9d74673
XHR-MainThread exposes a set of methods to retrieve response values for workers, r=smaug
https://hg.mozilla.org/integration/autoland/rev/a9882ac700f6
XMLWorker takes data from XMLMainThread without calling GetResponse(), r=smaug
https://hg.mozilla.org/integration/autoland/rev/0bc02f876645
Test for XHR on sharedWorkers, r=smaug
https://hg.mozilla.org/integration/autoland/rev/c697a5219baa
XHR ArrayBufferBuilder needs to have a refcounted buffer handling, r=smaug
https://hg.mozilla.org/integration/autoland/rev/9b2c606cb3a6
Retrieve the XHR response values only when needed, r=smaug
https://hg.mozilla.org/integration/autoland/rev/3bb93bdfccd0
Move ResponseData JS objects and Blob from XMLHttpRequestWorker::ResponseData to XMLHttpRequestWorker, r=smaug
You need to log in before you can comment on or make changes to this bug.