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

LLVM assertion on debuginfo generation. #37633

Closed
bluss opened this issue Nov 7, 2016 · 1 comment
Closed

LLVM assertion on debuginfo generation. #37633

bluss opened this issue Nov 7, 2016 · 1 comment
Labels
A-debuginfo Area: Debugging information in compiled programs (DWARF, PDB, etc.)

Comments

@bluss
Copy link
Member

bluss commented Nov 7, 2016

PR #37315 ran into an llvm assertion during development. (Note: It was triggered by the original code in the flat_map part linked here, the PR was since updated to remove it):

piece is larger than or outside of variable
  tail call void @llvm.dbg.value(metadata %"ty::FieldDefData"* %2, i64 0, metadata !105417, metadata !6823), !dbg !105421
!105417 = !DILocalVariable(arg: 3, scope: !105386, file: !15, line: 1, type: !105406)
!6823 = !DIExpression(DW_OP_bit_piece, 64, 64)
LLVM ERROR: Broken function found, compilation aborted!

The line inside librustc that produced the assertion was here, where .fold() is called on something using both .flat_map() and .map().

@bluss bluss added the A-debuginfo Area: Debugging information in compiled programs (DWARF, PDB, etc.) label Nov 7, 2016
@Mark-Simulacrum
Copy link
Member

This is problematic. I don't think there's any easy way to fix this since the code in question mostly no longer exists, so I'm going to close. I don't know whether this is still a bug, but if it is, it's likely we'll encounter it in some form and then be able to fix.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
A-debuginfo Area: Debugging information in compiled programs (DWARF, PDB, etc.)
Projects
None yet
Development

No branches or pull requests

2 participants