Code
I tried to use a cross-compiler built for aarch64_be-unknown-netbsd to build the dua-cli program.
This worked fine with rust 1.96.0, but fails miserably with rust 1.97.0.
A similar cross-built compiler for the little-endian variant, aarch64-unknown-netbsd works just fine.
I expected to see the compiler successfully run and build dua-cli.
Instead, this happened:
The build log for dua-cli contains:
Compiling proc-macro2 v1.0.103
thread 'rustc' (24744) panicked at /rust/deps/fluent-syntax-0.12.0/src/parser/pattern.rs:217:18:
internal error: entered unreachable code
stack backtrace:
(omitted here, see below)
None of the other NetBSD targets I build rust for show this problem, so I suspect this
is a CPU-specific problem, i.e. a problem specific to aarch64 in big-endian mode.
I therefore wonder if any other big-endian aarch64 targets have successfully been tested
with rust 1.97.0 or 1.97.1.
Version it worked on
It most recently worked on: 1.96.0
Version with regression
Since I only test and cross-build "releases", this problem was first discovered in 1.97.0.
rustc --version --verbose:
arm64eb: {18} rustc --version --verbose
rustc 1.97.1 (8bab26f4f 2026-07-14) (built from a source tarball)
binary: rustc
commit-hash: 8bab26f4f68e0e26f0bb7960be334d5b520ea452
commit-date: 2026-07-14
host: aarch64_be-unknown-netbsd
release: 1.97.1
LLVM version: 22.1.6
arm64eb: {19}
Backtrace
Backtrace
Compiling proc-macro2 v1.0.103
thread 'rustc' (24744) panicked at /rust/deps/fluent-syntax-0.12.0/src/parser/pattern.rs:217:18:
internal error: entered unreachable code
stack backtrace:
0: 0xf7a44fd17360 - _RNvXNvMNtNtCs6zWtt0slXc4_3std3sys9backtraceNtB5_13BacktraceLock5printNtB2_16DisplayBacktraceNtNtCs5YV6E1QC8Wt_4core3fmt7Display3fmt_RNv
1: 0xf7a44fd57f90 - _RNvNtCs5YV6E1QC8Wt_4core3fmt5write_RINvNtNtC
2: 0xf7a44fd2812c - _RNvYNtNtNtNtCs6zWtt0slXc4_3std3sys5stdio4unix6StderrNtNtBa_2io5Write9write_fmtBa_
3: 0xf7a44fcef484 - _RNCNvNtCs6zWtt0slXc4_3std9panicking12d
4: 0xf7a44fd0ca60 - _RNvNtCs6zWtt0slXc4_3std9panicking12default_hook_RNvMN
5: 0xf7a4486daa0c - _RNvXsv_NtCs1qDAroq4v4J_5alloc5boxedINtB5_3BoxNCNvCsjW71KOyNjij_17rustc_driver_impl16install_ice_hooks_0EINtNtNtCs5YV6E1QC8Wt_4core3ops8function2FnTRDG0_IB1F_TRL1_INtNtCs6zWtt0slXc4_3std5panic13PanicHookInfoL0_EEEp6OutputuNtNtB1L_6marker4SyncNtB3z_4SendEL_RB2B_EE4callBL__ZN4llvm21Symb
6: 0xf7a44fd0d038 - _RNvNtCs6zWtt0slXc4_3std9panicking15panic_
7: 0xf7a44fcef558 - std[4ca35ebae607fdb2]::panicking::panic_handler::{closure#0}
8: 0xf7a44fce5610 - _RINvNtNtCs6zWtt0slXc4_3std3sys9backtrace26___rust_end_short_backtraceNCNvNtB6_9panicking13panic_handler0zEB6__RNvXNtNtCsb
9: 0xf7a44fcf0840 - _RNvCsjJ6pmSBbkgH_7___rustc17rust_begin_unwind_RNvMs0_NtNtNt
10: 0xf7a4485b0c88 - _RNvNtCs5YV6E1QC8Wt_4core9panicking9
11: 0xf7a4485b0c60 - _RNvNtCs5YV6E1QC8Wt_4core9panicking5panic_RNv
12: 0xf7a44fbf2fe0 - _RNvMNtNtCscZopoYJj7hQ_13fluent_syntax6parser7patternINtNtB4_4core6ParserReE11get_patternCscRildtPZesP_13fluent_bundle_RNvMNtN
13: 0xf7a44fbf32b8 - _RNvMNtNtCscZopoYJj7hQ_13fluent_syntax6parser7runtimeINtNtB4_4core6ParserReE13parse_runtimeCscRildtPZesP_13fluent_bundle
14: 0xf7a44fbe7424 - _RNvMNtCscRildtPZesP_13fluent_bundle8resourceNtB2_14FluentResource7try_new
15: 0xf7a44fa58460 - _RNvNtCsdJrWjUgrcD1_12rustc_errors10formatting17format_fluent_str.llvm.12085535565970079061an
16: 0xf7a44f4f5400 - _RNvXNvNtCsaxcs3BU8SbP_11rustc_parse6errorss3d_1__NtB4_13UnknownPrefixNtNtCsdJrWjUgrcD1_12rustc_errors10diagnostic10Diagnostic9into_di
17: 0xf7a44f53a084 - _RNvMNtCsaxcs3BU8SbP_11rustc_parse5lexerNtB2_5Lexer21report
18: 0xf7a44f53bd14 - _RNvMNtCsaxcs3BU8SbP_11rustc_parse5lexerNtB2_5Lexer22next_token_from_cursor
19: 0xf7a44f53e6b0 - _RNvMNtNtCsaxcs3BU8SbP_11rustc_parse5lexer10tokentreesNtB4_5Lexer15lex_token_treesrustc_pars
20: 0xf7a44f53e968 - _RNvMNtNtCsaxcs3BU8SbP_11rustc_parse5lexer10tokentreesNtB4_5Lexer15lex_token_treesrustc_pars
21: 0xf7a44f53e968 - _RNvMNtNtCsaxcs3BU8SbP_11rustc_parse5lexer10tokentreesNtB4_5Lexer15lex_token_treesrustc_pars
22: 0xf7a44f540774 - _RNvNtCsaxcs3BU8SbP_11rustc_parse5lexer15lex_token_trees_RNv
23: 0xf7a44f57789c - _RNvCsaxcs3BU8SbP_11rustc_parse21source_file_to_stream_RNvMs
24: 0xf7a44f577b60 - _RNvCsaxcs3BU8SbP_11rustc_parse27new_parser_from_
25: 0xf7a44f577804 - _RNvCsaxcs3BU8SbP_11rustc_parse20new_p
26: 0xf7a4489e03d4 - _RINvMNtCsjp4DNmKDEpZ_13rustc_session5utilsNtNtB5_7session7Session4timeINtNtCs5YV6E1QC8Wt_4core6result6ResultNtNtCsblGDSQfRQvR_9rustc_ast3ast5CrateNtNtCsdJrWjUgrcD1_12rustc_errors10diagnostic4DiagENCNvNtCs9jtphf5UW4D_15rustc_interface6passes5parse0EB3e__RNvMs5_NtCsix
27: 0xf7a4489dbef0 - _RNvNtCs9jtphf5UW4D_15rustc_interface6passe
28: 0xf7a4486ee078 - _RNCINvNtCs9jtphf5UW4D_15rustc_interface9interface12run_compileruNCNvCsjW71KOyNjij_17rustc_driver_impl12run_compiler0Es_0B14_.llvm.444867203411889255_RNv
29: 0xf7a4486e4000 - _RINvMs_CscLSDqDbzlVJ_10scoped_tlsINtB5_9ScopedKeyNtCsdv795kbyWbm_10rustc_span14SessionGlobalsE3setNCNCNCINvNtCs9jtphf5UW4D_15rustc_interface4util26run_in_thread_with_globalsNCINvB1H_31run_in_thread_pool_with_globalsNCINvNtB1J_9interface12run_compileruNCNvCsjW71KOyNjij_17rustc_driver_impl12run_compiler0Es_0uE0uE
30: 0xf7a448716ea4 - _RINvCsdv795kbyWbm_10rustc_span27create_session_globals_thenuNCNCNCINvNtCs9jtphf5UW4D_15rustc_interface4util26run_in_thread_with_globalsNCINvB15_31run_in_thread_pool_with_globalsNCINvNtB17_9interface12run_compileruNCNvCsjW71KOyNjij_17rustc_driver_impl12run_compiler0Es_0uE0uE000EB3t_anon.a08791f0a
31: 0xf7a4486d0c14 - _RINvNtNtCs6zWtt0slXc4_3std3sys9backtrace28___rust_begin_short_backtraceNCNCINvNtCs9jtphf5UW4D_15rustc_interface4util26run_in_thread_with_globalsNCINvB1e_31run_in_thread_pool_with_globalsNCINvNtB1g_9interface12run_compileruNCNvCsjW71KOyNjij_17rustc_driver_impl12run_compiler0Es
32: 0xf7a4486eec54 - _RNSNvYNCINvNtNtCs6zWtt0slXc4_3std6thread9lifecycle15spawn_uncheckedNCNCINvNtCs9jtphf5UW4D_15rustc_interface4util26run_in_thread_with_globalsNCINvB1a_31run_in_thread_pool_with_globalsNCINvNtB1c_9interface12run_compileruNCNvCsjW71KOyNjij_17rustc_driver_impl12run_compiler0Es_0uE0uE00uEs_0INtNtNtCs5YV6E1QC8Wt_4core3ops8function6FnOnceuE9call_
33: 0xf7a44fd148f8 - _RNvNvMs0_NtNtNtCs6zWtt0slXc4_3std3sys6thread4unixNtB7_6Thread3new12thread_start_RNvMs0_NtNtNt
34: 0xf7a44746db74 - pthread__c
35: 0xf7a44778d65c - __mkno
panicked at /rust/deps/fluent-syntax-0.12.0/src/parser/pattern.rs:217:18:
internal error: entered unreachable code
thread panicked while processing panic. aborting.
error: could not compile `proc-macro2` (build script)
Caused by:
process didn't exit successfully: `rustc --crate-name build_script_build --edition=2021 /usr/pkgsrc/sysutils/dua-cli/work/vendor/proc-macro2-1.0.103/build.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --crate-type bin --emit=dep-info,link -C opt-level=3 -C embed-bitcode=no --cfg 'feature="default"' --cfg 'feature="proc-macro"' --check-cfg 'cfg(docsrs,test)' --check-cfg 'cfg(feature, values("default", "nightly", "proc-macro", "span-locations"))' -C metadata=975c81537f0f08a5 -C extra-filename=-df28cfa33c8fa651 --out-dir /usr/pkgsrc/sysutils/dua-cli/work/dua-cli-2.37.1/target/release/build/proc-macro2-df28cfa33c8fa651 -C strip=debuginfo -L dependency=/usr/pkgsrc/sysutils/dua-cli/work/dua-cli-2.37.1/target/release/deps --cap-lints allow` (signal: 6, SIGABRT: process abort signal)
*** Error code 101
Code
I tried to use a cross-compiler built for
aarch64_be-unknown-netbsdto build thedua-cliprogram.This worked fine with rust 1.96.0, but fails miserably with rust 1.97.0.
A similar cross-built compiler for the little-endian variant,
aarch64-unknown-netbsdworks just fine.I expected to see the compiler successfully run and build
dua-cli.Instead, this happened:
The build log for
dua-clicontains:None of the other NetBSD targets I build rust for show this problem, so I suspect this
is a CPU-specific problem, i.e. a problem specific to aarch64 in big-endian mode.
I therefore wonder if any other big-endian aarch64 targets have successfully been tested
with rust 1.97.0 or 1.97.1.
Version it worked on
It most recently worked on: 1.96.0
Version with regression
Since I only test and cross-build "releases", this problem was first discovered in 1.97.0.
rustc --version --verbose:Backtrace
Backtrace