-
Notifications
You must be signed in to change notification settings - Fork 13k
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
rustc::middle::typeck::check::regionmanip debug! output attempt diverges on libstd.rs #10037
Comments
@alexcrichton has pointed out to me that #9901 might help with this. It depends on what is causing the condition above to be signaled (repeatedly). Still, seems bad to me that we can get into the above infinite loop. |
The infinite loop is an unfortunate side effect of failing. Right now whenever a task fails, it will print that it fails before checking to see whether it's already failing. If this printing raises a condition (an I/O error), then you'll fail because of no handler and start the cycle all over again. The infinite loop would be better dealt with if the condition weren't raised on (or caught explicitly), but the condition definitely shouldn't be raised after #9901 lands. Regardless, I believe that removing conditions will help expose the error going on here so we can deal with it better. |
@alexcrichton the work-around I adopted locally was to hack |
Yes it seems to be fixed post #9901. |
This change fixes issue rust-lang#10037, in more or less the most naive fashion possible. We continue to start with the hardcoded default of "fun_name", and now append a counter to the end of it if that name is already in scope. In the future, we can probably apply more heuristics here to wind up with more useful names by default, but for now this resolves the immediate problem.
…on-duplicate-name, r=DorianListens fix: Extract Function produces duplicate fn names This change fixes rust-lang#10037, in more or less the most naive fashion possible. We continue to start with the hardcoded default of "fun_name", and now append a counter to the end of it if that name is already in scope. In the future, we can probably apply more heuristics here to wind up with more useful names by default, but for now this resolves the immediate problem.
Configure invocation:
configure --enable-debug --enable-optimize --enable-ccache --enable-clang --prefix=~/opt/rust-dbg
Command line:
(End of) output:
Snippet of stack trace (gathered via
( echo r ; echo bt ) | RUST_LOG=rustc::middle::typeck::check::regionmanip gdb --args ../../rust-clean/objdir-dbgopt/x86_64-apple-darwin/stage1/bin/rustc --cfg stage1 -O --cfg rtopt --cfg debug -Z no-debug-borrows --target=x86_64-apple-darwin -D warnings --out-dir x86_64-apple-darwin/stage1/lib/rustc/x86_64-apple-darwin/lib /Users/pnkfelix/Dev/Mozilla/rust.git/src/libstd/std.rs > /tmp/l
):The text was updated successfully, but these errors were encountered: