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

Metadata ICE in servo #2945

Closed
mmeyerho opened this issue Jul 18, 2012 · 9 comments
Closed

Metadata ICE in servo #2945

mmeyerho opened this issue Jul 18, 2012 · 9 comments
Labels
A-linkage Area: linking into static, shared libraries and binaries I-ICE Issue: The compiler panicked, giving an Internal Compilation Error (ICE) ❄️

Comments

@mmeyerho
Copy link

Servo can't build because of an ICE that shows up when building rust-glut. The branch fix_strings in https://github.com/mmeyerho/servo is syntax-compatible with the current rust master (6081eb7) up through glut. The backtrace is: https://gist.github.com/3133225. It looks like one of the fields of a tuple is trying to be pretty-printed but can't be looked up successfully.

@catamorphism
Copy link
Contributor

Hate to ask, but did you try "make clean" and then rebuilding?

@mmeyerho
Copy link
Author

Yeah, I've tried both that and complete rm'ing the build directory and autogen / configuring from scratch.

@msullivan
Copy link
Contributor

Here is a minimized test case:

import task::{local_data_get, local_data_set};

fn display_callback_tls_key(+_callback: @int) {
    // Empty.
}

fn display_callback() unsafe {
    assert local_data_get(display_callback_tls_key).get() == @0;
}

fn main() {}

It looks like things are failing trying to come up with names for monomorphized functions. Maybe the problem is that a function inside the TLS implementation is invoking another one with a type that isn't getting put in the metadata...?

@catamorphism
Copy link
Contributor

Could be yet another reachability bug, but I'm just guessing.

@msullivan
Copy link
Contributor

Yeah, that's what my guess was. It can probably be worked around by adding more exports?

@msullivan
Copy link
Contributor

Related to #2313, maybe?

@msullivan
Copy link
Contributor

Exporting local_data works around the bug. It's clearly still a bug, but this fixes the ICE. I am labeling the export with a FIXME referencing this bug.

@bblum
Copy link
Contributor

bblum commented Jul 18, 2012

This bug is #2733.

@bblum
Copy link
Contributor

bblum commented Jul 18, 2012

I provided a minimal test case on that bug; closing this one. I remember doing exactly the same thing sully did here, which fixed the ICE, but that was #2734 was fixed, so I didn't push it.

@bblum bblum closed this as completed Jul 18, 2012
RalfJung pushed a commit to RalfJung/rust that referenced this issue Jun 29, 2023
Try running a sync automatically

absolutely no clue if this works, but it happens after the zulip message, so worst case we'll see the failure after the cron job did everything it currently does.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
A-linkage Area: linking into static, shared libraries and binaries I-ICE Issue: The compiler panicked, giving an Internal Compilation Error (ICE) ❄️
Projects
None yet
Development

No branches or pull requests

4 participants