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

libunwind: Unsupported .eh_frame_hdr version #138880

Open
Ludea opened this issue Mar 24, 2025 · 10 comments
Open

libunwind: Unsupported .eh_frame_hdr version #138880

Ludea opened this issue Mar 24, 2025 · 10 comments
Labels
C-bug Category: This is a bug. I-crash Issue: The compiler crashes (SIGSEGV, SIGABRT, etc). Use I-ICE instead when the compiler panics. O-android Operating system: Android requires-custom-config This issue requires custom config/build for rustc in some way T-compiler Relevant to the compiler team, which will review and decide on the PR/issue.

Comments

@Ludea
Copy link

Ludea commented Mar 24, 2025

I try:

create a blank project
add wasmtime
run cargo build

I expected to see this happen: explanation
successfull build

Instead, this happened: explanation
libunwind: Unsupported .eh_frame_hdr version

Meta

rustc --version --verbose:

rustc 1.87.0-nightly (b48576b4d 2025-03-22) (built from a source tarball)
binary: rustc                             
commit-hash: b48576b4db5a595f453891f0b7243ef75d8c0afa                               
commit-date: 2025-03-22                  
 host: aarch64-linux-android              
release: 1.87.0-nightly
LLVM version: 19.1.7
Backtrace

Process 2455 resuming
Process 2455 stopped
* thread #6, name = 'rustc', stop reason = signal SIGSEGV: invalid permissions for mapped object (fault address: 0x7ff699afc0)
    frame #0: 0x0000007feac46b1c librustc_driver-a3245454b097b09d.so`<rustc_parse::parser::Parser>::bump at mod.rs:1215
(lldb) bt
* thread #6, name = 'rustc', stop reason = signal SIGSEGV: invalid permissions for mapped object (fault address: 0x7ff699afc0)
  * frame #0: 0x0000007feac46b1c librustc_driver-a3245454b097b09d.so`<rustc_parse::parser::Parser>::bump at mod.rs:1215
    frame #1: 0x0000007feac3fdc0 librustc_driver-a3245454b097b09d.so`<rustc_parse::parser::Parser>::parse_ident_common at mod.rs:591:9
    frame #2: 0x0000007feac27690 librustc_driver-a3245454b097b09d.so`<rustc_parse::parser::Parser>::parse_path_segment [inlined] <rustc_parse::parser::Parser>::parse_ident at mod.rs:577:9
    frame #3: 0x0000007feac27680 librustc_driver-a3245454b097b09d.so`<rustc_parse::parser::Parser>::parse_path_segment [inlined] <rustc_parse::parser::Parser>::parse_path_segment_ident at path.rs:451:18
    frame #4: 0x0000007feac27680 librustc_driver-a3245454b097b09d.so`<rustc_parse::parser::Parser>::parse_path_segment at path.rs:304:21
    frame #5: 0x0000007feac26254 librustc_driver-a3245454b097b09d.so`<rustc_parse::parser::Parser>::parse_path_segments at path.rs:228:27
    frame #6: 0x0000007feac25df0 librustc_driver-a3245454b097b09d.so`<rustc_parse::parser::Parser>::parse_path_inner at path.rs:217:9
    frame #7: 0x0000007feabd9758 librustc_driver-a3245454b097b09d.so`<rustc_parse::parser::Parser>::parse_expr_path_start [inlined] <rustc_parse::parser::Parser>::parse_path at path.rs:149:9
    frame #8: 0x0000007feabd9744 librustc_driver-a3245454b097b09d.so`<rustc_parse::parser::Parser>::parse_expr_path_start at expr.rs:1590:20
    frame #9: 0x0000007feabf1188 librustc_driver-a3245454b097b09d.so`<rustc_parse::parser::Parser>::collect_tokens_for_expr::<<rustc_parse::parser::Parser>::parse_expr_dot_or_call::{closure#0}>::{closure#0} [inlined] <rustc_parse::parser::Parser>::parse_expr_bottom::{closure#1} at expr.rs:1414:17
    frame #10: 0x0000007feabf1170 librustc_driver-a3245454b097b09d.so`<rustc_parse::parser::Parser>::collect_tokens_for_expr::<<rustc_parse::parser::Parser>::parse_expr_dot_or_call::{closure#0}>::{closure#0} [inlined] <rustc_parse::parser::Parser>::with_res::<core::result::Result<rustc_ast::ptr::P<rustc_ast::ast::Expr>, rustc_errors::diagnostic::Diag>, <rustc_parse::parser::Parser>::parse_expr_bottom::{closure#1}> at mod.rs:1507:19
    frame #11: 0x0000007feabf1170 librustc_driver-a3245454b097b09d.so`<rustc_parse::parser::Parser>::collect_tokens_for_expr::<<rustc_parse::parser::Parser>::parse_expr_dot_or_call::{closure#0}>::{closure#0} [inlined] <rustc_parse::parser::Parser>::parse_expr_bottom at expr.rs:1388:9
    frame #12: 0x0000007feabf1170 librustc_driver-a3245454b097b09d.so`<rustc_parse::parser::Parser>::collect_tokens_for_expr::<<rustc_parse::parser::Parser>::parse_expr_dot_or_call::{closure#0}>::{closure#0} [inlined] <rustc_parse::parser::Parser>::parse_expr_dot_or_call::{closure#0} at expr.rs:850:24
    frame #13: 0x0000007feabf1170 librustc_driver-a3245454b097b09d.so`<rustc_parse::parser::Parser>::collect_tokens_for_expr::<<rustc_parse::parser::Parser>::parse_expr_dot_or_call::{closure#0}>::{closure#0} at expr.rs:3898:23
    frame #14: 0x0000007feabef244 librustc_driver-a3245454b097b09d.so`<rustc_parse::parser::Parser>::collect_tokens_for_expr::<<rustc_parse::parser::Parser>::parse_expr_dot_or_call::{closure#0}> [inlined] <rustc_parse::parser::Parser>::collect_tokens::<rustc_ast::ptr::P<rustc_ast::ast::Expr>, <rustc_parse::parser::Parser>::collect_tokens_for_expr<<rustc_parse::parser::Parser>::parse_expr_dot_or_call::{closure#0}>::{closure#0}> at attr_wrapper.rs:255:23
    frame #15: 0x0000007feabef0f4 librustc_driver-a3245454b097b09d.so`<rustc_parse::parser::Parser>::collect_tokens_for_expr::<<rustc_parse::parser::Parser>::parse_expr_dot_or_call::{closure#0}> at expr.rs:3897:9
    frame #16: 0x0000007feabd0468 librustc_driver-a3245454b097b09d.so`<rustc_parse::parser::Parser>::parse_expr_prefix [inlined] <rustc_parse::parser::Parser>::parse_expr_dot_or_call at expr.rs:849:9
    frame #17: 0x0000007feabd0454 librustc_driver-a3245454b097b09d.so`<rustc_parse::parser::Parser>::parse_expr_prefix at expr.rs:562:25
    frame #18: 0x0000007feabc8a5c librustc_driver-a3245454b097b09d.so`<rustc_parse::parser::Parser>::parse_expr_assoc_with at expr.rs:138:13
    frame #19: 0x0000007feac3040c librustc_driver-a3245454b097b09d.so`<rustc_parse::parser::Parser>::parse_local [inlined] <rustc_parse::parser::Parser>::parse_expr_res::{closure#0} at expr.rs:124:33
    frame #20: 0x0000007feac303f0 librustc_driver-a3245454b097b09d.so`<rustc_parse::parser::Parser>::parse_local [inlined] <rustc_parse::parser::Parser>::with_res::<core::result::Result<(rustc_ast::ptr::P<rustc_ast::ast::Expr>, bool), rustc_errors::diagnostic::Diag>, <rustc_parse::parser::Parser>::parse_expr_res::{closure#0}> at mod.rs:1507:19
    frame #21: 0x0000007feac303e8 librustc_driver-a3245454b097b09d.so`<rustc_parse::parser::Parser>::parse_local [inlined] <rustc_parse::parser::Parser>::parse_expr_res at expr.rs:124:9
    frame #22: 0x0000007feac303e8 librustc_driver-a3245454b097b09d.so`<rustc_parse::parser::Parser>::parse_local [inlined] <rustc_parse::parser::Parser>::parse_expr at expr.rs:63:9
    frame #23: 0x0000007feac303c8 librustc_driver-a3245454b097b09d.so`<rustc_parse::parser::Parser>::parse_local [inlined] <rustc_parse::parser::Parser>::parse_initializer at stmt.rs:480:49
    frame #24: 0x0000007feac303b8 librustc_driver-a3245454b097b09d.so`<rustc_parse::parser::Parser>::parse_local at stmt.rs:343:27
    frame #25: 0x0000007feac2e54c librustc_driver-a3245454b097b09d.so`<rustc_parse::parser::Parser>::parse_stmt_without_recovery [inlined] <rustc_parse::parser::Parser>::parse_stmt_without_recovery::{closure#2} at stmt.rs:79:29
    frame #26: 0x0000007feac2e520 librustc_driver-a3245454b097b09d.so`<rustc_parse::parser::Parser>::parse_stmt_without_recovery [inlined] <rustc_parse::parser::Parser>::collect_tokens::<rustc_ast::ast::Stmt, <rustc_parse::parser::Parser>::parse_stmt_without_recovery::{closure#2}> at attr_wrapper.rs:269:23
    frame #27: 0x0000007feac2e468 librustc_driver-a3245454b097b09d.so`<rustc_parse::parser::Parser>::parse_stmt_without_recovery at stmt.rs:77:13
    frame #28: 0x0000007feac3423c librustc_driver-a3245454b097b09d.so`<rustc_parse::parser::Parser>::parse_full_stmt at stmt.rs:849:30
    frame #29: 0x0000007feac32fe8 librustc_driver-a3245454b097b09d.so`<rustc_parse::parser::Parser>::parse_block_tail at stmt.rs:726:30    frame #30: 0x0000007feac32b04 librustc_driver-a3245454b097b09d.so`<rustc_parse::parser::Parser>::parse_block_common at stmt.rs:701:21
     frame #2837: 0x0000007feabef0f4 librustc_driver-a3245454b097b09d.so`<rustc_parse::parser::Parser>::collect_tokens_for_expr::<<rustc_parse::parser::Parser>::parse_expr_dot_or_call::{closure#0}> at expr.rs:3897:9
    frame #2838: 0x0000007feabd0468 librustc_driver-a3245454b097b09d.so`<rustc_parse::parser::Parser>::parse_expr_prefix [inlined] <rustc_parse::parser::Parser>::parse_expr_dot_or_call at expr.rs:849:9
    frame #2839: 0x0000007feabd0454 librustc_driver-a3245454b097b09d.so`<rustc_parse::parser::Parser>::parse_expr_prefix at expr.rs:562:25
    frame #2840: 0x0000007feabc8a5c librustc_driver-a3245454b097b09d.so`<rustc_parse::parser::Parser>::parse_expr_assoc_with at expr.rs:138:13
    frame #2841: 0x0000007feabb0578 librustc_driver-a3245454b097b09d.so`<rustc_parse::parser::Parser>::collect_tokens::<rustc_ast::ptr::P<rustc_ast::ast::Expr>, <rustc_parse::parser::Parser>::parse_stmt_without_recovery::{closure#5}> [inlined] <rustc_parse::parser::Parser>::parse_expr_res::{closure#0} at expr.rs:124:33
    frame #2842: 0x0000007feabb0564 librustc_driver-a3245454b097b09d.so`<rustc_parse::parser::Parser>::collect_tokens::<rustc_ast::ptr::P<rustc_ast::ast::Expr>, <rustc_parse::parser::Parser>::parse_stmt_without_recovery::{closure#5}> [inlined] <rustc_parse::parser::Parser>::with_res::<core::result::Result<(rustc_ast::ptr::P<rustc_ast::ast::Expr>, bool), rustc_errors::diagnostic::Diag>, <rustc_parse::parser::Parser>::parse_expr_res::{closure#0}> at mod.rs:1507:19
    frame #2843: 0x0000007feabb0560 librustc_driver-a3245454b097b09d.so`<rustc_parse::parser::Parser>::collect_tokens::<rustc_ast::ptr::P<rustc_ast::ast::Expr>, <rustc_parse::parser::Parser>::parse_stmt_without_recovery::{closure#5}> [inlined] <rustc_parse::parser::Parser>::parse_expr_res at expr.rs:124:9
    frame #2844: 0x0000007feabb0560 librustc_driver-a3245454b097b09d.so`<rustc_parse::parser::Parser>::collect_tokens::<rustc_ast::ptr::P<rustc_ast::ast::Expr>, <rustc_parse::parser::Parser>::parse_stmt_without_recovery::{closure#5}> [inlined] <rustc_parse::parser::Parser>::parse_stmt_without_recovery::{closure#5} at stmt.rs:161:37
    frame #2845: 0x0000007feabb055c librustc_driver-a3245454b097b09d.so`<rustc_parse::parser::Parser>::collect_tokens::<rustc_ast::ptr::P<rustc_ast::ast::Expr>, <rustc_parse::parser::Parser>::parse_stmt_without_recovery::{closure#5}> at attr_wrapper.rs:255:23
    frame #2846: 0x0000007feac2f3e4 librustc_driver-a3245454b097b09d.so`<rustc_parse::parser::Parser>::parse_stmt_without_recovery at stmt.rs:156:21
    frame #2847: 0x0000007feac3423c librustc_driver-a3245454b097b09d.so`<rustc_parse::parser::Parser>::parse_full_stmt at stmt.rs:849:30
    frame #2848: 0x0000007feac32fe8 librustc_driver-a3245454b097b09d.so`<rustc_parse::parser::Parser>::parse_block_tail at stmt.rs:726:30
    frame #2849: 0x0000007feac32b04 librustc_driver-a3245454b097b09d.so`<rustc_parse::parser::Parser>::parse_block_common at stmt.rs:701:21
    frame #2850: 0x0000007feac30fb4 librustc_driver-a3245454b097b09d.so`<rustc_parse::parser::Parser>::parse_block [inlined] <rustc_parse::parser::Parser>::parse_inner_attrs_and_block at stmt.rs:671:9
    frame #2851: 0x0000007feac30fb0 librustc_driver-a3245454b097b09d.so`<rustc_parse::parser::Parser>::parse_block at stmt.rs:485:30
    frame #2852: 0x0000007feabe2a0c librustc_driver-a3245454b097b09d.so`<rustc_parse::parser::Parser>::parse_if_after_cond at expr.rs:2554:17
    frame #2853: 0x0000007feabf1520 librustc_driver-a3245454b097b09d.so`<rustc_parse::parser::Parser>::collect_tokens_for_expr::<<rustc_parse::parser::Parser>::parse_expr_dot_or_call::{closure#0}>::{closure#0} [inlined] <rustc_parse::parser::Parser>::parse_expr_bottom::{closure#1} at expr.rs:1422:17
    frame #2854: 0x0000007feabf1170 librustc_driver-a3245454b097b09d.so`<rustc_parse::parser::Parser>::collect_tokens_for_expr::<<rustc_parse::parser::Parser>::parse_expr_dot_or_call::{closure#0}>::{closure#0} [inlined] <rustc_parse::parser::Parser>::with_res::<core::result::Result<rustc_ast::ptr::P<rustc_ast::ast::Expr>, rustc_errors::diagnostic::Diag>, <rustc_parse::parser::Parser>::parse_expr_bottom::{closure#1}> at mod.rs:1507:19
    frame #2855: 0x0000007feabf1170 librustc_driver-a3245454b097b09d.so`<rustc_parse::parser::Parser>::collect_tokens_for_expr::<<rustc_parse::parser::Parser>::parse_expr_dot_or_call::{closure#0}>::{closure#0} [inlined] <rustc_parse::parser::Parser>::parse_expr_bottom at expr.rs:1388:9
    frame #2856: 0x0000007feabf1170 librustc_driver-a3245454b097b09d.so`<rustc_parse::parser::Parser>::collect_tokens_for_expr::<<rustc_parse::parser::Parser>::parse_expr_dot_or_call::{closure#0}>::{closure#0} [inlined] <rustc_parse::parser::Parser>::parse_expr_dot_or_call::{closure#0} at expr.rs:850:24
    frame #2857: 0x0000007feabf1170 librustc_driver-a3245454b097b09d.so`<rustc_parse::parser::Parser>::collect_tokens_for_expr::<<rustc_parse::parser::Parser>::parse_expr_dot_or_call::{closure#0}>::{closure#0} at expr.rs:3898:23
    frame #2858: 0x0000007feabef244 librustc_driver-a3245454b097b09d.so`<rustc_parse::parser::Parser>::collect_tokens_for_expr::<<rustc_parse::parser::Parser>::parse_expr_dot_or_call::{closure#0}> [inlined] <rustc_parse::parser::Parser>::collect_tokens::<rustc_ast::ptr::P<rustc_ast::ast::Expr>, <rustc_parse::parser::Parser>::collect_tokens_for_expr<<rustc_parse::parser::Parser>::parse_expr_dot_or_call::{closure#0}>::{closure#0}> at attr_wrapper.rs:255:23
    frame #2859: 0x0000007feabef0f4 librustc_driver-a3245454b097b09d.so`<rustc_parse::parser::Parser>::collect_tokens_for_expr::<<rustc_parse::parser::Parser>::parse_expr_dot_or_call::{closure#0}> at expr.rs:3897:9
    frame #2860: 0x0000007feabd0468 librustc_driver-a3245454b097b09d.so`<rustc_parse::parser::Parser>::parse_expr_prefix [inlined] <rustc_parse::parser::Parser>::parse_expr_dot_or_call at expr.rs:849:9
    frame #2861: 0x0000007feabd0454 librustc_driver-a3245454b097b09d.so`<rustc_parse::parser::Parser>::parse_expr_prefix at expr.rs:562:25
    frame #2862: 0x0000007feabc8a5c librustc_driver-a3245454b097b09d.so`<rustc_parse::parser::Parser>::parse_expr_assoc_with at expr.rs:138:13
    frame #2863: 0x0000007feabb0578 librustc_driver-a3245454b097b09d.so`<rustc_parse::parser::Parser>::collect_tokens::<rustc_ast::ptr::P<rustc_ast::ast::Expr>, <rustc_parse::parser::Parser>::parse_stmt_without_recovery::{closure#5}> [inlined] <rustc_parse::parser::Parser>::parse_expr_res::{closure#0} at expr.rs:124:33
    frame #2864: 0x0000007feabb0564 librustc_driver-a3245454b097b09d.so`<rustc_parse::parser::Parser>::collect_tokens::<rustc_ast::ptr::P<rustc_ast::ast::Expr>, <rustc_parse::parser::Parser>::parse_stmt_without_recovery::{closure#5}> [inlined] <rustc_parse::parser::Parser>::with_res::<core::result::Result<(rustc_ast::ptr::P<rustc_ast::ast::Expr>, bool), rustc_errors::diagnostic::Diag>, <rustc_parse::parser::Parser>::parse_expr_res::{closure#0}> at mod.rs:1507:19
    frame #2865: 0x0000007feabb0560 librustc_driver-a3245454b097b09d.so`<rustc_parse::parser::Parser>::collect_tokens::<rustc_ast::ptr::P<rustc_ast::ast::Expr>, <rustc_parse::parser::Parser>::parse_stmt_without_recovery::{closure#5}> [inlined] <rustc_parse::parser::Parser>::parse_expr_res at expr.rs:124:9
    frame #2866: 0x0000007feabb0560 librustc_driver-a3245454b097b09d.so`<rustc_parse::parser::Parser>::collect_tokens::<rustc_ast::ptr::P<rustc_ast::ast::Expr>, <rustc_parse::parser::Parser>::parse_stmt_without_recovery::{closure#5}> [inlined] <rustc_parse::parser::Parser>::parse_stmt_without_recovery::{closure#5} at stmt.rs:161:37
    frame #2867: 0x0000007feabb055c librustc_driver-a3245454b097b09d.so`<rustc_parse::parser::Parser>::collect_tokens::<rustc_ast::ptr::P<rustc_ast::ast::Expr>, <rustc_parse::parser::Parser>::parse_stmt_without_recovery::{closure#5}> at attr_wrapper.rs:255:23
    frame #2868: 0x0000007feac2f3e4 librustc_driver-a3245454b097b09d.so`<rustc_parse::parser::Parser>::parse_stmt_without_recovery at stmt.rs:156:21
    frame #2869: 0x0000007feac3423c librustc_driver-a3245454b097b09d.so`<rustc_parse::parser::Parser>::parse_full_stmt at stmt.rs:849:30
    frame #2870: 0x0000007feac32fe8 librustc_driver-a3245454b097b09d.so`<rustc_parse::parser::Parser>::parse_block_tail at stmt.rs:726:30
    frame #2871: 0x0000007feac32b04 librustc_driver-a3245454b097b09d.so`<rustc_parse::parser::Parser>::parse_block_common at stmt.rs:701:21
    frame #2872: 0x0000007feabe5870 librustc_driver-a3245454b097b09d.so`<rustc_parse::parser::Parser>::parse_expr_while [inlined] <rustc_parse::parser::Parser>::parse_inner_attrs_and_block at stmt.rs:671:9
    frame #2873: 0x0000007feabe5858 librustc_driver-a3245454b097b09d.so`<rustc_parse::parser::Parser>::parse_expr_while at expr.rs:2911:29
    frame #2874: 0x0000007feabf162c librustc_driver-a3245454b097b09d.so`<rustc_parse::parser::Parser>::collect_tokens_for_expr::<<rustc_parse::parser::Parser>::parse_expr_dot_or_call::{closure#0}>::{closure#0} [inlined] <rustc_parse::parser::Parser>::parse_expr_bottom::{closure#1} at expr.rs:1431:17
    frame #2875: 0x0000007feabf15f0 librustc_driver-a3245454b097b09d.so`<rustc_parse::parser::Parser>::collect_tokens_for_expr::<<rustc_parse::parser::Parser>::parse_expr_dot_or_call::{closure#0}>::{closure#0} [inlined] <rustc_parse::parser::Parser>::with_res::<core::result::Result<rustc_ast::ptr::P<rustc_ast::ast::Expr>, rustc_errors::diagnostic::Diag>, <rustc_parse::parser::Parser>::parse_expr_bottom::{closure#1}> at mod.rs:1507:19
    frame #2876: 0x0000007feabf15f0 librustc_driver-a3245454b097b09d.so`<rustc_parse::parser::Parser>::collect_tokens_for_expr::<<rustc_parse::parser::Parser>::parse_expr_dot_or_call::{closure#0}>::{closure#0} [inlined] <rustc_parse::parser::Parser>::parse_expr_bottom at expr.rs:1388:9
    frame #2877: 0x0000007feabf1170 librustc_driver-a3245454b097b09d.so`<rustc_parse::parser::Parser>::collect_tokens_for_expr::<<rustc_parse::parser::Parser>::parse_expr_dot_or_call::{closure#0}>::{closure#0} [inlined] <rustc_parse::parser::Parser>::parse_expr_dot_or_call::{closure#0} at expr.rs:850:24
    frame #2878: 0x0000007feabf1170 librustc_driver-a3245454b097b09d.so`<rustc_parse::parser::Parser>::collect_tokens_for_expr::<<rustc_parse::parser::Parser>::parse_expr_dot_or_call::{closure#0}>::{closure#0} at expr.rs:3898:23
    frame #2879: 0x0000007feabef244 librustc_driver-a3245454b097b09d.so`<rustc_parse::parser::Parser>::collect_tokens_for_expr::<<rustc_parse::parser::Parser>::parse_expr_dot_or_call::{closure#0}> [inlined] <rustc_parse::parser::Parser>::collect_tokens::<rustc_ast::ptr::P<rustc_ast::ast::Expr>, <rustc_parse::parser::Parser>::collect_tokens_for_expr<<rustc_parse::parser::Parser>::parse_expr_dot_or_call::{closure#0}>::{closure#0}> at attr_wrapper.rs:255:23
    frame #2880: 0x0000007feabef0f4 librustc_driver-a3245454b097b09d.so`<rustc_parse::parser::Parser>::collect_tokens_for_expr::<<rustc_parse::parser::Parser>::parse_expr_dot_or_call::{closure#0}> at expr.rs:3897:9
    frame #2881: 0x0000007feabd0468 librustc_driver-a3245454b097b09d.so`<rustc_parse::parser::Parser>::parse_expr_prefix [inlined] <rustc_parse::parser::Parser>::parse_expr_dot_or_call at expr.rs:849:9
    frame #2882: 0x0000007feabd0454 librustc_driver-a3245454b097b09d.so`<rustc_parse::parser::Parser>::parse_expr_prefix at expr.rs:562:25
    frame #2883: 0x0000007feabc8a5c librustc_driver-a3245454b097b09d.so`<rustc_parse::parser::Parser>::parse_expr_assoc_with at expr.rs:138:13
    frame #2884: 0x0000007feabb0578 librustc_driver-a3245454b097b09d.so`<rustc_parse::parser::Parser>::collect_tokens::<rustc_ast::ptr::P<rustc_ast::ast::Expr>, <rustc_parse::parser::Parser>::parse_stmt_without_recovery::{closure#5}> [inlined] <rustc_parse::parser::Parser>::parse_expr_res::{closure#0} at expr.rs:124:33
    frame #2885: 0x0000007feabb0564 librustc_driver-a3245454b097b09d.so`<rustc_parse::parser::Parser>::collect_tokens::<rustc_ast::ptr::P<rustc_ast::ast::Expr>, <rustc_parse::parser::Parser>::parse_stmt_without_recovery::{closure#5}> [inlined] <rustc_parse::parser::Parser>::with_res::<core::result::Result<(rustc_ast::ptr::P<rustc_ast::ast::Expr>, bool), rustc_errors::diagnostic::Diag>, <rustc_parse::parser::Parser>::parse_expr_res::{closure#0}> at mod.rs:1507:19
    frame #2886: 0x0000007feabb0560 librustc_driver-a3245454b097b09d.so`<rustc_parse::parser::Parser>::collect_tokens::<rustc_ast::ptr::P<rustc_ast::ast::Expr>, <rustc_parse::parser::Parser>::parse_stmt_without_recovery::{closure#5}> [inlined] <rustc_parse::parser::Parser>::parse_expr_res at expr.rs:124:9
    frame #2887: 0x0000007feabb0560 librustc_driver-a3245454b097b09d.so`<rustc_parse::parser::Parser>::collect_tokens::<rustc_ast::ptr::P<rustc_ast::ast::Expr>, <rustc_parse::parser::Parser>::parse_stmt_without_recovery::{closure#5}> [inlined] <rustc_parse::parser::Parser>::parse_stmt_without_recovery::{closure#5} at stmt.rs:161:37
    frame #2888: 0x0000007feabb055c librustc_driver-a3245454b097b09d.so`<rustc_parse::parser::Parser>::collect_tokens::<rustc_ast::ptr::P<rustc_ast::ast::Expr>, <rustc_parse::parser::Parser>::parse_stmt_without_recovery::{closure#5}> at attr_wrapper.rs:255:23
    frame #2889: 0x0000007feac2f3e4 librustc_driver-a3245454b097b09d.so`<rustc_parse::parser::Parser>::parse_stmt_without_recovery at stmt.rs:156:21
    frame #2890: 0x0000007feac3423c librustc_driver-a3245454b097b09d.so`<rustc_parse::parser::Parser>::parse_full_stmt at stmt.rs:849:30
    frame #2891: 0x0000007feac32fe8 librustc_driver-a3245454b097b09d.so`<rustc_parse::parser::Parser>::parse_block_tail at stmt.rs:726:30
    frame #2892: 0x0000007feac32b04 librustc_driver-a3245454b097b09d.so`<rustc_parse::parser::Parser>::parse_block_common at stmt.rs:701:21
    frame #2893: 0x0000007feabdf728 librustc_driver-a3245454b097b09d.so`<rustc_parse::parser::Parser>::parse_expr_block at expr.rs:2299:28
    frame #2894: 0x0000007feabf03d0 librustc_driver-a3245454b097b09d.so`<rustc_parse::parser::Parser>::collect_tokens_for_expr::<<rustc_parse::parser::Parser>::parsa3245454b097b09d.so`<scoped_tls::ScopedKey<rustc_span::SessionGlobals>>::set::<rustc_interface::util::run_in_thread_with_globals<rustc_interface::util::run_in_thread_pool_with_globals<rustc_interface::interface::run_compiler<(), rustc_driver_impl::run_compiler::{closure#0}>::{closure#1}, ()>::{closure#0}, ()>::{closure#0}::{closure#0}::{closure#0}, ()> [inlined] rustc_interface::util::run_in_thread_with_globals::<rustc_interface::util::run_in_thread_pool_with_globals<rustc_interface::interface::run_compiler<(), rustc_driver_impl::run_compiler::{closure#0}>::{closure#1}, ()>::{closure#0}, ()>::{closure#0}::{closure#0}::{closure#0} at util.rs:138:21
    frame #3168: 0x0000007fe76c0c10 librustc_driver-a3245454b097b09d.so`<scoped_tls::ScopedKey<rustc_span::SessionGlobals>>::set::<rustc_interface::util::run_in_thread_with_globals<rustc_interface::util::run_in_thread_pool_with_globals<rustc_interface::interface::run_compiler<(), rustc_driver_impl::run_compiler::{closure#0}>::{closure#1}, ()>::{closure#0}, ()>::{closure#0}::{closure#0}::{closure#0}, ()> at lib.rs:137:9
    frame #3169: 0x0000007fe7784d48 librustc_driver-a3245454b097b09d.so`std::sys::backtrace::__rust_begin_short_backtrace::<rustc_interface::util::run_in_thread_with_globals<rustc_interface::util::run_in_thread_pool_with_globals<rustc_interface::interface::run_compiler<(), rustc_driver_impl::run_compiler::{closure#0}>::{closure#1}, ()>::{closure#0}, ()>::{closure#0}::{closure#0}, ()> [inlined] rustc_span::create_session_globals_then::<(), rustc_interface::util::run_in_thread_with_globals<rustc_interface::util::run_in_thread_pool_with_globals<rustc_interface::interface::run_compiler<(), rustc_driver_impl::run_compiler::{closure#0}>::{closure#1}, ()>::{closure#0}, ()>::{closure#0}::{closure#0}::{closure#0}> at lib.rs:141:5
    frame #3170: 0x0000007fe7784cc0 librustc_driver-a3245454b097b09d.so`std::sys::backtrace::__rust_begin_short_backtrace::<rustc_interface::util::run_in_thread_with_globals<rustc_interface::util::run_in_thread_pool_with_globals<rustc_interface::interface::run_compiler<(), rustc_driver_impl::run_compiler::{closure#0}>::{closure#1}, ()>::{closure#0}, ()>::{closure#0}::{closure#0}, ()> [inlined] rustc_interface::util::run_in_thread_with_globals::<rustc_interface::util::run_in_thread_pool_with_globals<rustc_interface::interface::run_compiler<(), rustc_driver_impl::run_compiler::{closure#0}>::{closure#1}, ()>::{closure#0}, ()>::{closure#0}::{closure#0} at util.rs:137:17
    frame #3171: 0x0000007fe7784ca8 librustc_driver-a3245454b097b09d.so`std::sys::backtrace::__rust_begin_short_backtrace::<rustc_interface::util::run_in_thread_with_globals<rustc_interface::util::run_in_thread_pool_with_globals<rustc_interface::interface::run_compiler<(), rustc_driver_impl::run_compiler::{closure#0}>::{closure#1}, ()>::{closure#0}, ()>::{closure#0}::{closure#0}, ()> at backtrace.rs:152:18
    frame #3172: 0x0000007fe7727ab8 librustc_driver-a3245454b097b09d.so`<<std::thread::Builder>::spawn_unchecked_<rustc_interface::util::run_in_thread_with_globals<rustc_interface::util::run_in_thread_pool_with_globals<rustc_interface::interface::run_compiler<(), rustc_driver_impl::run_compiler::{closure#0}>::{closure#1}, ()>::{closure#0}, ()>::{closure#0}::{closure#0}, ()>::{closure#1} as core::ops::function::FnOnce<()>>::call_once::{shim:vtable#0} [inlined] <std::thread::Builder>::spawn_unchecked_::<rustc_interface::util::run_in_thread_with_globals<rustc_interface::util::run_in_thread_pool_with_globals<rustc_interface::interface::run_compiler<(), rustc_driver_impl::run_compiler::{closure#0}>::{closure#1}, ()>::{closure#0}, ()>::{closure#0}::{closure#0}, ()>::{closure#1}::{closure#0} at mod.rs:559:17
    frame #3173: 0x0000007fe7727a7c librustc_driver-a3245454b097b09d.so`<<std::thread::Builder>::spawn_unchecked_<rustc_interface::util::run_in_thread_with_globals<rustc_interface::util::run_in_thread_pool_with_globals<rustc_interface::interface::run_compiler<(), rustc_driver_impl::run_compiler::{closure#0}>::{closure#1}, ()>::{closure#0}, ()>::{closure#0}::{closure#0}, ()>::{closure#1} as core::ops::function::FnOnce<()>>::call_once::{shim:vtable#0} [inlined] <core::panic::unwind_safe::AssertUnwindSafe<<std::thread::Builder>::spawn_unchecked_<rustc_interface::util::run_in_thread_with_globals<rustc_interface::util::run_in_thread_pool_with_globals<rustc_interface::interface::run_compiler<(), rustc_driver_impl::run_compiler::{closure#0}>::{closure#1}, ()>::{closure#0}, ()>::{closure#0}::{closure#0}, ()>::{closure#1}::{closure#0}> as core::ops::function::FnOnce<()>>::call_once at unwind_safe.rs:272:9
    frame #3174: 0x0000007fe7727a68 librustc_driver-a3245454b097b09d.so`<<std::thread::Builder>::spawn_unchecked_<rustc_interface::util::run_in_thread_with_globals<rustc_interface::util::run_in_thread_pool_with_globals<rustc_interface::interface::run_compiler<(), rustc_driver_impl::run_compiler::{closure#0}>::{closure#1}, ()>::{closure#0}, ()>::{closure#0}::{closure#0}, ()>::{closure#1} as core::ops::function::FnOnce<()>>::call_once::{shim:vtable#0} [inlined] std::panicking::try::do_call::<core::panic::unwind_safe::AssertUnwindSafe<<std::thread::Builder>::spawn_unchecked_<rustc_interface::util::run_in_thread_with_globals<rustc_interface::util::run_in_thread_pool_with_globals<rustc_interface::interface::run_compiler<(), rustc_driver_impl::run_compiler::{closure#0}>::{closure#1}, ()>::{closure#0}, ()>::{closure#0}::{closure#0}, ()>::{closure#1}::{closure#0}>, ()> at panicking.rs:589:40
    frame #3175: 0x0000007fe7727a68 librustc_driver-a3245454b097b09d.so`<<std::thread::Builder>::spawn_unchecked_<rustc_interface::util::run_in_thread_with_globals<rustc_interface::util::run_in_thread_pool_with_globals<rustc_interface::interface::run_compiler<(), rustc_driver_impl::run_compiler::{closure#0}>::{closure#1}, ()>::{closure#0}, ()>::{closure#0}::{closure#0}, ()>::{closure#1} as core::ops::function::FnOnce<()>>::call_once::{shim:vtable#0} [inlined] std::panicking::try::<(), core::panic::unwind_safe::AssertUnwindSafe<<std::thread::Builder>::spawn_unchecked_<rustc_interface::util::run_in_thread_with_globals<rustc_interface::util::run_in_thread_pool_with_globals<rustc_interface::interface::run_compiler<(), rustc_driver_impl::run_compiler::{closure#0}>::{closure#1}, ()>::{closure#0}, ()>::{closure#0}::{closure#0}, ()>::{closure#1}::{closure#0}>> at panicking.rs:552:19
    frame #3176: 0x0000007fe7727a68 librustc_driver-a3245454b097b09d.so`<<std::thread::Builder>::spawn_unchecked_<rustc_interface::util::run_in_thread_with_globals<rustc_interface::util::run_in_thread_pool_with_globals<rustc_interface::interface::run_compiler<(), rustc_driver_impl::run_compiler::{closure#0}>::{closure#1}, ()>::{closure#0}, ()>::{closure#0}::{closure#0}, ()>::{closure#1} as core::ops::function::FnOnce<()>>::call_once::{shim:vtable#0} [inlined] std::panic::catch_unwind::<core::panic::unwind_safe::AssertUnwindSafe<<std::thread::Builder>::spawn_unchecked_<rustc_interface::util::run_in_thread_with_globals<rustc_interface::util::run_in_thread_pool_with_globals<rustc_interface::interface::run_compiler<(), rustc_driver_impl::run_compiler::{closure#0}>::{closure#1}, ()>::{closure#0}, ()>::{closure#0}::{closure#0}, ()>::{closure#1}::{closure#0}>, ()> at panic.rs:359:14
    frame #3177: 0x0000007fe7727a68 librustc_driver-a3245454b097b09d.so`<<std::thread::Builder>::spawn_unchecked_<rustc_interface::util::run_in_thread_with_globals<rustc_interface::util::run_in_thread_pool_with_globals<rustc_interface::interface::run_compiler<(), rustc_driver_impl::run_compiler::{closure#0}>::{closure#1}, ()>::{closure#0}, ()>::{closure#0}::{closure#0}, ()>::{closure#1} as core::ops::function::FnOnce<()>>::call_once::{shim:vtable#0} [inlined] <std::thread::Builder>::spawn_unchecked_::<rustc_interface::util::run_in_thread_with_globals<rustc_interface::util::run_in_thread_pool_with_globals<rustc_interface::interface::run_compiler<(), rustc_driver_impl::run_compiler::{closure#0}>::{closure#1}, ()>::{closure#0}, ()>::{closure#0}::{closure#0}, ()>::{closure#1} at mod.rs:557:30
    frame #3178: 0x0000007fe77279ec librustc_driver-a3245454b097b09d.so`<<std::thread::Builder>::spawn_unchecked_<rustc_interface::util::run_in_thread_with_globals<rustc_interface::util::run_in_thread_pool_with_globals<rustc_interface::interface::run_compiler<(), rustc_driver_impl::run_compiler::{closure#0}>::{closure#1}, ()>::{closure#0}, ()>::{closure#0}::{closure#0}, ()>::{closure#1} as core::ops::function::FnOnce<()>>::call_once::{shim:vtable#0} at function.rs:250:5
    frame #3179: 0x0000007feb7cfd00 librustc_driver-a3245454b097b09d.so`_$LT$alloc..boxed..Box$LT$F$C$A$GT$$u20$as$u20$core..ops..function..FnOnce$LT$Args$GT$$GT$::call_once::h7c863e12a8245de2 [inlined] _$LT$alloc..boxed..Box$LT$F$C$A$GT$$u20$as$u20$core..ops..function..FnOnce$LT$Args$GT$$GT$::call_once::he5e6129c48bdbf5b at boxed.rs:1970:9
    frame #3180: 0x0000007feb7cfcf4 librustc_driver-a3245454b097b09d.so`_$LT$alloc..boxed..Box$LT$F$C$A$GT$$u20$as$u20$core..ops..function..FnOnce$LT$Args$GT$$GT$::call_once::h7c863e12a8245de2 at boxed.rs:1970:9
    frame #3181: 0x0000007feb7b3d6c librustc_driver-a3245454b097b09d.so`std::sys::pal::unix::thread::Thread::new::thread_start::h2e73a546e0f46fd0 at thread.rs:109:17
    frame #3182: 0x0000007fe395c5cc libc.so`__pthread_start(void*) + 212
    frame #3183: 0x0000007fe38f5fc0 libc.so`__start_thread + 72

@Ludea Ludea added the C-bug Category: This is a bug. label Mar 24, 2025
@rustbot rustbot added the needs-triage This issue may need triage. Remove it if it has been sufficiently triaged. label Mar 24, 2025
@Ludea
Copy link
Author

Ludea commented Mar 24, 2025

full logs:

rustc-logs.txt

@jieyouxu
Copy link
Member

jieyouxu commented Mar 24, 2025

cc *-linux-android target maintainers in case this is something immediately obvious @chriswailes @maurer @mgeisler

@jieyouxu
Copy link
Member

rustc 1.87.0-nightly (b48576b 2025-03-22) (built from a source tarball)

@Ludea What configuration was your rustc built with?

@Ludea
Copy link
Author

Ludea commented Mar 24, 2025

@jieyouxu jieyouxu added requires-custom-config This issue requires custom config/build for rustc in some way T-compiler Relevant to the compiler team, which will review and decide on the PR/issue. T-bootstrap Relevant to the bootstrap subteam: Rust's build system (x.py and src/bootstrap) labels Mar 24, 2025
@jieyouxu
Copy link
Member

@licy183
Copy link

licy183 commented Mar 24, 2025

I think this issue actually has nothing to do with the error message mentioned in the title. This error message is somehow misleading.

In fact, this error occurs when using the rustc binary precompiled for Termux/Android. When compiling cranelift-codegen in wasmtime, SIGSEGV occurs (probably due to stack overflow?), and then rustc will capture this signal and use backtrace to print the current stack frames. Android uses Bionic libc, and the backtrace it provides actually depends on libunwind shipped by LLVM. It seems that the rustc binary has something wrong with libunwind, making it unable to work properly.

The key issue should be that SIGSEGV should not happen when compiling cranelift-codegen in wasmtime.

@jieyouxu jieyouxu removed T-compiler Relevant to the compiler team, which will review and decide on the PR/issue. T-bootstrap Relevant to the bootstrap subteam: Rust's build system (x.py and src/bootstrap) labels Mar 24, 2025
@jieyouxu
Copy link
Member

This is some slightly complicated configuration. But anyway, an important question is:

Did this ever work?

@Noratrieb Noratrieb added I-crash Issue: The compiler crashes (SIGSEGV, SIGABRT, etc). Use I-ICE instead when the compiler panics. T-compiler Relevant to the compiler team, which will review and decide on the PR/issue. requires-custom-config This issue requires custom config/build for rustc in some way and removed requires-custom-config This issue requires custom config/build for rustc in some way needs-triage This issue may need triage. Remove it if it has been sufficiently triaged. labels Mar 24, 2025
@Noratrieb
Copy link
Member

I would suggest splitting this issue into two separate issue. One for the segfault (probably a stackoverflow?) and one for the libunwind problem.

@licy183
Copy link

licy183 commented Mar 24, 2025

I would suggest splitting this issue into two separate issue. One for the segfault (probably a stackoverflow?) and one for the libunwind problem.

Yes, I've opened a new issue and report the segfault there (#138889).

Did this ever work?

I'm not sure. I'll rebuild some older version of rust in the follwing days and see if it works.

@Noratrieb Noratrieb removed the O-linux Operating system: Linux label Mar 24, 2025
@maurer
Copy link
Contributor

maurer commented Mar 24, 2025

My suspicion is that the eh_frame versioning issue here is having two different copies of libunwind (from different LLVM revisions) linked into the same process. bionic provides all of:

  • _Unwind_Backtrace
  • _Unwind_DeleteException
  • _Unwind_Find_FDE
  • _Unwind_FindEnclosingFunction
  • _Unwind_ForcedUnwind
  • _Unwind_GetCFA
  • _Unwind_GetDataRelBase
  • _Unwind_GetGR
  • _Unwind_GetIP
  • _Unwind_GetIPInfo
  • _Unwind_GetLanguageSpecificData
  • _Unwind_GetRegionStart
  • _Unwind_GetTextRelBase
  • _Unwind_RaiseException
  • _Unwind_Resume
  • _Unwind_Resume_or_Rethrow
  • _Unwind_SetGR
  • _Unwind_SetIP

so if that's all we need, we could consider adjusting the #[link] lines, which are already OS-conditional, to not emit the #[link] directive on Android.

The stack overflow itself should probably still be handled separately, but I think that change would both give smaller rustc binary sizes and avoid the .eh_frame_hdr version error the user experienced.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
C-bug Category: This is a bug. I-crash Issue: The compiler crashes (SIGSEGV, SIGABRT, etc). Use I-ICE instead when the compiler panics. O-android Operating system: Android requires-custom-config This issue requires custom config/build for rustc in some way T-compiler Relevant to the compiler team, which will review and decide on the PR/issue.
Projects
None yet
Development

No branches or pull requests

6 participants