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

DwarfUnit.cpp:724: llvm::DIE* llvm::DwarfUnit::getOrCreateTypeDIE(const llvm::MDNode*): Assertion `Ty == resolve(Ty->getRef()) && "type was not uniqued, possible ODR violation."' failed. #34122

Closed
briansmith opened this issue Jun 6, 2016 · 10 comments
Labels
A-diagnostics Area: Messages for errors, warnings, and lints

Comments

@briansmith
Copy link
Contributor

This breaks the build of ring on Nightly. See https://travis-ci.org/briansmith/ring/jobs/135609253. This was using rustc 1.11.0-nightly (1c975ea 2016-06-05).

@briansmith
Copy link
Contributor Author

See also #28233.

@nagisa nagisa added the A-diagnostics Area: Messages for errors, warnings, and lints label Jun 6, 2016
@nagisa
Copy link
Member

nagisa commented Jun 6, 2016

A duplicate of #28233

@nagisa nagisa closed this as completed Jun 6, 2016
@nagisa
Copy link
Member

nagisa commented Jun 6, 2016

As a workaround please do not combine -C lto and -g.

@briansmith
Copy link
Contributor Author

This is not a duplicate of #28233. #28233 is an old issue and this is a regression in the last day or so. Please reopen this.

@nagisa nagisa reopened this Jun 6, 2016
@nagisa
Copy link
Member

nagisa commented Jun 6, 2016

The underlying issue seems to be the same to me: -C lto and -g being used together. Doesn’t removing either one get rid of the ICE?

@briansmith
Copy link
Contributor Author

The underlying issue seems to be the same to me: -C lto and -g being used together. Doesn’t removing either one get rid of the ICE?

IMO, it doesn't matter, because just four days ago "-C lto" with "-g" was working fine: https://travis-ci.org/briansmith/ring/builds/134868186.

@briansmith
Copy link
Contributor Author

IMO, it doesn't matter, because just four days ago "-C lto" with "-g" was working fine: https://travis-ci.org/briansmith/ring/builds/134868186.

OK, I've tried it, and things do start to pass again if I remove "-g". However, I think "-C lto -g" is (or should be) a very common configuration, and also it was working just days ago. So, I think we should find out what regressed and then revert that or somehow fix it otherwise.

@swgillespie
Copy link
Contributor

Looks like this affects clang too: https://github.com/dotnet/coreclr/issues/5519

@dotdash
Copy link
Contributor

dotdash commented Jun 7, 2016

This isn't necessarily a regression that you can fix outside of fixing #28233. It might simply be a new #[inline] annotation or a generic being used in a new place, or some random change that allows the compiler to optimize something in a different way. Unless you want to bisect that down to a single commit (which might still not tell you what the actual change is that triggers the bug), I don't think there's a structured approach to finding anything to revert here.

Also, the two build logs are for different versions of ring. Are you sure that the change that triggers the bug is in rust's standard lib and not in ring?

@briansmith
Copy link
Contributor Author

OK, let's fix #28233 then.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
A-diagnostics Area: Messages for errors, warnings, and lints
Projects
None yet
Development

No branches or pull requests

4 participants