Join GitHub today
GitHub is home to over 31 million developers working together to host and review code, manage projects, and build software together.
Sign upICE in stable 1.9 - ERROR:rbml::reader: failed to find block with tag 32 | [Avoided by removing type decl from closure scope?] #34027
Comments
This comment has been minimized.
This comment has been minimized.
|
|
nagisa
added
I-ICE
A-metadata
labels
Jun 2, 2016
This comment has been minimized.
This comment has been minimized.
|
After further testing, it appears the ICE occurs whenever the Still unsure of how to work around this atm, but will keep hunting. |
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
|
Interestingly, removing the body of the |
This comment has been minimized.
This comment has been minimized.
|
This might be related to #33364 as in both issues the ICE seems to have appeared in 1.9 and still remains in the current nightly. The example in #33364 also demonstrates that the ICE occurs when doing a blanket impl of some trait for a generic tuple whose elements' types are used as associated types. Conrod uses this same pattern for its Edit: The issue doesn't seem to be related to the blanket impl of |
mitchmindtree
referenced this issue
Jun 6, 2016
Open
ICE: OutputTypeParameterMismatch in failing to resolve associated type as tuple. #33364
mitchmindtree
changed the title
ICE in stable 1.9 - ERROR:rbml::reader: failed to find block with tag 32
ICE in stable 1.9 - ERROR:rbml::reader: failed to find block with tag 32 | [SOLVED by removing type decl from closure scope?]
Jun 7, 2016
This comment has been minimized.
This comment has been minimized.
|
OK, I've managed to work around the ICE in Conrod! It turns out it was being caused by declaring a struct within the scope of a closure. After removing the struct declaration and using local variables instead of fields, the ICE went away. This was within the body of a Note that the ICE wouldn't occur when compiling conrod itself, but would occur when using conrod as a dependency and attempting to use a part of conrod's API that used the code with the closure-scoped struct declaration internally. |
mitchmindtree
changed the title
ICE in stable 1.9 - ERROR:rbml::reader: failed to find block with tag 32 | [SOLVED by removing type decl from closure scope?]
ICE in stable 1.9 - ERROR:rbml::reader: failed to find block with tag 32 | [Avoided by removing type decl from closure scope?]
Jun 7, 2016
This comment has been minimized.
This comment has been minimized.
|
I've managed to hit this very same ICE again in totally unrelated code in a different crate. Will post again when I get some more details. |
bluss
added
the
regression-from-stable-to-stable
label
Jun 8, 2016
This comment has been minimized.
This comment has been minimized.
filmor
commented
Jun 10, 2016
•
|
This bug occurs also in synth in both 1.9 and beta for me, nightly works for this crate. Seems to have something to do with @mitchmindtree's authorship ;) |
This comment has been minimized.
This comment has been minimized.
|
As @filmor mentioned, the synth crate continues to ICE on both stable and beta, though nightly seems to be working. I'd request porting the fix to beta, though I'm unaware which commit to nightly has fixed the issue. Hopefully I'll get a chance to hunt it down before the end of this release cycle. |
This comment has been minimized.
This comment has been minimized.
brson
added
I-nominated
T-compiler
labels
Jun 23, 2016
This comment has been minimized.
This comment has been minimized.
|
@rust-lang/compiler Seems bad, but has a fix. @arielb1 will you go ahead and try to backport a patch? |
This comment has been minimized.
This comment has been minimized.
|
@arielb1 says he can backport to beta, and will also try to target stable as well |
pnkfelix
added
P-high
and removed
I-nominated
labels
Jun 23, 2016
pnkfelix
referenced this issue
Jun 23, 2016
Closed
"called `Result::unwrap()` on an `Err` value: Utf8Error { valid_up_to: 2 }" ICE in stable #33778
This was referenced Jun 29, 2016
nrc
assigned
arielb1
Jul 7, 2016
This comment has been minimized.
This comment has been minimized.
|
correction: not fixed by that PR; we decided to not backport that PR to beta. (See discussion on that ticket.) |
pnkfelix
closed this
Jul 7, 2016
arielb1
referenced this issue
Aug 1, 2016
Closed
Unexpected panic at 'explicit panic', src/librbml/lib.rs:436 #35153
This comment has been minimized.
This comment has been minimized.
|
I managed to avoid the Similarly to the conrod fix, all the PR does is move an item definition (this time a function rather than a struct) out of the body of a function and to the root of the module. Now however, I've managed to hit this same ICE again in a separate, personal, closed source project. Following the pattern in the @pnkfelix if this is not yet fixed by the PR you linked, would you mind re-opening this issue? |
mitchmindtree commentedJun 2, 2016
•
edited
Version:
rustc 1.9.0 (e4e8b6668 2016-05-18). Edit: According to travis this also occurs on the current nightly.Specifically, the ICE occurs while compiling this conrod example in this commit.
Curiously, the ICE goes away when I remove the call to
.seton theTextBoxwidget here. I've not yet been able to reduce this case, but will post again if I do.This same code compiles without issues on 1.8 - the ICE only appeared after updating to 1.9.
Here is the backtrace:
This could be related to #32696.