Closed Bug 1539694 Opened 6 years ago Closed 5 years ago

Implement Promise.allSettled

Categories

(Core :: JavaScript: Standard Library, enhancement, P2)

enhancement

Tracking

()

RESOLVED FIXED
mozilla68
Tracking Status
firefox68 --- affected

People

(Reporter: mathias, Assigned: anba)

References

(Blocks 1 open bug)

Details

(Keywords: dev-doc-complete)

Attachments

(3 files)

Assignee: nobody → andrebargull
Status: NEW → ASSIGNED
Component: JavaScript Engine → JavaScript: Standard Library

Nightly-only for now because the proposal only just reached stage 3.

Promise.allSettled is similar to Promise.all, except that each element also has
an own reject handler. Apart from that most code from Promise.all can be reused
for Promise.allSettled, including calling the CommonPerformPromiseAllRace
helper function.

Because each element has an own reject handler and we need to track if either
function of the resolve/reject handler pair was already called, it's not
possible to reuse the same trick as in PromiseAllResolveElementFunction where
the data-holder slot is used to track if the handler was already called. Instead
PromiseAllSettledElementFunction uses the values array to check if the
current index position is still set to undefined as a mean to verify that the
resolving functions for each element weren't already called.

Depends on D25208

Priority: -- → P2

Pushed by nerli@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/75b6666c5095
Part 1: Modify shared Promise.all/race helper to allow passing in a different reject function. r=jorendorff
https://hg.mozilla.org/integration/autoland/rev/2e36a4f4d996
Part 2: Implement Promise.allSettled stage 3 proposal. r=jorendorff
https://hg.mozilla.org/integration/autoland/rev/b69cb7f4f305
Part 3: Update xray tests for Promise. r=peterv

Keywords: checkin-needed

Backed out for spidermonkey build bustage in Promise.cpp

Push that started the failures:https://treeherder.mozilla.org/#/jobs?repo=autoland&resultStatus=superseded%2Ctestfailed%2Cbusted%2Cexception%2Crunnable&revision=b69cb7f4f3059c56434b82641db3ae813e7f9036&selectedJob=239742309

Failure log: https://treeherder.mozilla.org/logviewer.html#/jobs?job_id=239742309&repo=autoland&lineNumber=6071

Backout: https://hg.mozilla.org/integration/autoland/rev/7befb6bf6b3b2441d1659579e0edf7226aff8781

[task 2019-04-11T19:06:03.848Z] TEST-PASS | check_js_opcode.py | ok
[task 2019-04-11T19:06:04.011Z] Received connection.
[task 2019-04-11T19:06:04.011Z] Final transaction received, finishing...
[task 2019-04-11T19:06:04.777Z] Waiting for manager to finish (build status 0)...
[task 2019-04-11T19:06:04.777Z] Exiting with status 0
[task 2019-04-11T19:06:04.778Z] build finished (status 0): Thu Apr 11 19:06:04 2019
[task 2019-04-11T19:06:04.778Z] Exiting run_complete with status 0
[task 2019-04-11T19:06:04.778Z] Running gcTypes to generate ('gcTypes.txt', 'typeInfo.txt')
[task 2019-04-11T19:06:04.778Z] PATH="/builds/worker/workspace/sixgill/usr/bin:${PATH}" SOURCE='/builds/worker/checkouts/gecko' ANALYZED_OBJDIR='/builds/worker/workspace/obj-analyzed' LD_LIBRARY_PATH="${LD_LIBRARY_PATH}:/builds/worker/workspace/obj-haz-shell/dist/bin" XDB='/builds/worker/workspace/sixgill/usr/bin/xdb.so' /builds/worker/workspace/obj-haz-shell/dist/bin/js /builds/worker/checkouts/gecko/js/src/devtools/rootAnalysis/computeGCTypes.js gcTypes.txt typeInfo.txt
[task 2019-04-11T19:06:06.665Z] Running callgraph to generate ('callgraph.txt',)
[task 2019-04-11T19:06:06.665Z] PATH="/builds/worker/workspace/sixgill/usr/bin:${PATH}" SOURCE='/builds/worker/checkouts/gecko' ANALYZED_OBJDIR='/builds/worker/workspace/obj-analyzed' LD_LIBRARY_PATH="${LD_LIBRARY_PATH}:/builds/worker/workspace/obj-haz-shell/dist/bin" XDB='/builds/worker/workspace/sixgill/usr/bin/xdb.so' /builds/worker/workspace/obj-haz-shell/dist/bin/js /builds/worker/checkouts/gecko/js/src/devtools/rootAnalysis/computeCallgraph.js typeInfo.txt callgraph.txt
[task 2019-04-11T19:06:08.416Z] Finished loading data structures
[task 2019-04-11T19:07:47.792Z] Running gcFunctions to generate ('gcFunctions.txt', 'gcFunctions.lst', 'gcEdges.txt', 'limitedFunctions.lst')
[task 2019-04-11T19:07:47.792Z] PATH="/builds/worker/workspace/sixgill/usr/bin:${PATH}" SOURCE='/builds/worker/checkouts/gecko' ANALYZED_OBJDIR='/builds/worker/workspace/obj-analyzed' LD_LIBRARY_PATH="${LD_LIBRARY_PATH}:/builds/worker/workspace/obj-haz-shell/dist/bin" XDB='/builds/worker/workspace/sixgill/usr/bin/xdb.so' /builds/worker/workspace/obj-haz-shell/dist/bin/js /builds/worker/checkouts/gecko/js/src/devtools/rootAnalysis/computeGCFunctions.js callgraph.txt gcFunctions.txt gcFunctions.lst gcEdges.txt limitedFunctions.lst
[task 2019-04-11T19:07:54.786Z] Writing gcFunctions.tmp
[task 2019-04-11T19:07:55.145Z] Writing gcFunctions_list.tmp
[task 2019-04-11T19:07:55.209Z] Writing gcEdges.tmp
[task 2019-04-11T19:07:55.209Z] Writing limitedFunctions_list.tmp
[task 2019-04-11T19:07:55.435Z] Running allFunctions to generate allFunctions.txt
[task 2019-04-11T19:07:55.435Z] PATH="/builds/worker/workspace/sixgill/usr/bin:${PATH}" SOURCE='/builds/worker/checkouts/gecko' ANALYZED_OBJDIR='/builds/worker/workspace/obj-analyzed' LD_LIBRARY_PATH="${LD_LIBRARY_PATH}:/builds/worker/workspace/obj-haz-shell/dist/bin" XDB='/builds/worker/workspace/sixgill/usr/bin/xdb.so' /builds/worker/workspace/sixgill/usr/bin/xdbkeys src_body.xdb > allFunctions.txt
[task 2019-04-11T19:07:55.666Z] Running hazards to generate rootingHazards.txt
[task 2019-04-11T19:07:55.666Z] PATH="/builds/worker/workspace/sixgill/usr/bin:${PATH}" SOURCE='/builds/worker/checkouts/gecko' ANALYZED_OBJDIR='/builds/worker/workspace/obj-analyzed' LD_LIBRARY_PATH="${LD_LIBRARY_PATH}:/builds/worker/workspace/obj-haz-shell/dist/bin" XDB='/builds/worker/workspace/sixgill/usr/bin/xdb.so' /builds/worker/workspace/obj-haz-shell/dist/bin/js /builds/worker/checkouts/gecko/js/src/devtools/rootAnalysis/analyzeRoots.js gcFunctions.lst gcEdges.txt limitedFunctions.lst gcTypes.txt typeInfo.txt 1 15 tmp.1 > rootingHazards.1
[task 2019-04-11T19:07:55.666Z] PATH="/builds/worker/workspace/sixgill/usr/bin:${PATH}" SOURCE='/builds/worker/checkouts/gecko' ANALYZED_OBJDIR='/builds/worker/workspace/obj-analyzed' LD_LIBRARY_PATH="${LD_LIBRARY_PATH}:/builds/worker/workspace/obj-haz-shell/dist/bin" XDB='/builds/worker/workspace/sixgill/usr/bin/xdb.so' /builds/worker/workspace/obj-haz-shell/dist/bin/js /builds/worker/checkouts/gecko/js/src/devtools/rootAnalysis/analyzeRoots.js gcFunctions.lst gcEdges.txt limitedFunctions.lst gcTypes.txt typeInfo.txt 2 15 tmp.2 > rootingHazards.2
[task 2019-04-11T19:07:55.666Z] PATH="/builds/worker/workspace/sixgill/usr/bin:${PATH}" SOURCE='/builds/worker/checkouts/gecko' ANALYZED_OBJDIR='/builds/worker/workspace/obj-analyzed' LD_LIBRARY_PATH="${LD_LIBRARY_PATH}:/builds/worker/workspace/obj-haz-shell/dist/bin" XDB='/builds/worker/workspace/sixgill/usr/bin/xdb.so' /builds/worker/workspace/obj-haz-shell/dist/bin/js /builds/worker/checkouts/gecko/js/src/devtools/rootAnalysis/analyzeRoots.js gcFunctions.lst gcEdges.txt limitedFunctions.lst gcTypes.txt typeInfo.txt 3 15 tmp.3 > rootingHazards.3
[task 2019-04-11T19:07:55.666Z] PATH="/builds/worker/workspace/sixgill/usr/bin:${PATH}" SOURCE='/builds/worker/checkouts/gecko' ANALYZED_OBJDIR='/builds/worker/workspace/obj-analyzed' LD_LIBRARY_PATH="${LD_LIBRARY_PATH}:/builds/worker/workspace/obj-haz-shell/dist/bin" XDB='/builds/worker/workspace/sixgill/usr/bin/xdb.so' /builds/worker/workspace/obj-haz-shell/dist/bin/js /builds/worker/checkouts/gecko/js/src/devtools/rootAnalysis/analyzeRoots.js gcFunctions.lst gcEdges.txt limitedFunctions.lst gcTypes.txt typeInfo.txt 4 15 tmp.4 > rootingHazards.4
[task 2019-04-11T19:07:55.666Z] PATH="/builds/worker/workspace/sixgill/usr/bin:${PATH}" SOURCE='/builds/worker/checkouts/gecko' ANALYZED_OBJDIR='/builds/worker/workspace/obj-analyzed' LD_LIBRARY_PATH="${LD_LIBRARY_PATH}:/builds/worker/workspace/obj-haz-shell/dist/bin" XDB='/builds/worker/workspace/sixgill/usr/bin/xdb.so' /builds/worker/workspace/obj-haz-shell/dist/bin/js /builds/worker/checkouts/gecko/js/src/devtools/rootAnalysis/analyzeRoots.js gcFunctions.lst gcEdges.txt limitedFunctions.lst gcTypes.txt typeInfo.txt 5 15 tmp.5 > rootingHazards.5
[task 2019-04-11T19:07:55.666Z] PATH="/builds/worker/workspace/sixgill/usr/bin:${PATH}" SOURCE='/builds/worker/checkouts/gecko' ANALYZED_OBJDIR='/builds/worker/workspace/obj-analyzed' LD_LIBRARY_PATH="${LD_LIBRARY_PATH}:/builds/worker/workspace/obj-haz-shell/dist/bin" XDB='/builds/worker/workspace/sixgill/usr/bin/xdb.so' /builds/worker/workspace/obj-haz-shell/dist/bin/js /builds/worker/checkouts/gecko/js/src/devtools/rootAnalysis/analyzeRoots.js gcFunctions.lst gcEdges.txt limitedFunctions.lst gcTypes.txt typeInfo.txt 6 15 tmp.6 > rootingHazards.6
[task 2019-04-11T19:07:55.666Z] PATH="/builds/worker/workspace/sixgill/usr/bin:${PATH}" SOURCE='/builds/worker/checkouts/gecko' ANALYZED_OBJDIR='/builds/worker/workspace/obj-analyzed' LD_LIBRARY_PATH="${LD_LIBRARY_PATH}:/builds/worker/workspace/obj-haz-shell/dist/bin" XDB='/builds/worker/workspace/sixgill/usr/bin/xdb.so' /builds/worker/workspace/obj-haz-shell/dist/bin/js /builds/worker/checkouts/gecko/js/src/devtools/rootAnalysis/analyzeRoots.js gcFunctions.lst gcEdges.txt limitedFunctions.lst gcTypes.txt typeInfo.txt 7 15 tmp.7 > rootingHazards.7
[task 2019-04-11T19:08:10.694Z] PATH="/builds/worker/workspace/sixgill/usr/bin:${PATH}" SOURCE='/builds/worker/checkouts/gecko' ANALYZED_OBJDIR='/builds/worker/workspace/obj-analyzed' LD_LIBRARY_PATH="${LD_LIBRARY_PATH}:/builds/worker/workspace/obj-haz-shell/dist/bin" XDB='/builds/worker/workspace/sixgill/usr/bin/xdb.so' /builds/worker/workspace/obj-haz-shell/dist/bin/js /builds/worker/checkouts/gecko/js/src/devtools/rootAnalysis/analyzeRoots.js gcFunctions.lst gcEdges.txt limitedFunctions.lst gcTypes.txt typeInfo.txt 8 15 tmp.8 > rootingHazards.8
[task 2019-04-11T19:08:10.694Z] PATH="/builds/worker/workspace/sixgill/usr/bin:${PATH}" SOURCE='/builds/worker/checkouts/gecko' ANALYZED_OBJDIR='/builds/worker/workspace/obj-analyzed' LD_LIBRARY_PATH="${LD_LIBRARY_PATH}:/builds/worker/workspace/obj-haz-shell/dist/bin" XDB='/builds/worker/workspace/sixgill/usr/bin/xdb.so' /builds/worker/workspace/obj-haz-shell/dist/bin/js /builds/worker/checkouts/gecko/js/src/devtools/rootAnalysis/analyzeRoots.js gcFunctions.lst gcEdges.txt limitedFunctions.lst gcTypes.txt typeInfo.txt 9 15 tmp.9 > rootingHazards.9
[task 2019-04-11T19:08:10.694Z] PATH="/builds/worker/workspace/sixgill/usr/bin:${PATH}" SOURCE='/builds/worker/checkouts/gecko' ANALYZED_OBJDIR='/builds/worker/workspace/obj-analyzed' LD_LIBRARY_PATH="${LD_LIBRARY_PATH}:/builds/worker/workspace/obj-haz-shell/dist/bin" XDB='/builds/worker/workspace/sixgill/usr/bin/xdb.so' /builds/worker/workspace/obj-haz-shell/dist/bin/js /builds/worker/checkouts/gecko/js/src/devtools/rootAnalysis/analyzeRoots.js gcFunctions.lst gcEdges.txt limitedFunctions.lst gcTypes.txt typeInfo.txt 10 15 tmp.10 > rootingHazards.10
[task 2019-04-11T19:08:10.694Z] PATH="/builds/worker/workspace/sixgill/usr/bin:${PATH}" SOURCE='/builds/worker/checkouts/gecko' ANALYZED_OBJDIR='/builds/worker/workspace/obj-analyzed' LD_LIBRARY_PATH="${LD_LIBRARY_PATH}:/builds/worker/workspace/obj-haz-shell/dist/bin" XDB='/builds/worker/workspace/sixgill/usr/bin/xdb.so' /builds/worker/workspace/obj-haz-shell/dist/bin/js /builds/worker/checkouts/gecko/js/src/devtools/rootAnalysis/analyzeRoots.js gcFunctions.lst gcEdges.txt limitedFunctions.lst gcTypes.txt typeInfo.txt 11 15 tmp.11 > rootingHazards.11
[task 2019-04-11T19:08:10.694Z] PATH="/builds/worker/workspace/sixgill/usr/bin:${PATH}" SOURCE='/builds/worker/checkouts/gecko' ANALYZED_OBJDIR='/builds/worker/workspace/obj-analyzed' LD_LIBRARY_PATH="${LD_LIBRARY_PATH}:/builds/worker/workspace/obj-haz-shell/dist/bin" XDB='/builds/worker/workspace/sixgill/usr/bin/xdb.so' /builds/worker/workspace/obj-haz-shell/dist/bin/js /builds/worker/checkouts/gecko/js/src/devtools/rootAnalysis/analyzeRoots.js gcFunctions.lst gcEdges.txt limitedFunctions.lst gcTypes.txt typeInfo.txt 12 15 tmp.12 > rootingHazards.12
[task 2019-04-11T19:08:10.694Z] PATH="/builds/worker/workspace/sixgill/usr/bin:${PATH}" SOURCE='/builds/worker/checkouts/gecko' ANALYZED_OBJDIR='/builds/worker/workspace/obj-analyzed' LD_LIBRARY_PATH="${LD_LIBRARY_PATH}:/builds/worker/workspace/obj-haz-shell/dist/bin" XDB='/builds/worker/workspace/sixgill/usr/bin/xdb.so' /builds/worker/workspace/obj-haz-shell/dist/bin/js /builds/worker/checkouts/gecko/js/src/devtools/rootAnalysis/analyzeRoots.js gcFunctions.lst gcEdges.txt limitedFunctions.lst gcTypes.txt typeInfo.txt 13 15 tmp.13 > rootingHazards.13
[task 2019-04-11T19:08:10.694Z] PATH="/builds/worker/workspace/sixgill/usr/bin:${PATH}" SOURCE='/builds/worker/checkouts/gecko' ANALYZED_OBJDIR='/builds/worker/workspace/obj-analyzed' LD_LIBRARY_PATH="${LD_LIBRARY_PATH}:/builds/worker/workspace/obj-haz-shell/dist/bin" XDB='/builds/worker/workspace/sixgill/usr/bin/xdb.so' /builds/worker/workspace/obj-haz-shell/dist/bin/js /builds/worker/checkouts/gecko/js/src/devtools/rootAnalysis/analyzeRoots.js gcFunctions.lst gcEdges.txt limitedFunctions.lst gcTypes.txt typeInfo.txt 14 15 tmp.14 > rootingHazards.14
[task 2019-04-11T19:08:10.694Z] PATH="/builds/worker/workspace/sixgill/usr/bin:${PATH}" SOURCE='/builds/worker/checkouts/gecko' ANALYZED_OBJDIR='/builds/worker/workspace/obj-analyzed' LD_LIBRARY_PATH="${LD_LIBRARY_PATH}:/builds/worker/workspace/obj-haz-shell/dist/bin" XDB='/builds/worker/workspace/sixgill/usr/bin/xdb.so' /builds/worker/workspace/obj-haz-shell/dist/bin/js /builds/worker/checkouts/gecko/js/src/devtools/rootAnalysis/analyzeRoots.js gcFunctions.lst gcEdges.txt limitedFunctions.lst gcTypes.txt typeInfo.txt 15 15 tmp.15 > rootingHazards.15
[task 2019-04-11T19:08:10.694Z] cat rootingHazards.1 rootingHazards.2 rootingHazards.3 rootingHazards.4 rootingHazards.5 rootingHazards.6 rootingHazards.7 rootingHazards.8 rootingHazards.9 rootingHazards.10 rootingHazards.11 rootingHazards.12 rootingHazards.13 rootingHazards.14 rootingHazards.15 > rootingHazards.txt
[task 2019-04-11T19:08:10.694Z] Running explain to generate ('hazards.txt', 'unnecessary.txt', 'refs.txt')
[task 2019-04-11T19:08:10.694Z] PATH="/builds/worker/workspace/sixgill/usr/bin:${PATH}" SOURCE='/builds/worker/checkouts/gecko' ANALYZED_OBJDIR='/builds/worker/workspace/obj-analyzed' LD_LIBRARY_PATH="${LD_LIBRARY_PATH}:/builds/worker/workspace/obj-haz-shell/dist/bin" XDB='/builds/worker/workspace/sixgill/usr/bin/xdb.so' python2.7 /builds/worker/checkouts/gecko/js/src/devtools/rootAnalysis/explain.py rootingHazards.txt gcFunctions.txt hazards.txt unnecessary.txt refs.txt
[task 2019-04-11T19:08:10.828Z] Wrote explained_hazards.tmp
[task 2019-04-11T19:08:10.828Z] Wrote unnecessary.tmp
[task 2019-04-11T19:08:10.828Z] Wrote refs.tmp
[task 2019-04-11T19:08:10.828Z] Found 1 hazards 37 unsafe references 0 missing
[task 2019-04-11T19:08:10.829Z] Running heapwrites to generate heapWriteHazards.txt
[task 2019-04-11T19:08:10.829Z] PATH="/builds/worker/workspace/sixgill/usr/bin:${PATH}" SOURCE='/builds/worker/checkouts/gecko' ANALYZED_OBJDIR='/builds/worker/workspace/obj-analyzed' LD_LIBRARY_PATH="${LD_LIBRARY_PATH}:/builds/worker/workspace/obj-haz-shell/dist/bin" XDB='/builds/worker/workspace/sixgill/usr/bin/xdb.so' /builds/worker/workspace/obj-haz-shell/dist/bin/js /builds/worker/checkouts/gecko/js/src/devtools/rootAnalysis/analyzeHeapWrites.js > heapWriteHazards.txt
[task 2019-04-11T19:08:13.105Z] + check_hazards /builds/worker/workspace/analysis
[task 2019-04-11T19:08:13.105Z] + set +e
[task 2019-04-11T19:08:13.105Z] ++ grep -c 'Function.*has unrooted.*live across GC call' /builds/worker/workspace/analysis/rootingHazards.txt
[task 2019-04-11T19:08:13.106Z] + NUM_HAZARDS=1
[task 2019-04-11T19:08:13.107Z] ++ grep -c '^Function.takes unsafe address of unrooted' /builds/worker/workspace/analysis/refs.txt
[task 2019-04-11T19:08:13.107Z] + NUM_UNSAFE=37
[task 2019-04-11T19:08:13.108Z] ++ grep -c '^Function.
has unnecessary root' /builds/worker/workspace/analysis/unnecessary.txt
[task 2019-04-11T19:08:13.109Z] + NUM_UNNECESSARY=993
[task 2019-04-11T19:08:13.110Z] ++ grep -c '^Dropped CFG' /builds/worker/workspace/analysis/build_xgill.log
[task 2019-04-11T19:08:13.112Z] + NUM_DROPPED=0
[task 2019-04-11T19:08:13.112Z] ++ perl -lne 'print $1 if m!found (\d+)/\d+ allowed errors!' /builds/worker/workspace/analysis/heapWriteHazards.txt
[task 2019-04-11T19:08:13.114Z] + NUM_WRITE_HAZARDS=0
[task 2019-04-11T19:08:13.114Z] ++ grep -c '^Function.*expected hazard.but none were found' /builds/worker/workspace/analysis/rootingHazards.txt
[task 2019-04-11T19:08:13.115Z] + NUM_MISSING=0
[task 2019-04-11T19:08:13.115Z] + set +x
[task 2019-04-11T19:08:13.115Z] TinderboxPrint: rooting hazards<br/>1
[task 2019-04-11T19:08:13.115Z] TinderboxPrint: (unsafe references to unrooted GC pointers)<br/>37
[task 2019-04-11T19:08:13.115Z] TinderboxPrint: (unnecessary roots)<br/>993
[task 2019-04-11T19:08:13.115Z] TinderboxPrint: missing expected hazards<br/>0
[task 2019-04-11T19:08:13.115Z] TinderboxPrint: heap write hazards<br/>0
[task 2019-04-11T19:08:13.116Z] TEST-UNEXPECTED-FAIL | hazards | unrooted 'resolveFunc' of type 'JSFunction
' live across GC call at js/src/builtin/Promise.cpp:3266
[task 2019-04-11T19:08:13.116Z] TEST-UNEXPECTED-FAIL | hazards | 1 rooting hazards detected
[task 2019-04-11T19:08:13.116Z] TinderboxPrint: documentation<br/><a href='https://wiki.mozilla.org/Javascript:Hazard_Builds#Diagnosing_a_rooting_hazards_failure'>static rooting hazard analysis failures</a>, visit "Inspect Task" link for hazard details
[task 2019-04-11T19:08:13.116Z] + onexit
[task 2019-04-11T19:08:13.117Z] + grab_artifacts /builds/worker/workspace/analysis /builds/worker/artifacts
[task 2019-04-11T19:08:13.117Z] + local analysis_dir
[task 2019-04-11T19:08:13.117Z] + analysis_dir=/builds/worker/workspace/analysis
[task 2019-04-11T19:08:13.117Z] + local artifacts
[task 2019-04-11T19:08:13.117Z] + artifacts=/builds/worker/artifacts
[task 2019-04-11T19:08:13.117Z] + cd /builds/worker/workspace/analysis
[task 2019-04-11T19:08:13.117Z] + ls -lah
[task 2019-04-11T19:08:13.118Z] total 558M
[task 2019-04-11T19:08:13.118Z] drwxr-xr-x 3 worker worker 4.0K Apr 11 19:08 .
[task 2019-04-11T19:08:13.118Z] drwxr-xr-x 11 worker worker 4.0K Apr 11 18:59 ..
[task 2019-04-11T19:08:13.118Z] -rw-r--r-- 1 worker worker 35M Apr 11 19:07 allFunctions.txt
[task 2019-04-11T19:08:13.118Z] -rw-r--r-- 1 worker worker 31K Apr 11 19:06 build_manager.log
[task 2019-04-11T19:08:13.118Z] -rw-r--r-- 1 worker worker 3.5M Apr 11 19:05 build_xgill.log
[task 2019-04-11T19:08:13.118Z] -rw-r--r-- 1 worker worker 68M Apr 11 19:07 callgraph.txt
[task 2019-04-11T19:08:13.118Z] -rw-r--r-- 1 worker worker 354 Apr 11 18:59 defaults.py
[task 2019-04-11T19:08:13.118Z] -rw-r--r-- 1 worker worker 7.3M Apr 11 19:06 file_preprocess.xdb
[task 2019-04-11T19:08:13.118Z] -rw-r--r-- 1 worker worker 13M Apr 11 19:06 file_source.xdb
[task 2019-04-11T19:08:13.118Z] -rw-r--r-- 1 worker worker 0 Apr 11 19:07 gcEdges.txt
[task 2019-04-11T19:08:13.118Z] -rw-r--r-- 1 worker worker 3.6M Apr 11 19:07 gcFunctions.lst
[task 2019-04-11T19:08:13.118Z] -rw-r--r-- 1 worker worker 12M Apr 11 19:07 gcFunctions.txt
[task 2019-04-11T19:08:13.118Z] -rw-r--r-- 1 worker worker 2.2M Apr 11 19:06 gcTypes.txt
[task 2019-04-11T19:08:13.118Z] -rw-r--r-- 1 worker worker 3.7K Apr 11 19:08 hazards.txt
[task 2019-04-11T19:08:13.118Z] -rw-r--r-- 1 worker worker 132 Apr 11 19:08 heapWriteHazards.txt
[task 2019-04-11T19:08:13.118Z] -rw-r--r-- 1 worker worker 417K Apr 11 19:07 limitedFunctions.lst
[task 2019-04-11T19:08:13.118Z] -rw-r--r-- 1 worker worker 11K Apr 11 19:08 refs.txt
[task 2019-04-11T19:08:13.118Z] -rw-r--r-- 1 worker worker 46 Apr 11 19:07 rootingHazards.1
[task 2019-04-11T19:08:13.118Z] -rw-r--r-- 1 worker worker 47K Apr 11 19:08 rootingHazards.10
[task 2019-04-11T19:08:13.118Z] -rw-r--r-- 1 worker worker 33K Apr 11 19:08 rootingHazards.11
[task 2019-04-11T19:08:13.118Z] -rw-r--r-- 1 worker worker 22K Apr 11 19:08 rootingHazards.12
[task 2019-04-11T19:08:13.118Z] -rw-r--r-- 1 worker worker 9.3K Apr 11 19:08 rootingHazards.13
[task 2019-04-11T19:08:13.118Z] -rw-r--r-- 1 worker worker 24K Apr 11 19:08 rootingHazards.14
[task 2019-04-11T19:08:13.118Z] -rw-r--r-- 1 worker worker 51K Apr 11 19:08 rootingHazards.15
[task 2019-04-11T19:08:13.118Z] -rw-r--r-- 1 worker worker 5.3K Apr 11 19:08 rootingHazards.2
[task 2019-04-11T19:08:13.118Z] -rw-r--r-- 1 worker worker 0 Apr 11 19:07 rootingHazards.3
[task 2019-04-11T19:08:13.118Z] -rw-r--r-- 1 worker worker 4.6K Apr 11 19:07 rootingHazards.4
[task 2019-04-11T19:08:13.118Z] -rw-r--r-- 1 worker worker 15K Apr 11 19:08 rootingHazards.5
[task 2019-04-11T19:08:13.118Z] -rw-r--r-- 1 worker worker 16K Apr 11 19:08 rootingHazards.6
[task 2019-04-11T19:08:13.118Z] -rw-r--r-- 1 worker worker 8.1K Apr 11 19:08 rootingHazards.7
[task 2019-04-11T19:08:13.119Z] -rw-r--r-- 1 worker worker 43K Apr 11 19:08 rootingHazards.8
[task 2019-04-11T19:08:13.119Z] -rw-r--r-- 1 worker worker 35K Apr 11 19:08 rootingHazards.9
[task 2019-04-11T19:08:13.119Z] -rw-r--r-- 1 worker worker 308K Apr 11 19:08 rootingHazards.txt
[task 2019-04-11T19:08:13.119Z] -rwxr-xr-x 1 worker worker 297 Apr 11 18:59 run-analysis.sh
[task 2019-04-11T19:08:13.119Z] -rw-r--r-- 1 worker worker 401M Apr 11 19:06 src_body.xdb
[task 2019-04-11T19:08:13.119Z] -rw-r--r-- 1 worker worker 24M Apr 11 19:06 src_comp.xdb
[task 2019-04-11T19:08:13.119Z] -rw-r--r-- 1 worker worker 13M Apr 11 19:06 src_init.xdb
[task 2019-04-11T19:08:13.119Z] -rw-r--r-- 1 worker worker 47K Apr 11 19:08 tmp.10
[task 2019-04-11T19:08:13.119Z] -rw-r--r-- 1 worker worker 3.0K Apr 11 19:08 tmp.11
[task 2019-04-11T19:08:13.119Z] -rw-r--r-- 1 worker worker 2.8K Apr 11 19:07 tmp.13
[task 2019-04-11T19:08:13.119Z] -rw-r--r-- 1 worker worker 4.2K Apr 11 19:08 tmp.14
[task 2019-04-11T19:08:13.119Z] -rw-r--r-- 1 worker worker 24K Apr 11 19:08 tmp.15
[task 2019-04-11T19:08:13.119Z] -rw-r--r-- 1 worker worker 4.2K Apr 11 19:08 tmp.2
[task 2019-04-11T19:08:13.119Z] -rw-r--r-- 1 worker worker 11K Apr 11 19:08 tmp.8
[task 2019-04-11T19:08:13.119Z] -rw-r--r-- 1 worker worker 5.7K Apr 11 19:08 tmp.9
[task 2019-04-11T19:08:13.119Z] -rw-r--r-- 1 worker worker 299K Apr 11 19:06 typeInfo.txt
[task 2019-04-11T19:08:13.119Z] -rw-r--r-- 1 worker worker 290K Apr 11 19:08 unnecessary.txt
[task 2019-04-11T19:08:13.119Z] drwxr-xr-x 2 worker worker 4.0K Apr 11 18:59 work
[task 2019-04-11T19:08:13.119Z] -rw-r--r-- 1 worker worker 42M Apr 11 19:06 worklist.sort
[task 2019-04-11T19:08:13.119Z] + shopt -s nullglob
[task 2019-04-11T19:08:13.119Z] + set +e
[task 2019-04-11T19:08:13.119Z] + local important
[task 2019-04-11T19:08:13.119Z] + important=(refs.txt unnecessary.txt hazards.txt gcFunctions.txt allFunctions.txt heapWriteHazards.txt)
[task 2019-04-11T19:08:13.119Z] + tar -acvf /builds/worker/artifacts/hazardIntermediates.tar.xz --exclude-from /dev/fd/63 allFunctions.txt callgraph.txt gcEdges.txt gcFunctions.txt gcTypes.txt hazards.txt heapWriteHazards.txt refs.txt rootingHazards.txt typeInfo.txt unnecessary.txt gcFunctions.lst limitedFunctions.lst build_xgill.log
[task 2019-04-11T19:08:13.119Z] ++ for f in '"${important[@]}"'
[task 2019-04-11T19:08:13.119Z] ++ echo refs.txt
[task 2019-04-11T19:08:13.119Z] ++ for f in '"${important[@]}"'
[task 2019-04-11T19:08:13.119Z] ++ echo unnecessary.txt
[task 2019-04-11T19:08:13.119Z] ++ for f in '"${important[@]}"'
[task 2019-04-11T19:08:13.119Z] ++ echo hazards.txt
[task 2019-04-11T19:08:13.119Z] ++ for f in '"${important[@]}"'
[task 2019-04-11T19:08:13.119Z] ++ echo gcFunctions.txt
[task 2019-04-11T19:08:13.119Z] ++ for f in '"${important[@]}"'
[task 2019-04-11T19:08:13.119Z] ++ echo allFunctions.txt
[task 2019-04-11T19:08:13.119Z] ++ for f in '"${important[@]}"'
[task 2019-04-11T19:08:13.119Z] ++ echo heapWriteHazards.txt
[task 2019-04-11T19:08:13.120Z] callgraph.txt
[task 2019-04-11T19:08:13.166Z] gcEdges.txt
[task 2019-04-11T19:08:13.166Z] gcTypes.txt
[task 2019-04-11T19:08:13.168Z] rootingHazards.txt
[task 2019-04-11T19:08:13.168Z] typeInfo.txt
[task 2019-04-11T19:08:13.168Z] gcFunctions.lst
[task 2019-04-11T19:08:13.171Z] limitedFunctions.lst
[task 2019-04-11T19:08:13.171Z] build_xgill.log
[task 2019-04-11T19:08:19.545Z] + for f in '"${important[@]}"'
[task 2019-04-11T19:08:19.545Z] + gzip -9 -c refs.txt
[task 2019-04-11T19:08:19.546Z] + for f in '"${important[@]}"'
[task 2019-04-11T19:08:19.546Z] + gzip -9 -c unnecessary.txt
[task 2019-04-11T19:08:19.554Z] + for f in '"${important[@]}"'
[task 2019-04-11T19:08:19.554Z] + gzip -9 -c hazards.txt
[task 2019-04-11T19:08:19.554Z] + for f in '"${important[@]}"'
[task 2019-04-11T19:08:19.554Z] + gzip -9 -c gcFunctions.txt
[task 2019-04-11T19:08:19.791Z] + for f in '"${important[@]}"'
[task 2019-04-11T19:08:19.791Z] + gzip -9 -c allFunctions.txt
[task 2019-04-11T19:08:20.627Z] + for f in '"${important[@]}"'
[task 2019-04-11T19:08:20.627Z] + gzip -9 -c heapWriteHazards.txt
[task 2019-04-11T19:08:20.628Z] + check_commit_msg --upload-xdbs
[task 2019-04-11T19:08:20.628Z] + set +e
[task 2019-04-11T19:08:20.628Z] + [[ -n 1 ]]
[task 2019-04-11T19:08:20.628Z] + hg --cwd /builds/worker/checkouts/gecko log -r. --template '{desc}\n'
[task 2019-04-11T19:08:20.628Z] + grep -F -q -- --upload-xdbs
[task 2019-04-11T19:08:20.724Z] + '[' -n '' ']'
[taskcluster 2019-04-11 19:08:21.128Z] === Task Finished ===
[taskcluster 2019-04-11 19:08:32.708Z] Unsuccessful task run with exit code: 1 completed in 1273.291 seconds

Flags: needinfo?(andrebargull)
Flags: needinfo?(andrebargull)
Keywords: checkin-needed

Pushed by opoprus@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/af57f8ff4600
Part 1: Modify shared Promise.all/race helper to allow passing in a different reject function. r=jorendorff
https://hg.mozilla.org/integration/autoland/rev/9378daa99e07
Part 2: Implement Promise.allSettled stage 3 proposal. r=jorendorff
https://hg.mozilla.org/integration/autoland/rev/0b0a39e79b6e
Part 3: Update xray tests for Promise. r=peterv

Keywords: checkin-needed
Status: ASSIGNED → RESOLVED
Closed: 6 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla68
Depends on: 1543948

The spec changed since this implementation landed: https://github.com/tc39/proposal-promise-allSettled/pull/40 It would be great if SpiderMonkey could make this minor change before shipping Promise.allSettled to stable.

Status: RESOLVED → REOPENED
Resolution: FIXED → ---

Filed bug 1549175 for the spec change and bug 1549176 for letting Promise.allSettled ride the trains.

Status: REOPENED → RESOLVED
Closed: 6 years ago5 years ago
Resolution: --- → FIXED

Documentation updates:

  • Added an entry to Firefox 68 for developers mentioning the addition of allSettled()
  • Updated the allSettled() doc, adding the browser compat section etc.
  • Submitted BCD PR 4385 to add allSettled() information
  • Added to Firefox 68 for developers

(for completeness -- we removed it from the 68 page and added it to the 71 page instead)

You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: