Skip to content

Compiler panic on big-endian PowerPC 64 #41443

Closed
@hsivonen

Description

@hsivonen

rustc 1.18.0-nightly (ddc5d7b 2017-04-20) on Linux ppc64 (big-endian) panics when compiling a doc test from encoding_rs. No panic on x86_64.

Steps to reproduce:

  1. Use Linux on big-endian PPC 64 and install nightly Rust via rustup. (I used Fedora 25 in qemu; see Linking with panic machinery fails on Linux PPC64 #37996 for how. I used RUSTUP_USE_HYPER=1 to work around rustup having a broken libcurl at the moment.)

  2. Clone encoding_rs and checkout the latest commit at the time of filing this issue: 85f3d89ef81d77f35261f510b56aab023b0b9c46.

  3. Run RUST_BACKTRACE=1 cargo test in the encoding_rs directory.

Expected results:
No compiler panic.

Actual results:

---- src/lib.rs -  (line 38) stdout ----
	thread 'rustc' panicked at 'slice index starts at 2164457473 but ends at 4244', /checkout/src/libcore/slice/mod.rs:678
stack backtrace:
   0: rust_metadata_std_0ff3d7f6ad2422744699d0f70ff8c1ff
             at /checkout/src/libstd/sys/unix/backtrace/tracing/gcc_s.rs:49
   1: rust_metadata_std_0ff3d7f6ad2422744699d0f70ff8c1ff
             at /checkout/src/libstd/sys_common/backtrace.rs:71
   2: rust_metadata_std_0ff3d7f6ad2422744699d0f70ff8c1ff
             at /checkout/src/libstd/sys_common/backtrace.rs:60
             at /checkout/src/libstd/panicking.rs:355
   3: rust_metadata_std_0ff3d7f6ad2422744699d0f70ff8c1ff
             at /checkout/src/libstd/panicking.rs:365
   4: rust_metadata_std_0ff3d7f6ad2422744699d0f70ff8c1ff
             at /checkout/src/libstd/panicking.rs:549
   5: rust_metadata_std_0ff3d7f6ad2422744699d0f70ff8c1ff
             at /checkout/src/libstd/panicking.rs:511
   6: rust_metadata_std_0ff3d7f6ad2422744699d0f70ff8c1ff
             at /checkout/src/libstd/panicking.rs:495
   7: rust_metadata_std_0ff3d7f6ad2422744699d0f70ff8c1ff
             at /checkout/src/libstd/panicking.rs:471
   8: rust_metadata_std_0ff3d7f6ad2422744699d0f70ff8c1ff
             at /checkout/src/libcore/panicking.rs:69
   9: rust_metadata_std_0ff3d7f6ad2422744699d0f70ff8c1ff
             at /checkout/src/libcore/slice/mod.rs:678
  10: <unknown>
  11: <unknown>
  12: <unknown>
  13: <unknown>
  14: <unknown>
  15: rust_metadata_rustc_ffd9b1750805273645076f69fba62fdb
  16: rust_metadata_rustc_ffd9b1750805273645076f69fba62fdb
  17: rust_metadata_rustc_ffd9b1750805273645076f69fba62fdb
  18: <unknown>
  19: <unknown>
  20: <unknown>
  21: <unknown>
  22: <unknown>
  23: <unknown>
  24: <unknown>
  25: rust_metadata_rustc_ffd9b1750805273645076f69fba62fdb
  26: rust_metadata_rustc_ffd9b1750805273645076f69fba62fdb
  27: <unknown>
  28: <unknown>
  29: <unknown>
  30: <unknown>
  31: <unknown>
  32: <unknown>
  33: <unknown>
  34: <unknown>
  35: <unknown>
  36: <unknown>
  37: <unknown>
  38: <unknown>
  39: <unknown>
  40: <unknown>
  41: <unknown>
  42: rust_metadata_rustc_ffd9b1750805273645076f69fba62fdb
  43: rust_metadata_rustc_ffd9b1750805273645076f69fba62fdb
  44: rust_metadata_rustc_ffd9b1750805273645076f69fba62fdb
  45: <unknown>
  46: rust_metadata_rustc_ffd9b1750805273645076f69fba62fdb
  47: rust_metadata_rustc_ffd9b1750805273645076f69fba62fdb
  48: <unknown>
  49: <unknown>
  50: <unknown>
  51: <unknown>
  52: <unknown>
  53: rust_metadata_rustdoc_9a3173292f99a3ed50ba39e38caf6298
  54: rust_metadata_std_0ff3d7f6ad2422744699d0f70ff8c1ff
             at /checkout/src/libpanic_unwind/lib.rs:98
  55: <unknown>
  56: rust_metadata_rustdoc_9a3173292f99a3ed50ba39e38caf6298
  57: rust_metadata_std_0ff3d7f6ad2422744699d0f70ff8c1ff
             at /checkout/src/libpanic_unwind/lib.rs:98
  58: <unknown>
  59: rust_metadata_std_0ff3d7f6ad2422744699d0f70ff8c1ff
             at /checkout/src/liballoc/boxed.rs:650
             at /checkout/src/libstd/sys_common/thread.rs:21
             at /checkout/src/libstd/sys/unix/thread.rs:84
  60: <unknown>
  61: <unknown>
thread 'rustc' panicked at 'couldn't compile the test', /checkout/src/librustdoc/test.rs:270
stack backtrace:
   0: rust_metadata_std_0ff3d7f6ad2422744699d0f70ff8c1ff
             at /checkout/src/libstd/sys/unix/backtrace/tracing/gcc_s.rs:49
   1: rust_metadata_std_0ff3d7f6ad2422744699d0f70ff8c1ff
             at /checkout/src/libstd/sys_common/backtrace.rs:71
   2: rust_metadata_std_0ff3d7f6ad2422744699d0f70ff8c1ff
             at /checkout/src/libstd/sys_common/backtrace.rs:60
             at /checkout/src/libstd/panicking.rs:355
   3: rust_metadata_std_0ff3d7f6ad2422744699d0f70ff8c1ff
             at /checkout/src/libstd/panicking.rs:365
   4: rust_metadata_std_0ff3d7f6ad2422744699d0f70ff8c1ff
             at /checkout/src/libstd/panicking.rs:549
   5: rust_metadata_rustdoc_9a3173292f99a3ed50ba39e38caf6298
   6: <unknown>
   7: rust_metadata_rustdoc_9a3173292f99a3ed50ba39e38caf6298
   8: rust_metadata_std_0ff3d7f6ad2422744699d0f70ff8c1ff
             at /checkout/src/libpanic_unwind/lib.rs:98
   9: <unknown>
  10: rust_metadata_std_0ff3d7f6ad2422744699d0f70ff8c1ff
             at /checkout/src/liballoc/boxed.rs:650
             at /checkout/src/libstd/sys_common/thread.rs:21
             at /checkout/src/libstd/sys/unix/thread.rs:84
  11: <unknown>
  12: <unknown>

Metadata

Metadata

Assignees

Labels

A-metadataArea: Crate metadataI-ICEIssue: The compiler panicked, giving an Internal Compilation Error (ICE) ❄️P-highHigh priorityT-compilerRelevant to the compiler team, which will review and decide on the PR/issue.regression-from-stable-to-betaPerformance or correctness regression from stable to beta.

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions