Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fix memory leak if C++ catches a Rust panic and discards it #67711

Merged
merged 11 commits into from
Jan 14, 2020

Conversation

Amanieu
Copy link
Member

@Amanieu Amanieu commented Dec 29, 2019

If C++ catches a Rust panic using catch (...) and then chooses not to rethrow it, the Box<dyn Any> in the exception may be leaked. This PR fixes this by adding the necessary destructors to the exception object.

r? @Mark-Simulacrum

@rust-highfive rust-highfive added the S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. label Dec 29, 2019
Copy link
Member

@Mark-Simulacrum Mark-Simulacrum left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

As far as I can tell, this is correct and a good fix -- I'm not sure if I feel entirely comfortable approving this though, so I'd prefer if e.g. @alexcrichton takes a look as well. (Not sure who else has the requisite expertise).

(We'll also want to drop the pipelines change before r+ of course)

src/libpanic_unwind/emcc.rs Show resolved Hide resolved
@@ -87,10 +87,8 @@ pub fn payload() -> *mut u8 {
}

pub unsafe fn cleanup(ptr: *mut u8) -> Box<dyn Any + Send> {
let my_ep = ptr as *mut Exception;
let cause = (*my_ep).cause.take();
uw::_Unwind_DeleteException(ptr as *mut _);
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Who calls DeleteException on the exception? There's not a drop impl on Exception or _Unwind_Exception AFAICT.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

All _Unwind_DeleteException does it invoke the call the exception_cleanup callback in _Unwind_Exception. Since the exception is our own, we can just free the Box directly.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'm flagging this as temporarily unresolved to leave a comment here too since this was a question I had. Could a comment be left indicating that we're explicitly not calling _Unwind_DeleteException? Also, do you have a link to the source that it only calls the internal callback?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The documentation for _Unwind_DeleteException explicitly says that this function is for foreign exception that the runtime does not know how to free.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Oh sure sorry I'm not questioning the validity of this deletion, just un-resolving it so my request for a comment in the code didn't show up as collapsed.

src/libpanic_unwind/seh.rs Outdated Show resolved Hide resolved
@Centril
Copy link
Contributor

Centril commented Dec 30, 2019

@bors rollup=never

@Amanieu
Copy link
Member Author

Amanieu commented Dec 30, 2019

It seems that MSVC basically requires exception objects to be copyable, otherwise it may end up double-freeing an exception object if it is captured using exception_ptr.

@rust-highfive
Copy link
Collaborator

The job i686-msvc-1 of your PR failed (pretty log, raw log). Through arcane magic we have determined that the following fragments from the build log may contain information about the problem.

Click to expand the log.
2019-12-30T11:53:56.6919804Z ##[command]git remote add origin https://github.com/rust-lang/rust
2019-12-30T11:53:56.7595087Z ##[command]git config gc.auto 0
2019-12-30T11:53:56.8262776Z ##[command]git config --get-all http.https://github.com/rust-lang/rust.extraheader
2019-12-30T11:53:56.8626102Z ##[command]git config --get-all http.proxy
2019-12-30T11:53:56.9044798Z ##[command]git -c http.extraheader="AUTHORIZATION: basic ***" fetch --force --tags --prune --progress --no-recurse-submodules --depth=2 origin +refs/heads/*:refs/remotes/origin/* +refs/pull/67711/merge:refs/remotes/pull/67711/merge
---
2019-12-30T11:54:39.6818536Z do so (now or later) by using -b with the checkout command again. Example:
2019-12-30T11:54:39.6822777Z 
2019-12-30T11:54:39.6823553Z   git checkout -b <new-branch-name>
2019-12-30T11:54:39.6823627Z 
2019-12-30T11:54:39.6823713Z HEAD is now at 4236d9938 Merge 508c3e2d64af3652d5447c0f488a34765f6324b2 into 580ac0b4f1c6f9cf76f6edafdaf9806437770aff
2019-12-30T11:54:39.7243432Z ##[section]Starting: Setup environment
2019-12-30T11:54:39.7500134Z ==============================================================================
2019-12-30T11:54:39.7500191Z Task         : Bash
2019-12-30T11:54:39.7500397Z Description  : Run a Bash script on macOS, Linux, or Windows
---
2019-12-30T11:54:41.8792480Z BUILD_SOURCEBRANCH=refs/pull/67711/merge
2019-12-30T11:54:41.8792627Z BUILD_SOURCEBRANCHNAME=merge
2019-12-30T11:54:41.8792674Z BUILD_SOURCESDIRECTORY=D:\a\1\s
2019-12-30T11:54:41.8792721Z BUILD_SOURCEVERSION=4236d9938ac349522fef889ab54528a38453555e
2019-12-30T11:54:41.8792765Z BUILD_SOURCEVERSIONAUTHOR=Amanieu d'Antras
2019-12-30T11:54:41.8793472Z CI_JOB_NAME=i686-msvc-1
2019-12-30T11:54:41.8793533Z COBERTURA_HOME=C:\cobertura-2.1.1
2019-12-30T11:54:41.8793608Z COMMONPROGRAMFILES=C:\Program Files\Common Files
2019-12-30T11:54:41.8793661Z COMMON_TESTRESULTSDIRECTORY=D:\a\1\TestResults
---
2019-12-30T11:54:41.8811569Z SYSTEM_PHASEID=27eddb93-7805-576c-c80f-37b2176e40f7
2019-12-30T11:54:41.8811609Z SYSTEM_PHASENAME=Windows
2019-12-30T11:54:41.8811672Z SYSTEM_PIPELINESTARTTIME=2019-12-30 11:53:46+00:00
2019-12-30T11:54:41.8811722Z SYSTEM_PLANID=5c5fa72e-48b5-4dcf-a8e4-760aee4bc812
2019-12-30T11:54:41.8811762Z SYSTEM_PULLREQUEST_ISFORK=True
2019-12-30T11:54:41.8811819Z SYSTEM_PULLREQUEST_MERGEDAT=
2019-12-30T11:54:41.8811860Z SYSTEM_PULLREQUEST_PULLREQUESTID=357878796
2019-12-30T11:54:41.8812067Z SYSTEM_PULLREQUEST_PULLREQUESTNUMBER=67711
2019-12-30T11:54:41.8812109Z SYSTEM_PULLREQUEST_SOURCEBRANCH=fix_unwind_leak
2019-12-30T11:54:41.8812173Z SYSTEM_PULLREQUEST_SOURCECOMMITID=508c3e2d64af3652d5447c0f488a34765f6324b2
2019-12-30T11:54:41.8812265Z SYSTEM_PULLREQUEST_SOURCEREPOSITORYURI=***.git
2019-12-30T11:54:41.8812325Z SYSTEM_PULLREQUEST_TARGETBRANCH=master
2019-12-30T11:54:41.8812370Z SYSTEM_RESTRICTSECRETS=True
2019-12-30T11:54:41.8812445Z SYSTEM_STAGEATTEMPT=1
2019-12-30T11:54:41.8812504Z SYSTEM_STAGEDISPLAYNAME=__default
2019-12-30T11:54:41.8812545Z SYSTEM_STAGEID=96ac2280-8cb4-5df5-99de-dd2da759617d
2019-12-30T11:54:41.8812591Z SYSTEM_STAGENAME=__default
---
2019-12-30T12:00:55.7329875Z + modules=($modules)
2019-12-30T12:00:55.7329914Z + use_git=
2019-12-30T12:00:55.7525786Z ++ git config --file .gitmodules --get-regexp '\.url$'
2019-12-30T12:00:55.7614932Z ++ cut '-d ' -f2
2019-12-30T12:00:55.7805135Z + urls='***-installer.git
2019-12-30T12:00:55.7817715Z https://github.com/rust-lang/cargo.git
2019-12-30T12:00:55.7817948Z https://github.com/rust-lang/reference.git
2019-12-30T12:00:55.7818115Z https://github.com/rust-lang/book.git
2019-12-30T12:00:55.7818307Z https://github.com/rust-lang-nursery/rls.git
---
2019-12-30T12:00:56.1671674Z ++ awk '{print $3}'
2019-12-30T12:00:56.1822406Z + commit=b7ac1bc76b7d02a43c83b3a931d226f708aa1ff4
2019-12-30T12:00:56.1834479Z + git rm src/doc/rust-by-example
2019-12-30T12:00:56.2718753Z rm 'src/doc/rust-by-example'
2019-12-30T12:00:56.2979106Z + url=***-by-example.git
2019-12-30T12:00:56.2979400Z + url=***-by-example
2019-12-30T12:00:56.3156930Z + fetch_github_commit_archive src/doc/rust-by-example ***-by-example/archive/b7ac1bc76b7d02a43c83b3a931d226f708aa1ff4.tar.gz
2019-12-30T12:00:56.3277847Z + local cached=download-src-doc-rust-by-example.tar.gz
2019-12-30T12:00:56.3277847Z + local cached=download-src-doc-rust-by-example.tar.gz
2019-12-30T12:00:56.3278180Z + retry sh -c 'rm -f download-src-doc-rust-by-example.tar.gz &&         curl -f -sSL -o download-src-doc-rust-by-example.tar.gz ***-by-example/archive/b7ac1bc76b7d02a43c83b3a931d226f708aa1ff4.tar.gz'
2019-12-30T12:00:56.3278478Z + echo 'Attempting with retry:' sh -c 'rm -f download-src-doc-rust-by-example.tar.gz &&         curl -f -sSL -o download-src-doc-rust-by-example.tar.gz ***-by-example/archive/b7ac1bc76b7d02a43c83b3a931d226f708aa1ff4.tar.gz'
2019-12-30T12:00:56.3278747Z Attempting with retry: sh -c rm -f download-src-doc-rust-by-example.tar.gz &&         curl -f -sSL -o download-src-doc-rust-by-example.tar.gz ***-by-example/archive/b7ac1bc76b7d02a43c83b3a931d226f708aa1ff4.tar.gz
2019-12-30T12:00:56.3279185Z + local max=5
2019-12-30T12:00:56.3279314Z + true
2019-12-30T12:00:56.3279314Z + true
2019-12-30T12:00:56.3279542Z + sh -c 'rm -f download-src-doc-rust-by-example.tar.gz &&         curl -f -sSL -o download-src-doc-rust-by-example.tar.gz ***-by-example/archive/b7ac1bc76b7d02a43c83b3a931d226f708aa1ff4.tar.gz'
2019-12-30T12:00:56.3279888Z + for i in ${!modules[@]}
2019-12-30T12:00:56.3280019Z + module=src/stdarch
2019-12-30T12:00:56.3280227Z + [[  src/llvm-project src/doc/book src/doc/rust-by-example  = *\ \s\r\c\/\s\t\d\a\r\c\h\ * ]]
2019-12-30T12:00:56.3280419Z + use_git=' src/tools/rust-installer src/doc/nomicon src/tools/cargo src/doc/reference src/tools/rls src/tools/clippy src/tools/rustfmt src/tools/miri src/stdarch'
---
2019-12-30T12:00:59.9694478Z Submodule 'src/doc/edition-guide' (https://github.com/rust-lang/edition-guide.git) registered for path 'src/doc/edition-guide'
2019-12-30T12:00:59.9694650Z Submodule 'src/doc/embedded-book' (https://github.com/rust-embedded/book.git) registered for path 'src/doc/embedded-book'
2019-12-30T12:00:59.9694728Z Submodule 'src/doc/nomicon' (https://github.com/rust-lang/nomicon.git) registered for path 'src/doc/nomicon'
2019-12-30T12:00:59.9694825Z Submodule 'src/doc/reference' (https://github.com/rust-lang/reference.git) registered for path 'src/doc/reference'
2019-12-30T12:00:59.9695005Z Submodule 'src/doc/rustc-guide' (***c-guide.git) registered for path 'src/doc/rustc-guide'
2019-12-30T12:00:59.9695212Z Submodule 'src/tools/cargo' (https://github.com/rust-lang/cargo.git) registered for path 'src/tools/cargo'
2019-12-30T12:00:59.9695284Z Submodule 'src/tools/clippy' (https://github.com/rust-lang-nursery/rust-clippy.git) registered for path 'src/tools/clippy'
2019-12-30T12:00:59.9695373Z Submodule 'src/tools/miri' (https://github.com/rust-lang/miri.git) registered for path 'src/tools/miri'
2019-12-30T12:00:59.9695441Z Submodule 'src/tools/rls' (https://github.com/rust-lang-nursery/rls.git) registered for path 'src/tools/rls'
2019-12-30T12:00:59.9695441Z Submodule 'src/tools/rls' (https://github.com/rust-lang-nursery/rls.git) registered for path 'src/tools/rls'
2019-12-30T12:00:59.9696471Z Submodule 'src/rust-installer' (***-installer.git) registered for path 'src/tools/rust-installer'
2019-12-30T12:01:00.1534051Z Cloning into 'D:/a/1/s/src/doc/edition-guide'...
2019-12-30T12:01:18.3850241Z + break
2019-12-30T12:01:18.6198297Z + mkdir src/llvm-project
2019-12-30T12:01:19.0399974Z + touch src/llvm-project/.git
---
2019-12-30T12:02:13.5990744Z file:.git/config submodule.src/doc/nomicon.url=https://github.com/rust-lang/nomicon.git
2019-12-30T12:02:13.5990882Z file:.git/config submodule.src/doc/reference.active=true
2019-12-30T12:02:13.5991035Z file:.git/config submodule.src/doc/reference.url=https://github.com/rust-lang/reference.git
2019-12-30T12:02:13.5992324Z file:.git/config submodule.src/doc/rustc-guide.active=true
2019-12-30T12:02:13.5992836Z file:.git/config submodule.src/doc/rustc-guide.url=***c-guide.git
2019-12-30T12:02:13.5993191Z file:.git/config submodule.src/stdarch.url=https://github.com/rust-lang/stdarch.git
2019-12-30T12:02:13.5993357Z file:.git/config submodule.src/tools/cargo.active=true
2019-12-30T12:02:13.5993597Z file:.git/config submodule.src/tools/cargo.url=https://github.com/rust-lang/cargo.git
2019-12-30T12:02:13.5993977Z file:.git/config submodule.src/tools/clippy.active=true
2019-12-30T12:02:13.5993977Z file:.git/config submodule.src/tools/clippy.active=true
2019-12-30T12:02:13.5994661Z file:.git/config submodule.src/tools/clippy.url=https://github.com/rust-lang-nursery/rust-clippy.git
2019-12-30T12:02:13.5994937Z file:.git/config submodule.src/tools/miri.active=true
2019-12-30T12:02:13.5995141Z file:.git/config submodule.src/tools/miri.url=https://github.com/rust-lang/miri.git
2019-12-30T12:02:13.5995326Z file:.git/config submodule.src/tools/rls.active=true
2019-12-30T12:02:13.5995489Z file:.git/config submodule.src/tools/rls.url=https://github.com/rust-lang-nursery/rls.git
2019-12-30T12:02:13.5995741Z file:.git/config submodule.src/rust-installer.active=true
2019-12-30T12:02:13.5995936Z file:.git/config submodule.src/rust-installer.url=***-installer.git
2019-12-30T12:02:13.5996288Z file:.git/config submodule.src/tools/rustfmt.url=https://github.com/rust-lang-nursery/rustfmt.git
2019-12-30T12:02:13.9072626Z      DOS    UNIX     MAC  BOM       TXTBIN  FILE
2019-12-30T12:02:13.9075116Z        0    5206       0  no_bom    text    Cargo.lock
2019-12-30T12:02:13.9075483Z        0     987       0  no_bom    text    src/tools/rust-installer/install-template.sh
---
2019-12-30T12:10:50.5669362Z    Compiling panic_unwind v0.0.0 (D:\a\1\s\src\libpanic_unwind)
2019-12-30T12:10:50.8176156Z error: unused variable: `dest`
2019-12-30T12:10:50.8176529Z    --> src\libpanic_unwind\seh.rs:222:52
2019-12-30T12:10:50.8176592Z     |
2019-12-30T12:10:50.8176643Z 222 |         unsafe extern "thiscall" fn exception_copy(dest: *mut [u64; 2],
2019-12-30T12:10:50.8176744Z     |                                                    ^^^^ help: consider prefixing with an underscore: `_dest`
2019-12-30T12:10:50.8176950Z     = note: `-D unused-variables` implied by `-D warnings`
2019-12-30T12:10:50.8176998Z 
2019-12-30T12:10:50.8177040Z error: unused variable: `src`
2019-12-30T12:10:50.8177083Z    --> src\libpanic_unwind\seh.rs:223:52
2019-12-30T12:10:50.8177083Z    --> src\libpanic_unwind\seh.rs:223:52
2019-12-30T12:10:50.8177169Z     |
2019-12-30T12:10:50.8177221Z 223 | ...                   src: *mut [u64; 2])
2019-12-30T12:10:50.8177277Z     |                       ^^^ help: consider prefixing with an underscore: `_src`
2019-12-30T12:10:50.8177395Z error: aborting due to 2 previous errors
2019-12-30T12:10:50.8177426Z 
2019-12-30T12:10:50.8258927Z error: could not compile `panic_unwind`.
2019-12-30T12:10:50.8259021Z warning: build failed, waiting for other jobs to finish...
2019-12-30T12:10:50.8259021Z warning: build failed, waiting for other jobs to finish...
2019-12-30T12:10:51.8145308Z error: build failed
2019-12-30T12:10:51.8193577Z command did not execute successfully: "D:\\a\\1\\s\\build\\i686-pc-windows-msvc\\stage0\\bin\\cargo.exe" "build" "-Zconfig-profile" "--target" "i686-pc-windows-msvc" "-Zbinary-dep-depinfo" "-j" "2" "--release" "--locked" "--color" "always" "--features" "panic-unwind backtrace compiler-builtins-c" "--manifest-path" "D:\\a\\1\\s\\src/libtest/Cargo.toml" "--message-format" "json-render-diagnostics"
2019-12-30T12:10:51.8194051Z expected success, got: exit code: 101
2019-12-30T12:10:51.8237847Z failed to run: D:\a\1\s\build\bootstrap\debug\bootstrap test --exclude src/test/ui --exclude src/test/compile-fail --exclude src/tools/linkchecker
2019-12-30T12:10:51.8238813Z Build completed unsuccessfully in 0:04:22
2019-12-30T12:10:51.8311361Z make: *** [Makefile:80: ci-subset-1] Error 1
2019-12-30T12:10:51.8479304Z   local time: Mon Dec 30 12:10:51 CUT 2019
2019-12-30T12:10:51.9247083Z   network time: Mon, 30 Dec 2019 12:10:51 GMT
2019-12-30T12:10:51.9278748Z == end clock drift check ==
2019-12-30T12:10:51.9304774Z 
2019-12-30T12:10:51.9304774Z 
2019-12-30T12:10:52.0542013Z ##[error]Bash exited with code '2'.
2019-12-30T12:10:52.0963578Z ##[section]Starting: Checkout
2019-12-30T12:10:52.1089118Z ==============================================================================
2019-12-30T12:10:52.1089209Z Task         : Get sources
2019-12-30T12:10:52.1089261Z Description  : Get sources from a repository. Supports Git, TfsVC, and SVN repositories.

I'm a bot! I can only do what humans tell me to, so if this was not helpful or you have suggestions for improvements, please ping or otherwise contact @TimNN. (Feature Requests)

@Amanieu Amanieu force-pushed the fix_unwind_leak branch 6 times, most recently from e5c3aae to 3f0c097 Compare December 31, 2019 08:47
@Amanieu
Copy link
Member Author

Amanieu commented Dec 31, 2019

Should be good to merge now.

Copy link
Member

@Mark-Simulacrum Mark-Simulacrum left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Overall looks good, I think there's a few problems/questions I have, though.

src/libpanic_unwind/seh.rs Outdated Show resolved Hide resolved
src/librustc_codegen_llvm/intrinsic.rs Outdated Show resolved Hide resolved
src/librustc_codegen_llvm/intrinsic.rs Show resolved Hide resolved
src/libpanic_unwind/seh.rs Show resolved Hide resolved
@@ -52,22 +52,32 @@ pub fn payload() -> *mut u8 {
ptr::null_mut()
}

struct Exception {
data: Option<Box<dyn Any + Send>>,
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Reading over this it seemed odd that the Option went away below but seemed to be added here, but this is for emcc.rs so I'm not reviewing it too too closely.

Copy link
Member Author

@Amanieu Amanieu Jan 6, 2020

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I added an option here because the C++ runtime will invoke the destructor during __cxa_end_catch. We need to ensure that the exception object contains None at that point to avoid a double-free.

let local_ptr = catchpad.bitcast(local_ptr, bx.type_ptr_to(i64_2));
catchpad.store(payload, local_ptr, i64_align);

// Clear the first word of the exception so avoid double-dropping it.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

To make sure I understand what's going on here, we catch the exception by reference now which means that the system unwinder will always invoke the destructor function listed. For us that destructor function will skip its actual work since the first slot will be set to zero (as configured here).

If that's true, how come we're catching by reference? Why not continue to catch by-value and just skip the destructor for Rust exceptions?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

If we catch by value then C++ will give the catch a copy (not a move) of the exception object. It will still call the exception destructor after the catch ends. Catching by reference avoids this copy (which won't work anyways since our copy constructor panics).

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ah ok, makes sense. Does C++ never catch by value or in any way try to invoke the copy constructor?

Also, can you inline these words into the code comments as well?

@alexcrichton
Copy link
Member

Also to clarify, from the current state of this PR, this is just fixing MSVC/emscripten, right? It looks like the changes for Linux/etc mean that we already don't leak there? (trying to make sure I understand)

@Amanieu
Copy link
Member Author

Amanieu commented Jan 6, 2020

Also to clarify, from the current state of this PR, this is just fixing MSVC/emscripten, right? It looks like the changes for Linux/etc mean that we already don't leak there? (trying to make sure I understand)

That's correct, the gcc.rs changes are just a code cleanup, not fixing any issues.

@rust-highfive
Copy link
Collaborator

The job x86_64-gnu-llvm-7 of your PR failed (pretty log, raw log). Through arcane magic we have determined that the following fragments from the build log may contain information about the problem.

Click to expand the log.
2020-01-07T10:37:42.5151942Z ##[command]git remote add origin https://github.com/rust-lang/rust
2020-01-07T10:37:42.5161835Z ##[command]git config gc.auto 0
2020-01-07T10:37:42.5164476Z ##[command]git config --get-all http.https://github.com/rust-lang/rust.extraheader
2020-01-07T10:37:42.5211682Z ##[command]git config --get-all http.proxy
2020-01-07T10:37:42.5324582Z ##[command]git -c http.extraheader="AUTHORIZATION: basic ***" fetch --force --tags --prune --progress --no-recurse-submodules --depth=2 origin +refs/heads/*:refs/remotes/origin/* +refs/pull/67711/merge:refs/remotes/pull/67711/merge

I'm a bot! I can only do what humans tell me to, so if this was not helpful or you have suggestions for improvements, please ping or otherwise contact @TimNN. (Feature Requests)

@Amanieu
Copy link
Member Author

Amanieu commented Jan 7, 2020

Fixed formatting

@alexcrichton
Copy link
Member

@bors: r+

@bors
Copy link
Contributor

bors commented Jan 7, 2020

📌 Commit 5b41d99 has been approved by alexcrichton

@bors bors added S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. and removed S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. labels Jan 7, 2020
@bors
Copy link
Contributor

bors commented Jan 8, 2020

⌛ Testing commit 5b41d99 with merge f2e217f...

bors added a commit that referenced this pull request Jan 8, 2020
Fix memory leak if C++ catches a Rust panic and discards it

If C++ catches a Rust panic using `catch (...)` and then chooses not to rethrow it, the `Box<dyn Any>` in the exception may be leaked. This PR fixes this by adding the necessary destructors to the exception object.

r? @Mark-Simulacrum
@bors
Copy link
Contributor

bors commented Jan 13, 2020

⌛ Testing commit 4f163af with merge b49bad00f406048613bc23565e59c7bc70f9a549...

@rust-highfive
Copy link
Collaborator

The job wasm32 of your PR failed (pretty log, raw log). Through arcane magic we have determined that the following fragments from the build log may contain information about the problem.

Click to expand the log.
2020-01-13T03:58:43.6276636Z ---- [ui] ui/binding/fn-arg-incomplete-pattern-drop-order.rs stdout ----
2020-01-13T03:58:43.6276705Z 
2020-01-13T03:58:43.6276789Z error: test run failed!
2020-01-13T03:58:43.6276857Z status: exit code: 1
2020-01-13T03:58:43.6277481Z command: "/emsdk-portable/node/12.9.1_64bit/bin/node" "/checkout/obj/build/x86_64-unknown-linux-gnu/test/ui/binding/fn-arg-incomplete-pattern-drop-order/a.js"
2020-01-13T03:58:43.6277938Z ------------------------------------------
2020-01-13T03:58:43.6278032Z undefined
2020-01-13T03:58:43.6278069Z 
2020-01-13T03:58:43.6278318Z ------------------------------------------
2020-01-13T03:58:43.6278318Z ------------------------------------------
2020-01-13T03:58:43.6278391Z stderr:
2020-01-13T03:58:43.6278635Z ------------------------------------------
2020-01-13T03:58:43.6279129Z thread 'main' panicked at 'explicit panic', /checkout/src/test/ui/binding/fn-arg-incomplete-pattern-drop-order.rs:21:13
2020-01-13T03:58:43.6279261Z note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace.
2020-01-13T03:58:43.6279348Z fatal runtime error: Rust panics must be rethrown
2020-01-13T03:58:43.6279434Z undefined
2020-01-13T03:58:43.6279498Z exception thrown: abort(undefined) at Error
2020-01-13T03:58:43.6279881Z     at jsStackTrace (/checkout/obj/build/x86_64-unknown-linux-gnu/test/ui/binding/fn-arg-incomplete-pattern-drop-order/a.js:1756:17)
2020-01-13T03:58:43.6280279Z     at stackTrace (/checkout/obj/build/x86_64-unknown-linux-gnu/test/ui/binding/fn-arg-incomplete-pattern-drop-order/a.js:1773:16)
2020-01-13T03:58:43.6280651Z     at abort (/checkout/obj/build/x86_64-unknown-linux-gnu/test/ui/binding/fn-arg-incomplete-pattern-drop-order/a.js:1564:44)
2020-01-13T03:58:43.6281037Z     at _abort (/checkout/obj/build/x86_64-unknown-linux-gnu/test/ui/binding/fn-arg-incomplete-pattern-drop-order/a.js:5107:7)
2020-01-13T03:58:43.6281300Z     at wasm-function[188]:1
2020-01-13T03:58:43.6281540Z     at wasm-function[196]:63
2020-01-13T03:58:43.6281777Z     at wasm-function[203]:47
2020-01-13T03:58:43.6282268Z     at wasm-function[222]:93
2020-01-13T03:58:43.6282577Z     at wasm-function[377]:5
2020-01-13T03:58:43.6282950Z     at Object.Module.dynCall_ii (/checkout/obj/build/x86_64-unknown-linux-gnu/test/ui/binding/fn-arg-incomplete-pattern-drop-order/a.js:5542:38)
2020-01-13T03:58:43.6283291Z ------------------------------------------
2020-01-13T03:58:43.6283340Z 
2020-01-13T03:58:43.6283391Z 
2020-01-13T03:58:43.6283630Z ---- [ui] ui/builtin-clone-unwind.rs stdout ----
2020-01-13T03:58:43.6283630Z ---- [ui] ui/builtin-clone-unwind.rs stdout ----
2020-01-13T03:58:43.6283678Z 
2020-01-13T03:58:43.6283754Z error: test run failed!
2020-01-13T03:58:43.6283834Z status: exit code: 1
2020-01-13T03:58:43.6284194Z command: "/emsdk-portable/node/12.9.1_64bit/bin/node" "/checkout/obj/build/x86_64-unknown-linux-gnu/test/ui/builtin-clone-unwind/a.js"
2020-01-13T03:58:43.6284834Z ------------------------------------------
2020-01-13T03:58:43.6284938Z undefined
2020-01-13T03:58:43.6284974Z 
2020-01-13T03:58:43.6285226Z ------------------------------------------
2020-01-13T03:58:43.6285226Z ------------------------------------------
2020-01-13T03:58:43.6285298Z stderr:
2020-01-13T03:58:43.6285539Z ------------------------------------------
2020-01-13T03:58:43.6285846Z thread 'main' panicked at 'oops', /checkout/src/test/ui/builtin-clone-unwind.rs:18:13
2020-01-13T03:58:43.6286068Z fatal runtime error: Rust panics must be rethrown
2020-01-13T03:58:43.6286153Z undefined
2020-01-13T03:58:43.6286153Z undefined
2020-01-13T03:58:43.6286216Z exception thrown: abort(undefined) at Error
2020-01-13T03:58:43.6286561Z     at jsStackTrace (/checkout/obj/build/x86_64-unknown-linux-gnu/test/ui/builtin-clone-unwind/a.js:1756:17)
2020-01-13T03:58:43.6286919Z     at stackTrace (/checkout/obj/build/x86_64-unknown-linux-gnu/test/ui/builtin-clone-unwind/a.js:1773:16)
2020-01-13T03:58:43.6287266Z     at abort (/checkout/obj/build/x86_64-unknown-linux-gnu/test/ui/builtin-clone-unwind/a.js:1564:44)
2020-01-13T03:58:43.6287613Z     at _abort (/checkout/obj/build/x86_64-unknown-linux-gnu/test/ui/builtin-clone-unwind/a.js:5107:7)
2020-01-13T03:58:43.6287889Z     at wasm-function[183]:1
2020-01-13T03:58:43.6288215Z     at wasm-function[191]:63
2020-01-13T03:58:43.6288466Z     at wasm-function[198]:47
2020-01-13T03:58:43.6288729Z     at wasm-function[217]:93
2020-01-13T03:58:43.6289095Z     at wasm-function[372]:5
2020-01-13T03:58:43.6289520Z     at Object.Module.dynCall_ii (/checkout/obj/build/x86_64-unknown-linux-gnu/test/ui/builtin-clone-unwind/a.js:5542:38)
2020-01-13T03:58:43.6289868Z ------------------------------------------
2020-01-13T03:58:43.6289920Z 
2020-01-13T03:58:43.6289959Z 
2020-01-13T03:58:43.6290233Z ---- [ui] ui/catch-unwind-bang.rs stdout ----
2020-01-13T03:58:43.6290233Z ---- [ui] ui/catch-unwind-bang.rs stdout ----
2020-01-13T03:58:43.6290373Z 
2020-01-13T03:58:43.6290454Z error: test run failed!
2020-01-13T03:58:43.6290525Z status: exit code: 1
2020-01-13T03:58:43.6290943Z command: "/emsdk-portable/node/12.9.1_64bit/bin/node" "/checkout/obj/build/x86_64-unknown-linux-gnu/test/ui/catch-unwind-bang/a.js"
2020-01-13T03:58:43.6291838Z ------------------------------------------
2020-01-13T03:58:43.6291946Z undefined
2020-01-13T03:58:43.6292192Z 
2020-01-13T03:58:43.6292510Z ------------------------------------------
2020-01-13T03:58:43.6292510Z ------------------------------------------
2020-01-13T03:58:43.6292602Z stderr:
2020-01-13T03:58:43.6292848Z ------------------------------------------
2020-01-13T03:58:43.6293174Z thread 'main' panicked at 'explicit panic', /checkout/src/test/ui/catch-unwind-bang.rs:5:5
2020-01-13T03:58:43.6293291Z note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace.
2020-01-13T03:58:43.6293380Z fatal runtime error: Rust panics must be rethrown
2020-01-13T03:58:43.6293472Z undefined
2020-01-13T03:58:43.6293545Z exception thrown: abort(undefined) at Error
2020-01-13T03:58:43.6293887Z     at jsStackTrace (/checkout/obj/build/x86_64-unknown-linux-gnu/test/ui/catch-unwind-bang/a.js:1756:17)
2020-01-13T03:58:43.6294225Z     at stackTrace (/checkout/obj/build/x86_64-unknown-linux-gnu/test/ui/catch-unwind-bang/a.js:1773:16)
2020-01-13T03:58:43.6294571Z     at abort (/checkout/obj/build/x86_64-unknown-linux-gnu/test/ui/catch-unwind-bang/a.js:1564:44)
2020-01-13T03:58:43.6294895Z     at _abort (/checkout/obj/build/x86_64-unknown-linux-gnu/test/ui/catch-unwind-bang/a.js:5107:7)
2020-01-13T03:58:43.6295165Z     at wasm-function[178]:1
2020-01-13T03:58:43.6295407Z     at wasm-function[186]:63
2020-01-13T03:58:43.6295631Z     at wasm-function[193]:47
2020-01-13T03:58:43.6295866Z     at wasm-function[212]:93
2020-01-13T03:58:43.6296087Z     at wasm-function[367]:5
2020-01-13T03:58:43.6296439Z     at Object.Module.dynCall_ii (/checkout/obj/build/x86_64-unknown-linux-gnu/test/ui/catch-unwind-bang/a.js:5542:38)
2020-01-13T03:58:43.6296793Z ------------------------------------------
2020-01-13T03:58:43.6296844Z 
2020-01-13T03:58:43.6296880Z 
2020-01-13T03:58:43.6297155Z ---- [ui] ui/drop/dynamic-drop-async.rs stdout ----
2020-01-13T03:58:43.6297155Z ---- [ui] ui/drop/dynamic-drop-async.rs stdout ----
2020-01-13T03:58:43.6297208Z 
2020-01-13T03:58:43.6297284Z error: test run failed!
2020-01-13T03:58:43.6297354Z status: exit code: 1
2020-01-13T03:58:43.6297753Z command: "/emsdk-portable/node/12.9.1_64bit/bin/node" "/checkout/obj/build/x86_64-unknown-linux-gnu/test/ui/drop/dynamic-drop-async/a.js"
2020-01-13T03:58:43.6298132Z ------------------------------------------
2020-01-13T03:58:43.6298206Z undefined
2020-01-13T03:58:43.6298261Z 
2020-01-13T03:58:43.6298511Z ------------------------------------------
2020-01-13T03:58:43.6298511Z ------------------------------------------
2020-01-13T03:58:43.6298600Z stderr:
2020-01-13T03:58:43.6298846Z ------------------------------------------
2020-01-13T03:58:43.6299186Z thread 'main' panicked at 'Box<Any>', /checkout/src/test/ui/drop/dynamic-drop-async.rs:81:13
2020-01-13T03:58:43.6299301Z note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace.
2020-01-13T03:58:43.6299408Z fatal runtime error: Rust panics must be rethrown
2020-01-13T03:58:43.6299483Z undefined
2020-01-13T03:58:43.6299565Z exception thrown: abort(undefined) at Error
2020-01-13T03:58:43.6299937Z     at jsStackTrace (/checkout/obj/build/x86_64-unknown-linux-gnu/test/ui/drop/dynamic-drop-async/a.js:1756:17)
2020-01-13T03:58:43.6300309Z     at stackTrace (/checkout/obj/build/x86_64-unknown-linux-gnu/test/ui/drop/dynamic-drop-async/a.js:1773:16)
2020-01-13T03:58:43.6300831Z     at abort (/checkout/obj/build/x86_64-unknown-linux-gnu/test/ui/drop/dynamic-drop-async/a.js:1564:44)
2020-01-13T03:58:43.6301247Z     at _abort (/checkout/obj/build/x86_64-unknown-linux-gnu/test/ui/drop/dynamic-drop-async/a.js:5107:7)
2020-01-13T03:58:43.6301532Z     at wasm-function[342]:1
2020-01-13T03:58:43.6301778Z     at wasm-function[353]:64
2020-01-13T03:58:43.6302480Z     at wasm-function[360]:47
2020-01-13T03:58:43.6302909Z     at wasm-function[381]:94
2020-01-13T03:58:43.6303156Z     at wasm-function[537]:5
2020-01-13T03:58:43.6303509Z     at Object.Module.dynCall_ii (/checkout/obj/build/x86_64-unknown-linux-gnu/test/ui/drop/dynamic-drop-async/a.js:5542:38)
2020-01-13T03:58:43.6303821Z ------------------------------------------
2020-01-13T03:58:43.6303885Z 
2020-01-13T03:58:43.6303919Z 
2020-01-13T03:58:43.6304167Z ---- [ui] ui/drop/dynamic-drop.rs stdout ----
2020-01-13T03:58:43.6304167Z ---- [ui] ui/drop/dynamic-drop.rs stdout ----
2020-01-13T03:58:43.6304215Z 
2020-01-13T03:58:43.6304275Z error: test run failed!
2020-01-13T03:58:43.6304367Z status: exit code: 1
2020-01-13T03:58:43.6304734Z command: "/emsdk-portable/node/12.9.1_64bit/bin/node" "/checkout/obj/build/x86_64-unknown-linux-gnu/test/ui/drop/dynamic-drop/a.js"
2020-01-13T03:58:43.6305080Z ------------------------------------------
2020-01-13T03:58:43.6305151Z undefined
2020-01-13T03:58:43.6305186Z 
2020-01-13T03:58:43.6305428Z ------------------------------------------
2020-01-13T03:58:43.6305428Z ------------------------------------------
2020-01-13T03:58:43.6305524Z stderr:
2020-01-13T03:58:43.6305752Z ------------------------------------------
2020-01-13T03:58:43.6306062Z thread 'main' panicked at 'Box<Any>', /checkout/src/test/ui/drop/dynamic-drop.rs:49:13
2020-01-13T03:58:43.6306165Z note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace.
2020-01-13T03:58:43.6306268Z fatal runtime error: Rust panics must be rethrown
2020-01-13T03:58:43.6306340Z undefined
2020-01-13T03:58:43.6306419Z exception thrown: abort(undefined) at Error
2020-01-13T03:58:43.6306749Z     at jsStackTrace (/checkout/obj/build/x86_64-unknown-linux-gnu/test/ui/drop/dynamic-drop/a.js:1756:17)
2020-01-13T03:58:43.6307131Z     at stackTrace (/checkout/obj/build/x86_64-unknown-linux-gnu/test/ui/drop/dynamic-drop/a.js:1773:16)
2020-01-13T03:58:43.6307499Z     at abort (/checkout/obj/build/x86_64-unknown-linux-gnu/test/ui/drop/dynamic-drop/a.js:1564:44)
2020-01-13T03:58:43.6307851Z     at _abort (/checkout/obj/build/x86_64-unknown-linux-gnu/test/ui/drop/dynamic-drop/a.js:5107:7)
2020-01-13T03:58:43.6308138Z     at wasm-function[326]:1
2020-01-13T03:58:43.6308382Z     at wasm-function[334]:64
2020-01-13T03:58:43.6308644Z     at wasm-function[341]:47
2020-01-13T03:58:43.6308887Z     at wasm-function[362]:94
2020-01-13T03:58:43.6309147Z     at wasm-function[517]:5
2020-01-13T03:58:43.6309502Z     at Object.Module.dynCall_ii (/checkout/obj/build/x86_64-unknown-linux-gnu/test/ui/drop/dynamic-drop/a.js:5542:38)
2020-01-13T03:58:43.6309843Z ------------------------------------------
2020-01-13T03:58:43.6309911Z 
2020-01-13T03:58:43.6309956Z 
2020-01-13T03:58:43.6310221Z ---- [ui] ui/generator/panic-drops.rs stdout ----
2020-01-13T03:58:43.6310221Z ---- [ui] ui/generator/panic-drops.rs stdout ----
2020-01-13T03:58:43.6310289Z 
2020-01-13T03:58:43.6310351Z error: test run failed!
2020-01-13T03:58:43.6310435Z status: exit code: 1
2020-01-13T03:58:43.6310812Z command: "/emsdk-portable/node/12.9.1_64bit/bin/node" "/checkout/obj/build/x86_64-unknown-linux-gnu/test/ui/generator/panic-drops/a.js"
2020-01-13T03:58:43.6311189Z ------------------------------------------
2020-01-13T03:58:43.6311281Z undefined
2020-01-13T03:58:43.6311320Z 
2020-01-13T03:58:43.6311582Z ------------------------------------------
2020-01-13T03:58:43.6311582Z ------------------------------------------
2020-01-13T03:58:43.6311655Z stderr:
2020-01-13T03:58:43.6311919Z ------------------------------------------
2020-01-13T03:58:43.6312521Z thread 'main' panicked at 'explicit panic', /checkout/src/test/ui/generator/panic-drops.rs:30:13
2020-01-13T03:58:43.6312651Z note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace.
2020-01-13T03:58:43.6312869Z fatal runtime error: Rust panics must be rethrown
2020-01-13T03:58:43.6312950Z undefined
2020-01-13T03:58:43.6313029Z exception thrown: abort(undefined) at Error
2020-01-13T03:58:43.6313395Z     at jsStackTrace (/checkout/obj/build/x86_64-unknown-linux-gnu/test/ui/generator/panic-drops/a.js:1756:17)
2020-01-13T03:58:43.6313754Z     at stackTrace (/checkout/obj/build/x86_64-unknown-linux-gnu/test/ui/generator/panic-drops/a.js:1773:16)
2020-01-13T03:58:43.6314198Z     at abort (/checkout/obj/build/x86_64-unknown-linux-gnu/test/ui/generator/panic-drops/a.js:1564:44)
2020-01-13T03:58:43.6314549Z     at _abort (/checkout/obj/build/x86_64-unknown-linux-gnu/test/ui/generator/panic-drops/a.js:5107:7)
2020-01-13T03:58:43.6314809Z     at wasm-function[181]:1
2020-01-13T03:58:43.6315036Z     at wasm-function[189]:63
2020-01-13T03:58:43.6315274Z     at wasm-function[196]:47
2020-01-13T03:58:43.6315498Z     at wasm-function[215]:93
2020-01-13T03:58:43.6315733Z     at wasm-function[370]:5
2020-01-13T03:58:43.6316080Z     at Object.Module.dynCall_ii (/checkout/obj/build/x86_64-unknown-linux-gnu/test/ui/generator/panic-drops/a.js:5542:38)
2020-01-13T03:58:43.6316426Z ------------------------------------------
2020-01-13T03:58:43.6316475Z 
2020-01-13T03:58:43.6316528Z 
2020-01-13T03:58:43.6316786Z ---- [ui] ui/generator/panic-safe.rs stdout ----
2020-01-13T03:58:43.6316786Z ---- [ui] ui/generator/panic-safe.rs stdout ----
2020-01-13T03:58:43.6316852Z 
2020-01-13T03:58:43.6316914Z error: test run failed!
2020-01-13T03:58:43.6317009Z status: exit code: 1
2020-01-13T03:58:43.6317387Z command: "/emsdk-portable/node/12.9.1_64bit/bin/node" "/checkout/obj/build/x86_64-unknown-linux-gnu/test/ui/generator/panic-safe/a.js"
2020-01-13T03:58:43.6317755Z ------------------------------------------
2020-01-13T03:58:43.6317846Z undefined
2020-01-13T03:58:43.6317884Z 
2020-01-13T03:58:43.6318147Z ------------------------------------------
2020-01-13T03:58:43.6318147Z ------------------------------------------
2020-01-13T03:58:43.6318221Z stderr:
2020-01-13T03:58:43.6318485Z ------------------------------------------
2020-01-13T03:58:43.6318824Z thread 'main' panicked at 'explicit panic', /checkout/src/test/ui/generator/panic-safe.rs:14:13
2020-01-13T03:58:43.6318949Z note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace.
2020-01-13T03:58:43.6319041Z fatal runtime error: Rust panics must be rethrown
2020-01-13T03:58:43.6319130Z undefined
2020-01-13T03:58:43.6319197Z exception thrown: abort(undefined) at Error
2020-01-13T03:58:43.6319571Z     at jsStackTrace (/checkout/obj/build/x86_64-unknown-linux-gnu/test/ui/generator/panic-safe/a.js:1756:17)
2020-01-13T03:58:43.6319954Z     at stackTrace (/checkout/obj/build/x86_64-unknown-linux-gnu/test/ui/generator/panic-safe/a.js:1773:16)
2020-01-13T03:58:43.6320314Z     at abort (/checkout/obj/build/x86_64-unknown-linux-gnu/test/ui/generator/panic-safe/a.js:1564:44)
2020-01-13T03:58:43.6320683Z     at _abort (/checkout/obj/build/x86_64-unknown-linux-gnu/test/ui/generator/panic-safe/a.js:5107:7)
2020-01-13T03:58:43.6320945Z     at wasm-function[177]:1
2020-01-13T03:58:43.6321217Z     at wasm-function[185]:63
2020-01-13T03:58:43.6321463Z     at wasm-function[192]:47
2020-01-13T03:58:43.6321723Z     at wasm-function[211]:93
2020-01-13T03:58:43.6321962Z     at wasm-function[366]:5
2020-01-13T03:58:43.6323021Z     at Object.Module.dynCall_ii (/checkout/obj/build/x86_64-unknown-linux-gnu/test/ui/generator/panic-safe/a.js:5542:38)
2020-01-13T03:58:43.6323371Z ------------------------------------------
2020-01-13T03:58:43.6323419Z 
2020-01-13T03:58:43.6323469Z 
2020-01-13T03:58:43.6323720Z ---- [ui] ui/generator/resume-after-return.rs stdout ----
2020-01-13T03:58:43.6323720Z ---- [ui] ui/generator/resume-after-return.rs stdout ----
2020-01-13T03:58:43.6323772Z 
2020-01-13T03:58:43.6323848Z error: test run failed!
2020-01-13T03:58:43.6323914Z status: exit code: 1
2020-01-13T03:58:43.6324295Z command: "/emsdk-portable/node/12.9.1_64bit/bin/node" "/checkout/obj/build/x86_64-unknown-linux-gnu/test/ui/generator/resume-after-return/a.js"
2020-01-13T03:58:43.6324643Z ------------------------------------------
2020-01-13T03:58:43.6324842Z undefined
2020-01-13T03:58:43.6324888Z 
2020-01-13T03:58:43.6325150Z ------------------------------------------
2020-01-13T03:58:43.6325150Z ------------------------------------------
2020-01-13T03:58:43.6325238Z stderr:
2020-01-13T03:58:43.6325464Z ------------------------------------------
2020-01-13T03:58:43.6325823Z thread 'main' panicked at 'generator resumed after completion', /checkout/src/test/ui/generator/resume-after-return.rs:12:19
2020-01-13T03:58:43.6326036Z note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace.
2020-01-13T03:58:43.6326126Z fatal runtime error: Rust panics must be rethrown
2020-01-13T03:58:43.6326211Z undefined
2020-01-13T03:58:43.6326276Z exception thrown: abort(undefined) at Error
2020-01-13T03:58:43.6326650Z     at jsStackTrace (/checkout/obj/build/x86_64-unknown-linux-gnu/test/ui/generator/resume-after-return/a.js:1756:17)
2020-01-13T03:58:43.6327008Z     at stackTrace (/checkout/obj/build/x86_64-unknown-linux-gnu/test/ui/generator/resume-after-return/a.js:1773:16)
2020-01-13T03:58:43.6327385Z     at abort (/checkout/obj/build/x86_64-unknown-linux-gnu/test/ui/generator/resume-after-return/a.js:1564:44)
2020-01-13T03:58:43.6327749Z     at _abort (/checkout/obj/build/x86_64-unknown-linux-gnu/test/ui/generator/resume-after-return/a.js:5107:7)
2020-01-13T03:58:43.6328015Z     at wasm-function[177]:1
2020-01-13T03:58:43.6328274Z     at wasm-function[185]:63
2020-01-13T03:58:43.6328520Z     at wasm-function[192]:47
2020-01-13T03:58:43.6328787Z     at wasm-function[211]:93
2020-01-13T03:58:43.6329026Z     at wasm-function[366]:5
2020-01-13T03:58:43.6329413Z     at Object.Module.dynCall_ii (/checkout/obj/build/x86_64-unknown-linux-gnu/test/ui/generator/resume-after-return/a.js:5542:38)
2020-01-13T03:58:43.6329757Z ------------------------------------------
2020-01-13T03:58:43.6329807Z 
2020-01-13T03:58:43.6329843Z 
2020-01-13T03:58:43.6330116Z ---- [ui] ui/issues/issue-14875.rs stdout ----
2020-01-13T03:58:43.6330116Z ---- [ui] ui/issues/issue-14875.rs stdout ----
2020-01-13T03:58:43.6330167Z 
2020-01-13T03:58:43.6330246Z error: test run failed!
2020-01-13T03:58:43.6330324Z status: exit code: 1
2020-01-13T03:58:43.6330717Z command: "/emsdk-portable/node/12.9.1_64bit/bin/node" "/checkout/obj/build/x86_64-unknown-linux-gnu/test/ui/issues/issue-14875/a.js"
2020-01-13T03:58:43.6371701Z ------------------------------------------
2020-01-13T03:58:43.6371824Z undefined
2020-01-13T03:58:43.6371896Z 
2020-01-13T03:58:43.6372587Z ------------------------------------------
2020-01-13T03:58:43.6372587Z ------------------------------------------
2020-01-13T03:58:43.6372716Z stderr:
2020-01-13T03:58:43.6372970Z ------------------------------------------
2020-01-13T03:58:43.6373297Z thread 'main' panicked at 'test panic', /checkout/src/test/ui/issues/issue-14875.rs:21:9
2020-01-13T03:58:43.6373401Z note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace.
2020-01-13T03:58:43.6373506Z fatal runtime error: Rust panics must be rethrown
2020-01-13T03:58:43.6373593Z undefined
2020-01-13T03:58:43.6373657Z exception thrown: abort(undefined) at Error
2020-01-13T03:58:43.6374019Z     at jsStackTrace (/checkout/obj/build/x86_64-unknown-linux-gnu/test/ui/issues/issue-14875/a.js:1756:17)
2020-01-13T03:58:43.6374364Z     at stackTrace (/checkout/obj/build/x86_64-unknown-linux-gnu/test/ui/issues/issue-14875/a.js:1773:16)
2020-01-13T03:58:43.6374716Z     at abort (/checkout/obj/build/x86_64-unknown-linux-gnu/test/ui/issues/issue-14875/a.js:1564:44)
2020-01-13T03:58:43.6375045Z     at _abort (/checkout/obj/build/x86_64-unknown-linux-gnu/test/ui/issues/issue-14875/a.js:5107:7)
2020-01-13T03:58:43.6375356Z     at wasm-function[177]:1
2020-01-13T03:58:43.6375621Z     at wasm-function[185]:63
2020-01-13T03:58:43.6375870Z     at wasm-function[192]:47
2020-01-13T03:58:43.6376129Z     at wasm-function[211]:93
2020-01-13T03:58:43.6376373Z     at wasm-function[366]:5
2020-01-13T03:58:43.6376747Z     at Object.Module.dynCall_ii (/checkout/obj/build/x86_64-unknown-linux-gnu/test/ui/issues/issue-14875/a.js:5542:38)
2020-01-13T03:58:43.6377092Z ------------------------------------------
2020-01-13T03:58:43.6377336Z 
2020-01-13T03:58:43.6377384Z 
2020-01-13T03:58:43.6377707Z ---- [ui] ui/issues/issue-29948.rs stdout ----
2020-01-13T03:58:43.6377707Z ---- [ui] ui/issues/issue-29948.rs stdout ----
2020-01-13T03:58:43.6377759Z 
2020-01-13T03:58:43.6377836Z error: test run failed!
2020-01-13T03:58:43.6377906Z status: exit code: 1
2020-01-13T03:58:43.6378302Z command: "/emsdk-portable/node/12.9.1_64bit/bin/node" "/checkout/obj/build/x86_64-unknown-linux-gnu/test/ui/issues/issue-29948/a.js"
2020-01-13T03:58:43.6378808Z ------------------------------------------
2020-01-13T03:58:43.6378884Z undefined
2020-01-13T03:58:43.6378937Z 
2020-01-13T03:58:43.6379189Z ------------------------------------------
2020-01-13T03:58:43.6379189Z ------------------------------------------
2020-01-13T03:58:43.6379278Z stderr:
2020-01-13T03:58:43.6379524Z ------------------------------------------
2020-01-13T03:58:43.6379869Z thread 'main' panicked at 'explicit panic', /checkout/src/test/ui/issues/issue-29948.rs:34:42
2020-01-13T03:58:43.6379976Z note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace.
2020-01-13T03:58:43.6380096Z fatal runtime error: Rust panics must be rethrown
2020-01-13T03:58:43.6380171Z undefined
2020-01-13T03:58:43.6380252Z exception thrown: abort(undefined) at Error
2020-01-13T03:58:43.6380606Z     at jsStackTrace (/checkout/obj/build/x86_64-unknown-linux-gnu/test/ui/issues/issue-29948/a.js:1756:17)
2020-01-13T03:58:43.6380986Z     at stackTrace (/checkout/obj/build/x86_64-unknown-linux-gnu/test/ui/issues/issue-29948/a.js:1773:16)
2020-01-13T03:58:43.6381370Z     at abort (/checkout/obj/build/x86_64-unknown-linux-gnu/test/ui/issues/issue-29948/a.js:1564:44)
2020-01-13T03:58:43.6381724Z     at _abort (/checkout/obj/build/x86_64-unknown-linux-gnu/test/ui/issues/issue-29948/a.js:5107:7)
2020-01-13T03:58:43.6382276Z     at wasm-function[177]:1
2020-01-13T03:58:43.6382908Z     at wasm-function[185]:63
2020-01-13T03:58:43.6383171Z     at wasm-function[192]:47
2020-01-13T03:58:43.6383392Z     at wasm-function[211]:93
2020-01-13T03:58:43.6383631Z     at wasm-function[366]:5
2020-01-13T03:58:43.6383990Z     at Object.Module.dynCall_ii (/checkout/obj/build/x86_64-unknown-linux-gnu/test/ui/issues/issue-29948/a.js:5542:38)
2020-01-13T03:58:43.6384301Z ------------------------------------------
2020-01-13T03:58:43.6384369Z 
2020-01-13T03:58:43.6384404Z 
2020-01-13T03:58:43.6384701Z ---- [ui] ui/issues/issue-43853.rs stdout ----
2020-01-13T03:58:43.6384701Z ---- [ui] ui/issues/issue-43853.rs stdout ----
2020-01-13T03:58:43.6384751Z 
2020-01-13T03:58:43.6384822Z error: test run failed!
2020-01-13T03:58:43.6384905Z status: exit code: 1
2020-01-13T03:58:43.6385260Z command: "/emsdk-portable/node/12.9.1_64bit/bin/node" "/checkout/obj/build/x86_64-unknown-linux-gnu/test/ui/issues/issue-43853/a.js"
2020-01-13T03:58:43.6385626Z ------------------------------------------
2020-01-13T03:58:43.6385697Z undefined
2020-01-13T03:58:43.6385733Z 
2020-01-13T03:58:43.6385973Z ------------------------------------------
2020-01-13T03:58:43.6385973Z ------------------------------------------
2020-01-13T03:58:43.6386066Z stderr:
2020-01-13T03:58:43.6386323Z ------------------------------------------
2020-01-13T03:58:43.6386650Z thread 'main' panicked at 'explicit panic', /checkout/src/test/ui/issues/issue-43853.rs:7:13
2020-01-13T03:58:43.6386755Z note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace.
2020-01-13T03:58:43.6386861Z fatal runtime error: Rust panics must be rethrown
2020-01-13T03:58:43.6386934Z undefined
2020-01-13T03:58:43.6387011Z exception thrown: abort(undefined) at Error
2020-01-13T03:58:43.6387344Z     at jsStackTrace (/checkout/obj/build/x86_64-unknown-linux-gnu/test/ui/issues/issue-43853/a.js:1756:17)
2020-01-13T03:58:43.6387698Z     at stackTrace (/checkout/obj/build/x86_64-unknown-linux-gnu/test/ui/issues/issue-43853/a.js:1773:16)
2020-01-13T03:58:43.6388029Z     at abort (/checkout/obj/build/x86_64-unknown-linux-gnu/test/ui/issues/issue-43853/a.js:1564:44)
2020-01-13T03:58:43.6388373Z     at _abort (/checkout/obj/build/x86_64-unknown-linux-gnu/test/ui/issues/issue-43853/a.js:5107:7)
2020-01-13T03:58:43.6388651Z     at wasm-function[179]:1
2020-01-13T03:58:43.6389346Z     at wasm-function[187]:63
2020-01-13T03:58:43.6389659Z     at wasm-function[194]:47
2020-01-13T03:58:43.6389902Z     at wasm-function[213]:93
2020-01-13T03:58:43.6390156Z     at wasm-function[368]:5
2020-01-13T03:58:43.6390511Z     at Object.Module.dynCall_ii (/checkout/obj/build/x86_64-unknown-linux-gnu/test/ui/issues/issue-43853/a.js:5542:38)
2020-01-13T03:58:43.6390854Z ------------------------------------------
2020-01-13T03:58:43.6391009Z 
2020-01-13T03:58:43.6391047Z 
2020-01-13T03:58:43.6391331Z ---- [ui] ui/issues/issue-46519.rs stdout ----
2020-01-13T03:58:43.6391331Z ---- [ui] ui/issues/issue-46519.rs stdout ----
2020-01-13T03:58:43.6391399Z 
2020-01-13T03:58:43.6391463Z error: test run failed!
2020-01-13T03:58:43.6391547Z status: exit code: 1
2020-01-13T03:58:43.6391922Z command: "/emsdk-portable/node/12.9.1_64bit/bin/node" "/checkout/obj/build/x86_64-unknown-linux-gnu/test/ui/issues/issue-46519/a.js"
2020-01-13T03:58:43.6392589Z ------------------------------------------
2020-01-13T03:58:43.6392656Z 
2020-01-13T03:58:43.6392729Z running 1 test
2020-01-13T03:58:43.6392809Z undefined
2020-01-13T03:58:43.6392809Z undefined
2020-01-13T03:58:43.6392845Z 
2020-01-13T03:58:43.6393093Z ------------------------------------------
2020-01-13T03:58:43.6393165Z stderr:
2020-01-13T03:58:43.6393405Z ------------------------------------------
2020-01-13T03:58:43.6393484Z fatal runtime error: Rust panics must be rethrown
2020-01-13T03:58:43.6393570Z undefined
2020-01-13T03:58:43.6393643Z exception thrown: abort(undefined) at Error
2020-01-13T03:58:43.6393985Z     at jsStackTrace (/checkout/obj/build/x86_64-unknown-linux-gnu/test/ui/issues/issue-46519/a.js:1757:17)
2020-01-13T03:58:43.6394321Z     at stackTrace (/checkout/obj/build/x86_64-unknown-linux-gnu/test/ui/issues/issue-46519/a.js:1774:16)
2020-01-13T03:58:43.6394666Z     at abort (/checkout/obj/build/x86_64-unknown-linux-gnu/test/ui/issues/issue-46519/a.js:1565:44)
2020-01-13T03:58:43.6395009Z     at _abort (/checkout/obj/build/x86_64-unknown-linux-gnu/test/ui/issues/issue-46519/a.js:5554:7)
2020-01-13T03:58:43.6395285Z     at wasm-function[870]:1
2020-01-13T03:58:43.6395547Z     at wasm-function[892]:65
2020-01-13T03:58:43.6395791Z     at wasm-function[899]:49
2020-01-13T03:58:43.6396048Z     at wasm-function[935]:93
2020-01-13T03:58:43.6396290Z     at wasm-function[1168]:5
2020-01-13T03:58:43.6396662Z     at Object.Module.dynCall_ii (/checkout/obj/build/x86_64-unknown-linux-gnu/test/ui/issues/issue-46519/a.js:6346:38)
2020-01-13T03:58:43.6397011Z ------------------------------------------
2020-01-13T03:58:43.6397063Z 
2020-01-13T03:58:43.6397100Z 
2020-01-13T03:58:43.6397388Z ---- [ui] ui/iterators/iter-count-overflow-debug.rs stdout ----
2020-01-13T03:58:43.6397388Z ---- [ui] ui/iterators/iter-count-overflow-debug.rs stdout ----
2020-01-13T03:58:43.6397445Z 
2020-01-13T03:58:43.6397523Z error: test run failed!
2020-01-13T03:58:43.6397593Z status: exit code: 1
2020-01-13T03:58:43.6398004Z command: "/emsdk-portable/node/12.9.1_64bit/bin/node" "/checkout/obj/build/x86_64-unknown-linux-gnu/test/ui/iterators/iter-count-overflow-debug/a.js"
2020-01-13T03:58:43.6398390Z ------------------------------------------
2020-01-13T03:58:43.6398464Z undefined
2020-01-13T03:58:43.6398517Z 
2020-01-13T03:58:43.6398764Z ------------------------------------------
2020-01-13T03:58:43.6398764Z ------------------------------------------
2020-01-13T03:58:43.6398852Z stderr:
2020-01-13T03:58:43.6399099Z ------------------------------------------
2020-01-13T03:58:43.6399444Z thread 'main' panicked at 'attempt to add with overflow', /checkout/src/libcore/ops/arith.rs:94:45
2020-01-13T03:58:43.6399563Z note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace.
2020-01-13T03:58:43.6399672Z fatal runtime error: Rust panics must be rethrown
2020-01-13T03:58:43.6399761Z undefined
2020-01-13T03:58:43.6399827Z exception thrown: abort(undefined) at Error
2020-01-13T03:58:43.6400210Z     at jsStackTrace (/checkout/obj/build/x86_64-unknown-linux-gnu/test/ui/iterators/iter-count-overflow-debug/a.js:1756:17)
2020-01-13T03:58:43.6400705Z     at stackTrace (/checkout/obj/build/x86_64-unknown-linux-gnu/test/ui/iterators/iter-count-overflow-debug/a.js:1773:16)
2020-01-13T03:58:43.6401141Z     at abort (/checkout/obj/build/x86_64-unknown-linux-gnu/test/ui/iterators/iter-count-overflow-debug/a.js:1564:44)
2020-01-13T03:58:43.6401517Z     at _abort (/checkout/obj/build/x86_64-unknown-linux-gnu/test/ui/iterators/iter-count-overflow-debug/a.js:5107:7)
2020-01-13T03:58:43.6401802Z     at wasm-function[177]:1
2020-01-13T03:58:43.6402429Z     at wasm-function[185]:63
2020-01-13T03:58:43.6402669Z     at wasm-function[192]:47
2020-01-13T03:58:43.6402905Z     at wasm-function[211]:93
2020-01-13T03:58:43.6403125Z     at wasm-function[366]:5
2020-01-13T03:58:43.6403494Z     at Object.Module.dynCall_ii (/checkout/obj/build/x86_64-unknown-linux-gnu/test/ui/iterators/iter-count-overflow-debug/a.js:5542:38)
2020-01-13T03:58:43.6403814Z ------------------------------------------
2020-01-13T03:58:43.6403862Z 
2020-01-13T03:58:43.6403896Z 
2020-01-13T03:58:43.6404178Z ---- [ui] ui/iterators/iter-position-overflow-debug.rs stdout ----
2020-01-13T03:58:43.6404178Z ---- [ui] ui/iterators/iter-position-overflow-debug.rs stdout ----
2020-01-13T03:58:43.6404234Z 
2020-01-13T03:58:43.6404311Z error: test run failed!
2020-01-13T03:58:43.6404378Z status: exit code: 1
2020-01-13T03:58:43.6404769Z command: "/emsdk-portable/node/12.9.1_64bit/bin/node" "/checkout/obj/build/x86_64-unknown-linux-gnu/test/ui/iterators/iter-position-overflow-debug/a.js"
2020-01-13T03:58:43.6405142Z ------------------------------------------
2020-01-13T03:58:43.6405226Z undefined
2020-01-13T03:58:43.6405280Z 
2020-01-13T03:58:43.6405530Z ------------------------------------------
2020-01-13T03:58:43.6405530Z ------------------------------------------
2020-01-13T03:58:43.6405621Z stderr:
2020-01-13T03:58:43.6405866Z ------------------------------------------
2020-01-13T03:58:43.6406214Z thread 'main' panicked at 'attempt to add with overflow', /checkout/src/libcore/ops/arith.rs:94:45
2020-01-13T03:58:43.6406324Z note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace.
2020-01-13T03:58:43.6406431Z fatal runtime error: Rust panics must be rethrown
2020-01-13T03:58:43.6406515Z undefined
2020-01-13T03:58:43.6406597Z exception thrown: abort(undefined) at Error
2020-01-13T03:58:43.6406984Z     at jsStackTrace (/checkout/obj/build/x86_64-unknown-linux-gnu/test/ui/iterators/iter-position-overflow-debug/a.js:1756:17)
2020-01-13T03:58:43.6407379Z     at stackTrace (/checkout/obj/build/x86_64-unknown-linux-gnu/test/ui/iterators/iter-position-overflow-debug/a.js:1773:16)
2020-01-13T03:58:43.6407784Z     at abort (/checkout/obj/build/x86_64-unknown-linux-gnu/test/ui/iterators/iter-position-overflow-debug/a.js:1564:44)
2020-01-13T03:58:43.6408162Z     at _abort (/checkout/obj/build/x86_64-unknown-linux-gnu/test/ui/iterators/iter-position-overflow-debug/a.js:5107:7)
2020-01-13T03:58:43.6408444Z     at wasm-function[180]:1
2020-01-13T03:58:43.6408688Z     at wasm-function[188]:63
2020-01-13T03:58:43.6408950Z     at wasm-function[195]:47
2020-01-13T03:58:43.6409206Z     at wasm-function[214]:93
2020-01-13T03:58:43.6409442Z     at wasm-function[369]:5
2020-01-13T03:58:43.6409848Z     at Object.Module.dynCall_ii (/checkout/obj/build/x86_64-unknown-linux-gnu/test/ui/iterators/iter-position-overflow-debug/a.js:5542:38)
2020-01-13T03:58:43.6410181Z ------------------------------------------
2020-01-13T03:58:43.6410248Z 
2020-01-13T03:58:43.6410284Z 
2020-01-13T03:58:43.6410569Z ---- [ui] ui/iterators/iter-step-overflow-debug.rs stdout ----
2020-01-13T03:58:43.6410569Z ---- [ui] ui/iterators/iter-step-overflow-debug.rs stdout ----
2020-01-13T03:58:43.6410637Z 
2020-01-13T03:58:43.6410699Z error: test run failed!
2020-01-13T03:58:43.6410975Z status: exit code: 1
2020-01-13T03:58:43.6411843Z command: "/emsdk-portable/node/12.9.1_64bit/bin/node" "/checkout/obj/build/x86_64-unknown-linux-gnu/test/ui/iterators/iter-step-overflow-debug/a.js"
2020-01-13T03:58:43.6412540Z ------------------------------------------
2020-01-13T03:58:43.6412617Z undefined
2020-01-13T03:58:43.6412668Z 
2020-01-13T03:58:43.6412902Z ------------------------------------------
2020-01-13T03:58:43.6412902Z ------------------------------------------
2020-01-13T03:58:43.6412990Z stderr:
2020-01-13T03:58:43.6413353Z ------------------------------------------
2020-01-13T03:58:43.6413731Z thread 'main' panicked at 'attempt to add with overflow', /checkout/src/libcore/ops/arith.rs:94:45
2020-01-13T03:58:43.6413840Z note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace.
2020-01-13T03:58:43.6413943Z fatal runtime error: Rust panics must be rethrown
2020-01-13T03:58:43.6414015Z undefined
2020-01-13T03:58:43.6414183Z exception thrown: abort(undefined) at Error
2020-01-13T03:58:43.6414549Z     at jsStackTrace (/checkout/obj/build/x86_64-unknown-linux-gnu/test/ui/iterators/iter-step-overflow-debug/a.js:1756:17)
2020-01-13T03:58:43.6414928Z     at stackTrace (/checkout/obj/build/x86_64-unknown-linux-gnu/test/ui/iterators/iter-step-overflow-debug/a.js:1773:16)
2020-01-13T03:58:43.6415298Z     at abort (/checkout/obj/build/x86_64-unknown-linux-gnu/test/ui/iterators/iter-step-overflow-debug/a.js:1564:44)
2020-01-13T03:58:43.6415658Z     at _abort (/checkout/obj/build/x86_64-unknown-linux-gnu/test/ui/iterators/iter-step-overflow-debug/a.js:5107:7)
2020-01-13T03:58:43.6415924Z     at wasm-function[180]:1
2020-01-13T03:58:43.6416147Z     at wasm-function[188]:63
2020-01-13T03:58:43.6416389Z     at wasm-function[195]:47
2020-01-13T03:58:43.6416611Z     at wasm-function[214]:93
2020-01-13T03:58:43.6416848Z     at wasm-function[369]:5
2020-01-13T03:58:43.6417214Z     at Object.Module.dynCall_ii (/checkout/obj/build/x86_64-unknown-linux-gnu/test/ui/iterators/iter-step-overflow-debug/a.js:5542:38)
2020-01-13T03:58:43.6417532Z ------------------------------------------
2020-01-13T03:58:43.6417596Z 
2020-01-13T03:58:43.6417630Z 
2020-01-13T03:58:43.6417896Z ---- [ui] ui/iterators/iter-sum-overflow-debug.rs stdout ----
2020-01-13T03:58:43.6417896Z ---- [ui] ui/iterators/iter-sum-overflow-debug.rs stdout ----
2020-01-13T03:58:43.6417951Z 
2020-01-13T03:58:43.6418012Z error: test run failed!
2020-01-13T03:58:43.6418093Z status: exit code: 1
2020-01-13T03:58:43.6418468Z command: "/emsdk-portable/node/12.9.1_64bit/bin/node" "/checkout/obj/build/x86_64-unknown-linux-gnu/test/ui/iterators/iter-sum-overflow-debug/a.js"
2020-01-13T03:58:43.6418835Z ------------------------------------------
2020-01-13T03:58:43.6418906Z undefined
2020-01-13T03:58:43.6418941Z 
2020-01-13T03:58:43.6419183Z ------------------------------------------
2020-01-13T03:58:43.6419183Z ------------------------------------------
2020-01-13T03:58:43.6419253Z stderr:
2020-01-13T03:58:43.6419493Z ------------------------------------------
2020-01-13T03:58:43.6419817Z thread 'main' panicked at 'attempt to add with overflow', /checkout/src/libcore/ops/arith.rs:94:45
2020-01-13T03:58:43.6419932Z note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace.
2020-01-13T03:58:43.6420034Z fatal runtime error: Rust panics must be rethrown
2020-01-13T03:58:43.6420105Z undefined
2020-01-13T03:58:43.6420183Z exception thrown: abort(undefined) at Error
2020-01-13T03:58:43.6420523Z     at jsStackTrace (/checkout/obj/build/x86_64-unknown-linux-gnu/test/ui/iterators/iter-sum-overflow-debug/a.js:1756:17)
2020-01-13T03:58:43.6420906Z     at stackTrace (/checkout/obj/build/x86_64-unknown-linux-gnu/test/ui/iterators/iter-sum-overflow-debug/a.js:1773:16)
2020-01-13T03:58:43.6421275Z     at abort (/checkout/obj/build/x86_64-unknown-linux-gnu/test/ui/iterators/iter-sum-overflow-debug/a.js:1564:44)
2020-01-13T03:58:43.6421625Z     at _abort (/checkout/obj/build/x86_64-unknown-linux-gnu/test/ui/iterators/iter-sum-overflow-debug/a.js:5107:7)
2020-01-13T03:58:43.6421887Z     at wasm-function[182]:1
2020-01-13T03:58:43.6422564Z     at wasm-function[190]:63
2020-01-13T03:58:43.6422822Z     at wasm-function[197]:47
2020-01-13T03:58:43.6423253Z     at wasm-function[216]:93
2020-01-13T03:58:43.6423531Z     at wasm-function[371]:5
2020-01-13T03:58:43.6423879Z     at Object.Module.dynCall_ii (/checkout/obj/build/x86_64-unknown-linux-gnu/test/ui/iterators/iter-sum-overflow-debug/a.js:5542:38)
2020-01-13T03:58:43.6424200Z ------------------------------------------
2020-01-13T03:58:43.6424264Z 
2020-01-13T03:58:43.6424298Z 
2020-01-13T03:58:43.6424673Z ---- [ui] ui/iterators/iter-sum-overflow-overflow-checks.rs stdout ----
2020-01-13T03:58:43.6424673Z ---- [ui] ui/iterators/iter-sum-overflow-overflow-checks.rs stdout ----
2020-01-13T03:58:43.6424756Z 
2020-01-13T03:58:43.6424817Z error: test run failed!
2020-01-13T03:58:43.6424898Z status: exit code: 1
---
2020-01-13T03:58:43.6538030Z thread 'main' panicked at 'Some tests failed', src/tools/compiletest/src/main.rs:387:22
2020-01-13T03:58:43.6538249Z note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace.
2020-01-13T03:58:43.6538402Z 
2020-01-13T03:58:43.6538440Z 
2020-01-13T03:58:43.6540627Z command did not execute successfully: "/checkout/obj/build/x86_64-unknown-linux-gnu/stage0-tools-bin/compiletest" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage0-tools-bin/compiletest" "--compile-lib-path" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/lib" "--run-lib-path" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/lib/rustlib/wasm32-unknown-emscripten/lib" "--rustc-path" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/bin/rustc" "--src-base" "/checkout/src/test/ui" "--build-base" "/checkout/obj/build/x86_64-unknown-linux-gnu/test/ui" "--stage-id" "stage2-wasm32-unknown-emscripten" "--mode" "ui" "--target" "wasm32-unknown-emscripten" "--host" "x86_64-unknown-linux-gnu" "--llvm-filecheck" "/checkout/obj/build/x86_64-unknown-linux-gnu/llvm/build/bin/FileCheck" "--nodejs" "/emsdk-portable/node/12.9.1_64bit/bin/node" "--host-rustcflags" "-Crpath -O -Cdebuginfo=0 -Zunstable-options  -Lnative=/checkout/obj/build/x86_64-unknown-linux-gnu/native/rust-test-helpers" "--target-rustcflags" "-Crpath -O -Cdebuginfo=0 -Zunstable-options  -Lnative=/checkout/obj/build/wasm32-unknown-emscripten/native/rust-test-helpers" "--docck-python" "/usr/bin/python2.7" "--lldb-python" "/usr/bin/python2.7" "--gdb" "/usr/bin/gdb" "--llvm-version" "9.0.0-rust-1.42.0-nightly\n" "--cc" "" "--cxx" "" "--cflags" "" "--llvm-components" "" "--llvm-cxxflags" "" "--adb-path" "adb" "--adb-test-dir" "/data/tmp/work" "--android-cross-path" "" "--color" "always"
2020-01-13T03:58:43.6541436Z 
2020-01-13T03:58:43.6541475Z 
2020-01-13T03:58:43.6541979Z failed to run: /checkout/obj/build/bootstrap/debug/bootstrap test --target wasm32-unknown-emscripten --exclude src/libcore --exclude src/liballoc --exclude src/libproc_macro --exclude src/libstd --exclude src/libterm --exclude src/libtest
2020-01-13T03:58:43.6542378Z Build completed unsuccessfully in 2:15:26
2020-01-13T03:58:43.6542378Z Build completed unsuccessfully in 2:15:26
2020-01-13T03:58:43.6542479Z == clock drift check ==
2020-01-13T03:58:43.6542548Z   local time: Mon Jan 13 03:58:43 UTC 2020
2020-01-13T03:58:44.4975314Z   network time: Mon, 13 Jan 2020 03:58:43 GMT
2020-01-13T03:58:44.4984627Z == end clock drift check ==
2020-01-13T03:58:45.1283953Z 
2020-01-13T03:58:45.1388335Z ##[error]Bash exited with code '1'.
2020-01-13T03:58:45.1466084Z ##[section]Starting: Checkout
2020-01-13T03:58:45.1468101Z ==============================================================================
2020-01-13T03:58:45.1468189Z Task         : Get sources
2020-01-13T03:58:45.1468272Z Description  : Get sources from a repository. Supports Git, TfsVC, and SVN repositories.

I'm a bot! I can only do what humans tell me to, so if this was not helpful or you have suggestions for improvements, please ping or otherwise contact @TimNN. (Feature Requests)

@bors
Copy link
Contributor

bors commented Jan 13, 2020

💔 Test failed - checks-azure

@bors bors added S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. and removed S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. labels Jan 13, 2020
@Amanieu
Copy link
Member Author

Amanieu commented Jan 13, 2020

@bors r=alexcrichton

@bors
Copy link
Contributor

bors commented Jan 13, 2020

📌 Commit 35d72fa376a628c729aac86e6457c41376c6d7ad has been approved by alexcrichton

@bors bors added S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. and removed S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. labels Jan 13, 2020
@Amanieu
Copy link
Member Author

Amanieu commented Jan 13, 2020

@bors r=alexcrichton

@bors
Copy link
Contributor

bors commented Jan 13, 2020

📌 Commit cfde360f05686ae496c146edc036c72bc8e4a826 has been approved by alexcrichton

@bors
Copy link
Contributor

bors commented Jan 13, 2020

⌛ Testing commit cfde360f05686ae496c146edc036c72bc8e4a826 with merge cbb700b656772414ec2269a7de31c1cf80926b8f...

@rust-highfive
Copy link
Collaborator

The job dist-various-1 of your PR failed (pretty log, raw log). Through arcane magic we have determined that the following fragments from the build log may contain information about the problem.

Click to expand the log.
2020-01-13T12:45:57.9432661Z [RUSTC-TIMING] unwind test:false 0.070
2020-01-13T12:45:57.9478221Z    Compiling rustc-std-workspace-alloc v1.99.0 (/checkout/src/tools/rustc-std-workspace-alloc)
2020-01-13T12:45:57.9782566Z [RUSTC-TIMING] rustc_std_workspace_alloc test:false 0.029
2020-01-13T12:45:57.9811476Z    Compiling panic_unwind v0.0.0 (/checkout/src/libpanic_unwind)
2020-01-13T12:45:58.0674546Z error[E0317]: `if` may be missing an `else` clause
2020-01-13T12:45:58.0674957Z   --> src/libpanic_unwind/emcc.rs:91:9
2020-01-13T12:45:58.0675204Z    |
2020-01-13T12:45:58.0675587Z 91 | /         if let Some(b) = (*(ptr as *mut Exception)).data {
2020-01-13T12:45:58.0676162Z 92 | |             drop(b);
2020-01-13T12:45:58.0676681Z 93 | |             super::__rust_drop_panic();
2020-01-13T12:45:58.0677035Z 94 | |         }
2020-01-13T12:45:58.0677377Z    | |_________^ expected `()`, found *-ptr
2020-01-13T12:45:58.0677960Z    = note: expected unit type `()`
2020-01-13T12:45:58.0677960Z    = note: expected unit type `()`
2020-01-13T12:45:58.0678253Z             found raw pointer `*mut core::ffi::c_void`
2020-01-13T12:45:58.0679338Z    = note: `if` expressions without `else` evaluate to `()`
2020-01-13T12:45:58.0684298Z 
2020-01-13T12:45:58.0724426Z error: aborting due to previous error
2020-01-13T12:45:58.0730708Z 
2020-01-13T12:45:58.0741790Z For more information about this error, try `rustc --explain E0317`.
---
2020-01-13T12:45:59.3073777Z   local time: Mon Jan 13 12:45:59 UTC 2020
2020-01-13T12:45:59.4558584Z   network time: Mon, 13 Jan 2020 12:45:59 GMT
2020-01-13T12:45:59.4558899Z == end clock drift check ==
2020-01-13T12:46:07.4667419Z 
2020-01-13T12:46:07.4764815Z ##[error]Bash exited with code '1'.
2020-01-13T12:46:07.4805204Z ##[section]Starting: Checkout
2020-01-13T12:46:07.4809200Z ==============================================================================
2020-01-13T12:46:07.4809297Z Task         : Get sources
2020-01-13T12:46:07.4809486Z Description  : Get sources from a repository. Supports Git, TfsVC, and SVN repositories.

I'm a bot! I can only do what humans tell me to, so if this was not helpful or you have suggestions for improvements, please ping or otherwise contact @TimNN. (Feature Requests)

@bors
Copy link
Contributor

bors commented Jan 13, 2020

💔 Test failed - checks-azure

@bors bors added S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. and removed S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. labels Jan 13, 2020
@Amanieu
Copy link
Member Author

Amanieu commented Jan 13, 2020

@bors r=alexcrichton

@bors
Copy link
Contributor

bors commented Jan 13, 2020

📌 Commit 25519e5 has been approved by alexcrichton

@bors bors added S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. and removed S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. labels Jan 13, 2020
@bors
Copy link
Contributor

bors commented Jan 14, 2020

⌛ Testing commit 25519e5 with merge 8a87b94...

bors added a commit that referenced this pull request Jan 14, 2020
Fix memory leak if C++ catches a Rust panic and discards it

If C++ catches a Rust panic using `catch (...)` and then chooses not to rethrow it, the `Box<dyn Any>` in the exception may be leaked. This PR fixes this by adding the necessary destructors to the exception object.

r? @Mark-Simulacrum
@bors
Copy link
Contributor

bors commented Jan 14, 2020

☀️ Test successful - checks-azure
Approved by: alexcrichton
Pushing 8a87b94 to master...

@bors bors added the merged-by-bors This PR was explicitly merged by bors. label Jan 14, 2020
@bors bors merged commit 25519e5 into rust-lang:master Jan 14, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
merged-by-bors This PR was explicitly merged by bors. S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

6 participants