Skip to content

Compile panic on nightly compiling kamadak-exif, assertion failed in byteorder #50900

Description

@sindreij

I hope this is not already known, but my searching has not turned up anything.

Compiling a rust binary with the kamadak-exif dependency panices in nightly.

How to reproduce:

  1. Create a new rust binary.
  2. Add kamadak-exif = "0.3.0" to dependencies in Cargo.toml
  3. Run RUST_BACKTRACE=1 cargo run

This gives the following output

   Compiling kamadak-exif v0.3.0
thread 'main' panicked at 'assertion failed: pack_size128(n as u128) <= nbytes && nbytes <= 16', /cargo/registry/src/github.com-1ecc6299db9ec823/byteorder-1.2.2/src/lib.rs:2128:9
stack backtrace:
   0: std::sys::unix::backtrace::tracing::imp::unwind_backtrace
             at libstd/sys/unix/backtrace/tracing/gcc_s.rs:49
   1: std::sys_common::backtrace::print
             at libstd/sys_common/backtrace.rs:71
             at libstd/sys_common/backtrace.rs:59
   2: std::panicking::default_hook::{{closure}}
             at libstd/panicking.rs:211
   3: std::panicking::default_hook
             at libstd/panicking.rs:227
   4: rustc::util::common::panic_hook
   5: std::panicking::rust_panic_with_hook
             at libstd/panicking.rs:467
   6: std::panicking::begin_panic
   7: rustc::mir::interpret::write_target_uint
   8: <rustc_mir::interpret::memory::Memory<'a, 'mir, 'tcx, M>>::write_primval
   9: <rustc_mir::interpret::eval_context::EvalContext<'a, 'mir, 'tcx, M>>::write_value_to_ptr
  10: rustc_mir::interpret::const_eval::const_variant_index
  11: rustc_mir::hair::pattern::PatternContext::const_to_pat
  12: rustc_mir::hair::pattern::PatternContext::const_to_pat::{{closure}}
  13: <alloc::vec::Vec<T> as alloc::vec::SpecExtend<T, I>>::from_iter
  14: rustc_mir::hair::pattern::PatternContext::const_to_pat
  15: rustc_mir::hair::pattern::PatternContext::lower_path
  16: rustc_mir::hair::pattern::PatternContext::lower_pattern
  17: core::ops::function::impls::<impl core::ops::function::FnOnce<A> for &'a mut F>::call_once
  18: <alloc::vec::Vec<T> as alloc::vec::SpecExtend<T, I>>::from_iter
  19: <alloc::vec::Vec<T> as alloc::vec::SpecExtend<T, I>>::from_iter
  20: rustc_mir::hair::pattern::_match::MatchCheckCtxt::create_and_enter
  21: <rustc_mir::hair::pattern::check_match::MatchVisitor<'a, 'tcx> as rustc::hir::intravisit::Visitor<'tcx>>::visit_expr
  22: <rustc_mir::hair::pattern::check_match::MatchVisitor<'a, 'tcx> as rustc::hir::intravisit::Visitor<'tcx>>::visit_expr
  23: rustc::hir::intravisit::walk_block
  24: <rustc_mir::hair::pattern::check_match::MatchVisitor<'a, 'tcx> as rustc::hir::intravisit::Visitor<'tcx>>::visit_expr
  25: rustc::hir::intravisit::walk_expr
  26: <rustc_mir::hair::pattern::check_match::MatchVisitor<'a, 'tcx> as rustc::hir::intravisit::Visitor<'tcx>>::visit_expr
  27: <rustc_mir::hair::pattern::check_match::MatchVisitor<'a, 'tcx> as rustc::hir::intravisit::Visitor<'tcx>>::visit_local
  28: rustc::hir::intravisit::walk_block
  29: <rustc_mir::hair::pattern::check_match::MatchVisitor<'a, 'tcx> as rustc::hir::intravisit::Visitor<'tcx>>::visit_expr
  30: rustc::hir::intravisit::walk_block
  31: <rustc_mir::hair::pattern::check_match::MatchVisitor<'a, 'tcx> as rustc::hir::intravisit::Visitor<'tcx>>::visit_expr
  32: <rustc_mir::hair::pattern::check_match::MatchVisitor<'a, 'tcx> as rustc::hir::intravisit::Visitor<'tcx>>::visit_body
  33: rustc::session::Session::track_errors
  34: rustc_mir::hair::pattern::check_match::check_match
  35: rustc::dep_graph::graph::DepGraph::with_task_impl
  36: rustc::ty::context::tls::with_related_context
  37: rustc::ty::maps::plumbing::<impl rustc::ty::context::TyCtxt<'a, 'gcx, 'tcx>>::force_query_with_job
  38: rustc::ty::maps::plumbing::<impl rustc::ty::context::TyCtxt<'a, 'gcx, 'tcx>>::get_query
  39: rustc::hir::intravisit::Visitor::visit_nested_body
  40: rustc::hir::Crate::visit_all_item_likes
  41: rustc_mir::hair::pattern::check_match::check_crate
  42: rustc::util::common::time
  43: rustc::ty::context::tls::enter_context
  44: <std::thread::local::LocalKey<T>>::with
  45: rustc::ty::context::TyCtxt::create_and_enter
  46: rustc_driver::driver::compile_input
  47: rustc_driver::run_compiler_with_pool
  48: syntax::with_globals
  49: <std::panic::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once
  50: __rust_maybe_catch_panic
             at libpanic_unwind/lib.rs:105
  51: rustc_driver::run
  52: rustc_driver::main
  53: std::rt::lang_start::{{closure}}
  54: std::panicking::try::do_call
             at libstd/rt.rs:59
             at libstd/panicking.rs:310
  55: __rust_maybe_catch_panic
             at libpanic_unwind/lib.rs:105
  56: std::rt::lang_start_internal
             at libstd/panicking.rs:289
             at libstd/panic.rs:374
             at libstd/rt.rs:58
  57: main
  58: __libc_start_main
  59: <unknown>
query stack during panic:
#0 [check_match] processing `tiff::parse_ifd`
end of query stack

error: internal compiler error: unexpected panic

note: the compiler unexpectedly panicked. this is a bug.

note: we would appreciate a bug report: https://github.com/rust-lang/rust/blob/master/CONTRIBUTING.md#bug-reports

note: rustc 1.28.0-nightly (952f344cd 2018-05-18) running on x86_64-unknown-linux-gnu

note: compiler flags: -C debuginfo=2 --crate-type lib

note: some of the compiler flags provided by cargo are hidden

error: Could not compile `kamadak-exif`.

To learn more, run the command again with --verbose.

It compiles on stable and beta.

Edit: Just running cargo build in https://github.com/kamadak/exif-rs gives the same result.

Meta

$ rustc --version --verbose
rustc 1.28.0-nightly (952f344cd 2018-05-18)
binary: rustc
commit-hash: 952f344cdc0bca58d9f6c54dcfbae0890246e886
commit-date: 2018-05-18
host: x86_64-unknown-linux-gnu
release: 1.28.0-nightly
LLVM version: 6.0

No activity

Activity on this issue will appear here.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    C-bugCategory: This is a bug.E-needs-testCall for participation: An issue has been fixed and does not reproduce, but no test has been added.I-ICEIssue: The compiler panicked, giving an Internal Compilation Error (ICE) ❄️

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions