Skip to content

thread 'rustc' panicked at 'assertion failed: pos.get() <= self.position()', compiler/rustc_metadata/src/rmeta/encoder.rs:441:9 #114045

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

Closed
andrewdavidmackenzie opened this issue Jul 25, 2023 · 2 comments · Fixed by #115542
Labels
C-bug Category: This is a bug. I-ICE Issue: The compiler panicked, giving an Internal Compilation Error (ICE) ❄️ T-compiler Relevant to the compiler team, which will review and decide on the PR/issue.

Comments

@andrewdavidmackenzie
Copy link

From this GH Action run:
https://github.com/andrewdavidmackenzie/flow/actions/runs/5647511277/job/15297765273

Log:

2023-07-24 17:19:18 [INFO] (mdbook::book): Book building has started
2023-07-24 17:19:18 [INFO] (mdbook::book): Running the html backend
2023-07-24 17:20:17 [INFO] (mdbook::book): Running the linkcheck backend
2023-07-24 17:20:17 [INFO] (mdbook::renderer): Invoking the "linkcheck" renderer
   Compiling autocfg v1.1.0
   Compiling libc v0.2.147
    Checking cfg-if v1.0.0
   Compiling proc-macro2 v1.0.66
   Compiling unicode-ident v1.0.10
   Compiling quote v1.0.32
   Compiling serde v1.0.175
   Compiling serde_derive v1.0.175
   Compiling pkg-config v0.3.27
   Compiling jobserver v0.1.26
   Compiling cc v1.0.79
   Compiling syn v2.0.27
   Compiling version_check v0.9.4
    Checking once_cell v1.18.0
    Checking getrandom v0.2.10
    Checking bitflags v1.3.2
   Compiling memchr v2.5.0
    Checking log v0.4.19
    Checking smallvec v1.11.0
   Compiling ahash v0.7.6
   Compiling thiserror v1.0.43
   Compiling thiserror-impl v1.0.43
   Compiling crossbeam-utils v0.8.16
    Checking hashbrown v0.12.3
   Compiling indexmap v1.9.3
   Compiling libm v0.2.7
   Compiling memoffset v0.9.0
   Compiling num-traits v0.2.15
   Compiling libz-sys v1.1.9
   Compiling openssl-sys v0.9.90
   Compiling crossbeam-epoch v0.9.15
    Checking adler v1.0.2
   Compiling syn v1.0.109
   Compiling curl-sys v0.4.63+curl-8.1.2
   Compiling rayon-core v1.11.0
    Checking simd-adler32 v0.3.5
    Checking scopeguard v1.1.0
    Checking miniz_oxide v0.7.1
    Checking fallible-iterator v0.2.0
   Compiling either v1.8.1
    Checking stable_deref_trait v1.2.0
    Checking gimli v0.27.3
   Compiling curl v0.4.44
   Compiling crc32fast v1.3.2
   Compiling memoffset v0.6.5
    Checking arrayvec v0.7.4
    Checking num_cpus v1.16.0
    Checking lazy_static v1.4.0
   Compiling backtrace v0.3.68
   Compiling lock_api v0.4.10
    Checking rustc-hash v1.1.0
    Checking minimal-lexical v0.2.1
    Checking nom v7.1.3
   Compiling xml-rs v0.8.15
    Checking percent-encoding v2.3.0
   Compiling futures-core v0.3.28
   Compiling wayland-scanner v0.29.5
    Checking rand_core v0.6.4
   Compiling error-chain v0.12.4
   Compiling ahash v0.8.3
   Compiling cmake v0.1.50
    Checking rustc-demangle v0.1.23
    Checking tinyvec_macros v0.1.1
    Checking ppv-lite86 v0.2.17
    Checking tinyvec v1.6.0
    Checking rand_chacha v0.3.1
    Checking crossbeam-deque v0.8.3
    Checking crossbeam-channel v0.5.8
   Compiling bytemuck_derive v1.4.1
   Compiling wayland-sys v0.29.5
    Checking libloading v0.8.0
   Compiling equivalent v1.0.1
    Checking termcolor v1.2.0
   Compiling hashbrown v0.14.0
    Checking ryu v1.0.14
    Checking bitflags v2.3.3
    Checking futures-sink v0.3.28
    Checking itoa v1.0.8
    Checking bytemuck v1.13.1
   Compiling indexmap v2.0.0
    Checking dlib v0.5.2
    Checking unicode-normalization v0.1.22
    Checking rand v0.8.5
    Checking unicode-bidi v0.3.13
   Compiling rustix v0.38.4
    Checking matches v0.1.10
    Checking byteorder v1.4.3
    Checking openssl-probe v0.1.5
   Compiling siphasher v0.3.10
   Compiling phf_shared v0.11.2
    Checking idna v0.2.3
    Checking hashbrown v0.13.2
   Compiling wayland-client v0.29.5
    Checking form_urlencoded v1.2.0
    Checking nix v0.24.3
   Compiling itertools v0.8.2
   Compiling toml_datetime v0.6.3
   Compiling serde_spanned v0.6.3
    Checking approx v0.5.1
    Checking cranelift-entity v0.98.0
   Compiling slab v0.4.8
    Checking static_assertions v1.1.0
    Checking linux-raw-sys v0.4.3
   Compiling target-lexicon v0.12.9
   Compiling winnow v0.4.9
   Compiling futures-channel v0.3.28
   Compiling futures-task v0.3.28
   Compiling toml_edit v0.19.12
   Compiling shrinkwraprs v0.3.0
    Checking wayland-commons v0.29.5
    Checking url v2.2.2
   Compiling phf_generator v0.11.2
    Checking rayon v1.7.0
   Compiling freetype-sys v0.13.1
    Checking flate2 v1.0.26
   Compiling toml v0.5.11
    Checking euclid v0.22.9
   Compiling slotmap v1.0.6
   Compiling cranelift-isle v0.98.0
   Compiling parking_lot_core v0.9.8
    Checking downcast-rs v1.2.0
   Compiling semver v1.0.17
   Compiling futures-util v0.3.28
   Compiling serde_json v1.0.103
    Checking pin-project-lite v0.2.10
   Compiling crossbeam-queue v0.3.8
    Checking scoped-tls v1.0.1
   Compiling find-crate v0.6.3
   Compiling phf_macros v0.11.2
   Compiling toml v0.7.6
   Compiling expat-sys v2.1.6
   Compiling wayland-protocols v0.29.5
    Checking fdeflate v0.3.0
   Compiling futures-macro v0.3.28
   Compiling cranelift-codegen-shared v0.98.0
    Checking futures-io v0.3.28
   Compiling palette v0.6.1
    Checking unsafe-libyaml v0.2.8
    Checking pin-utils v0.1.0
    Checking raw-window-handle v0.5.2
    Checking serde_yaml v0.9.25
   Compiling cranelift-codegen-meta v0.98.0
    Checking png v0.17.9
    Checking phf v0.11.2
   Compiling palette_derive v0.6.1
    Checking lyon_geom v1.0.4
    Checking xcursor v0.3.4
    Checking nix v0.25.1
    Checking addr2line v0.20.0
   Compiling pin-project-internal v1.1.2
    Checking object v0.31.1
   Compiling smithay-client-toolkit v0.16.0
    Checking socket2 v0.4.9
   Compiling num-integer v0.1.45
   Compiling tokio v1.29.1
    Checking unicode-width v0.1.10
    Checking vec_map v0.8.2
    Checking calloop v0.10.6
    Checking pin-project v1.1.2
    Checking wayland-cursor v0.29.5
    Checking lyon_path v1.0.3
   Compiling crossbeam v0.8.2
    Checking wasmparser v0.107.0
    Checking parking_lot v0.12.1
   Compiling cranelift-codegen v0.98.0
    Checking futures-executor v0.3.28
    Checking is-terminal v0.4.9
    Checking twox-hash v1.6.3
    Checking fxhash v0.2.1
    Checking spin v0.9.8
    Checking nanorand v0.7.0
   Compiling servo-fontconfig-sys v5.1.0
    Checking memmap2 v0.5.10
    Checking libloading v0.7.4
   Compiling num-rational v0.4.1
   Compiling anyhow v1.0.71
    Checking bit-vec v0.6.3
    Checking arbitrary v1.3.0
    Checking ttf-parser v0.19.1
    Checking slice-group-by v0.3.1
   Compiling khronos-egl v4.1.0
   Compiling same-file v1.0.6
   Compiling ash v0.37.3+1.3.251
    Checking utf8parse v0.2.1
    Checking weezl v0.1.7
   Compiling walkdir v2.3.3
    Checking regalloc2 v0.9.2
    Checking owned_ttf_parser v0.19.0
    Checking cranelift-control v0.98.0
    Checking bit-set v0.5.3
    Checking flume v0.10.14
    Checking futures v0.3.28
   Compiling jwalk v0.6.2
    Checking iced_core v0.9.0
    Checking wasmtime-types v11.0.0
    Checking codespan-reporting v0.11.1
    Checking jpeg-decoder v0.3.0
    Checking cranelift-bforest v0.98.0
    Checking itertools v0.10.5
    Checking zune-inflate v0.2.54
    Checking spirv v0.2.0+1.5.4
    Checking float_next_after v0.1.5
    Checking aho-corasick v1.0.2
    Checking gpu-alloc-types v0.2.0
    Checking gpu-descriptor-types v0.1.1
    Checking half v2.2.1
    Checking unicode-xid v0.2.4
    Checking bumpalo v3.13.0
    Checking bit_field v0.10.2
   Compiling io-lifetimes v1.0.11
    Checking lebe v0.5.2
    Checking ab_glyph_rasterizer v0.1.8
    Checking hexf-parse v0.2.1
    Checking unicode-segmentation v1.10.1
    Checking color_quant v1.1.0
    Checking regex-syntax v0.7.4
    Checking regex-automata v0.3.3
    Checking gif v0.12.0
    Checking naga v0.11.1
    Checking ab_glyph v0.2.21
    Checking exr v1.7.0
thread 'rustc' panicked at 'assertion failed: pos.get() <= self.position()', compiler/rustc_metadata/src/rmeta/encoder.rs:441:9
thread 'rustc' panicked at 'assertion failed: pos.get() <= self.position()', compiler/rustc_metadata/src/rmeta/encoder.rs:441:9
stack backtrace:
   0:     0x7f21f32bdfc1 - std::backtrace_rs::backtrace::libunwind::trace::hfbdcce66509fe732
                               at /rustc/8771282d4e7a5c4569e49d1f878fb3ba90a974d0/library/std/src/../../backtrace/src/backtrace/libunwind.rs:93:5
   1:     0x7f21f32bdfc1 - std::backtrace_rs::backtrace::trace_unsynchronized::h4dcd19ae998c0672
                               at /rustc/8771282d4e7a5c4569e49d1f878fb3ba90a974d0/library/std/src/../../backtrace/src/backtrace/mod.rs:66:5
   2:     0x7f21f32bdfc1 - std::sys_common::backtrace::_print_fmt::hc3b2022f54365a60
                               at /rustc/8771282d4e7a5c4569e49d1f878fb3ba90a974d0/library/std/src/sys_common/backtrace.rs:65:5
   3:     0x7f21f32bdfc1 - <std::sys_common::backtrace::_print::DisplayBacktrace as core::fmt::Display>::fmt::h424c89be701ba29a
                               at /rustc/8771282d4e7a5c4569e49d1f878fb3ba90a974d0/library/std/src/sys_common/backtrace.rs:44:22
   4:     0x7f21f332449c - core::fmt::rt::Argument::fmt::hc24c75b10ade90cd
                               at /rustc/8771282d4e7a5c4569e49d1f878fb3ba90a974d0/library/core/src/fmt/rt.rs:138:9
   5:     0x7f21f332449c - core::fmt::write::hb97b58de87eb3c5e
                               at /rustc/8771282d4e7a5c4569e49d1f878fb3ba90a974d0/library/core/src/fmt/mod.rs:1094:21
   6:     0x7f21f32b07ae - std::io::Write::write_fmt::h7b6222802dcfa27b
                               at /rustc/8771282d4e7a5c4569e49d1f878fb3ba90a974d0/library/std/src/io/mod.rs:1714:15
   7:     0x7f21f32bddd5 - std::sys_common::backtrace::_print::h9367ae6c3a6f4e3a
                               at /rustc/8771282d4e7a5c4569e49d1f878fb3ba90a974d0/library/std/src/sys_common/backtrace.rs:47:5
   8:     0x7f21f32bddd5 - std::sys_common::backtrace::print::ha646e1d5b216c1a7
                               at /rustc/8771282d4e7a5c4569e49d1f878fb3ba90a974d0/library/std/src/sys_common/backtrace.rs:34:9
   9:     0x7f21f32c0e2a - std::panicking::panic_hook_with_disk_dump::{{closure}}::h2d580c7fc6ce3bc8
                               at /rustc/8771282d4e7a5c4569e49d1f878fb3ba90a974d0/library/std/src/panicking.rs:278:22
  10:     0x7f21f32c0ac3 - std::panicking::panic_hook_with_disk_dump::h28aca8a7d4dc3ef1
                               at /rustc/8771282d4e7a5c4569e49d1f878fb3ba90a974d0/library/std/src/panicking.rs:312:9
  11:     0x7f21f64d8bd9 - <rustc_driver_impl[dddecba5304b0129]::install_ice_hook::{closure#0} as core[bf98ced176c639a6]::ops::function::FnOnce<(&core[bf98ced176c639a6]::panic::panic_info::PanicInfo,)>>::call_once::{shim:vtable#0}
  12:     0x7f21f32c16d0 - <alloc::boxed::Box<F,A> as core::ops::function::Fn<Args>>::call::hfde4d6af3bda321b
                               at /rustc/8771282d4e7a5c4569e49d1f878fb3ba90a974d0/library/alloc/src/boxed.rs:2021:9
  13:     0x7f21f32c16d0 - std::panicking::rust_panic_with_hook::ha5c6219e9410a9d2
                               at /rustc/8771282d4e7a5c4569e49d1f878fb3ba90a974d0/library/std/src/panicking.rs:733:13
  14:     0x7f21f32c1411 - std::panicking::begin_panic_handler::{{closure}}::ha9f6150182185500
                               at /rustc/8771282d4e7a5c4569e49d1f878fb3ba90a974d0/library/std/src/panicking.rs:619:13
  15:     0x7f21f32be426 - std::sys_common::backtrace::__rust_end_short_backtrace::h5ff2d615be4b64af
                               at /rustc/8771282d4e7a5c4569e49d1f878fb3ba90a974d0/library/std/src/sys_common/backtrace.rs:151:18
  16:     0x7f21f32c11a2 - rust_begin_unwind
                               at /rustc/8771282d4e7a5c4569e49d1f878fb3ba90a974d0/library/std/src/panicking.rs:617:5
  17:     0x7f21f3320853 - core::panicking::panic_fmt::h4ae5d71f5c852a70
                               at /rustc/8771282d4e7a5c4569e49d1f878fb3ba90a974d0/library/core/src/panicking.rs:67:14
  18:     0x7f21f33208e3 - core::panicking::panic::haac66a7d53162608
                               at /rustc/8771282d4e7a5c4569e49d1f878fb3ba90a974d0/library/core/src/panicking.rs:117:5
  19:     0x7f21f57d0668 - <rustc_metadata[15ba9f8c1a4c7f62]::rmeta::encoder::EncodeContext>::encode_crate_root
  20:     0x7f21f57540a8 - rustc_metadata[15ba9f8c1a4c7f62]::rmeta::encoder::encode_metadata_impl
  21:     0x7f21f5747d89 - rustc_metadata[15ba9f8c1a4c7f62]::rmeta::encoder::encode_metadata
  22:     0x7f21f57463e0 - rustc_metadata[15ba9f8c1a4c7f62]::fs::encode_and_write_metadata
  23:     0x7f21f573afe0 - rustc_interface[46d309a189cb28f4]::passes::start_codegen
  24:     0x7f21f573528a - <rustc_middle[e64e43e14accc018]::ty::context::GlobalCtxt>::enter::<<rustc_interface[46d309a189cb28f4]::queries::Queries>::ongoing_codegen::{closure#0}, core[bf98ced176c639a6]::result::Result<alloc[9d[133](https://github.com/andrewdavidmackenzie/flow/actions/runs/5647511277/job/15297765273#step:18:134)5a04e0b7636]::boxed::Box<dyn core[bf98ced176c639a6]::any::Any>, rustc_span[8f993ad714587e8]::ErrorGuaranteed>>
  25:     0x7f21f57342c3 - <rustc_interface[46d309a189cb28f4]::interface::Compiler>::enter::<rustc_driver_impl[dddecba5304b0129]::run_compiler::{closure#1}::{closure#2}, core[bf98ced176c639a6]::result::Result<core[bf98ced176c639a6]::option::Option<rustc_interface[46d309a189cb28f4]::queries::Linker>, rustc_span[8f993ad714587e8]::ErrorGuaranteed>>
  26:     0x7f21f5731454 - std[d9346bef62b632b5]::sys_common::backtrace::__rust_begin_short_backtrace::<rustc_interface[46d309a189cb28f4]::util::run_in_thread_pool_with_globals<rustc_interface[46d309a189cb28f4]::interface::run_compiler<core[bf98ced176c639a6]::result::Result<(), rustc_span[8f993ad714587e8]::ErrorGuaranteed>, rustc_driver_impl[dddecba5304b0129]::run_compiler::{closure#1}>::{closure#0}, core[bf98ced176c639a6]::result::Result<(), rustc_span[8f993ad714587e8]::ErrorGuaranteed>>::{closure#0}::{closure#0}, core[bf98ced176c639a6]::result::Result<(), rustc_span[8f993ad714587e8]::ErrorGuaranteed>>
  27:     0x7f21f5d52cae - <<std[d9346bef62b632b5]::thread::Builder>::spawn_unchecked_<rustc_interface[46d309a189cb28f4]::util::run_in_thread_pool_with_globals<rustc_interface[46d309a189cb28f4]::interface::run_compiler<core[bf98ced176c639a6]::result::Result<(), rustc_span[8f993ad714587e8]::ErrorGuaranteed>, rustc_driver_impl[dddecba5304b0129]::run_compiler::{closure#1}>::{closure#0}, core[bf98ced176c639a6]::result::Result<(), rustc_span[8f993ad714587e8]::ErrorGuaranteed>>::{closure#0}::{closure#0}, core[bf98ced176c639a6]::result::Result<(), rustc_span[8f993ad714587e8]::ErrorGuaranteed>>::{closure#1} as core[bf98ced176c639a6]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
  28:     0x7f21f32cbdc5 - <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once::hf3ada9234d5[144](https://github.com/andrewdavidmackenzie/flow/actions/runs/5647511277/job/15297765273#step:18:145)71
                               at /rustc/8771282d4e7a5c4569e49d1f878fb3ba90a974d0/library/alloc/src/boxed.rs:2007:9
  29:     0x7f21f32cbdc5 - <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once::h1e22c8751074bed8
                               at /rustc/8771282d4e7a5c4569e49d1f878fb3ba90a974d0/library/alloc/src/boxed.rs:2007:9
  30:     0x7f21f32cbdc5 - std::sys::unix::thread::Thread::new::thread_start::h8b7c846aff06e478
                               at /rustc/8771282d4e7a5c4569e49d1f878fb3ba90a974d0/library/std/src/sys/unix/thread.rs:108:17
  31:     0x7f21f300fb43 - <unknown>
  32:     0x7f21f30a1a00 - <unknown>
  33:                0x0 - <unknown>

error: the compiler unexpectedly panicked. this is a bug.
Error: the compiler unexpectedly panicked. this is a bug.
note: we would appreciate a bug report: https://github.com/rust-lang/rust/issues/new?labels=C-bug%2C+I-ICE%2C+T-compiler&template=ice.md

note: please attach the file at `/home/runner/.cargo/registry/src/index.crates.io-6f17d22bba[150](https://github.com/andrewdavidmackenzie/flow/actions/runs/5647511277/job/15297765273#step:18:151)01f/exr-1.7.0/rustc-ice-2023-07-24T17:22:28.9[199](https://github.com/andrewdavidmackenzie/flow/actions/runs/5647511277/job/15297765273#step:18:200)09094Z-48530.txt` to your bug report

note: compiler flags: --crate-type lib -C embed-bitcode=no -C debuginfo=2 -C split-debuginfo=unpacked -C instrument-coverage

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

query stack during panic:
end of query stack
The following warnings were emitted during compilation:

warning: Failed to run `rustfmt` on ISLE-generated code: Os { code: 32, kind: BrokenPipe, message: "Broken pipe" }
warning: Failed to run `rustfmt` on ISLE-generated code: Os { code: 32, kind: BrokenPipe, message: "Broken pipe" }
warning: Failed to run `rustfmt` on ISLE-generated code: Os { code: 32, kind: BrokenPipe, message: "Broken pipe" }
warning: Failed to run `rustfmt` on ISLE-generated code: Os { code: 32, kind: BrokenPipe, message: "Broken pipe" }
warning: Failed to run `rustfmt` on ISLE-generated code: Os { code: 32, kind: BrokenPipe, message: "Broken pipe" }

error: could not compile `cranelift-codegen` (lib)
warning: build failed, waiting for other jobs to finish...
error: could not compile `exr` (lib)
The following warnings were emitted during compilation:

warning: /tmp/ccN0JDUs.s: Assembler messages:
warning: /tmp/ccN0JDUs.s: Fatal error: can't write 10 bytes to section .text._curl_easy_setopt_err_long of /home/runner/work/flow/flow/target/html/code/debug/build/curl-sys-dee7ecd0b0efa58f/out/build/curl/lib/http.o: 'No space left on device'
warning: /tmp/ccN0JDUs.s: Fatal error: /home/runner/work/flow/flow/target/html/code/debug/build/curl-sys-dee7ecd0b0efa58f/out/build/curl/lib/http.o: No space left on device

error: failed to run custom build command for `curl-sys v0.4.63+curl-8.1.2`

Caused by:
  process didn't exit successfully: `/home/runner/work/flow/flow/target/html/code/debug/build/curl-sys-3eb3d9fc834c2ebc/build-script-build` (exit status: 1)
  --- stdout
  cargo:rerun-if-changed=curl
  cargo:rerun-if-env-changed=LIBCURL_NO_PKG_CONFIG
  cargo:rerun-if-env-changed=PKG_CONFIG_x86_64-unknown-linux-gnu
  cargo:rerun-if-env-changed=PKG_CONFIG_x86_64_unknown_linux_gnu
  cargo:rerun-if-env-changed=HOST_PKG_CONFIG
  cargo:rerun-if-env-changed=PKG_CONFIG
  cargo:rerun-if-env-changed=LIBCURL_STATIC
  cargo:rerun-if-env-changed=LIBCURL_DYNAMIC
  cargo:rerun-if-env-changed=PKG_CONFIG_ALL_STATIC
  cargo:rerun-if-env-changed=PKG_CONFIG_ALL_DYNAMIC
  cargo:rerun-if-env-changed=PKG_CONFIG_PATH_x86_64-unknown-linux-gnu
  cargo:rerun-if-env-changed=PKG_CONFIG_PATH_x86_64_unknown_linux_gnu
  cargo:rerun-if-env-changed=HOST_PKG_CONFIG_PATH
  cargo:rerun-if-env-changed=PKG_CONFIG_PATH
  cargo:rerun-if-env-changed=PKG_CONFIG_LIBDIR_x86_64-unknown-linux-gnu
  cargo:rerun-if-env-changed=PKG_CONFIG_LIBDIR_x86_64_unknown_linux_gnu
  cargo:rerun-if-env-changed=HOST_PKG_CONFIG_LIBDIR
  cargo:rerun-if-env-changed=PKG_CONFIG_LIBDIR
  cargo:rerun-if-env-changed=PKG_CONFIG_SYSROOT_DIR_x86_64-unknown-linux-gnu
  cargo:rerun-if-env-changed=PKG_CONFIG_SYSROOT_DIR_x86_64_unknown_linux_gnu
  cargo:rerun-if-env-changed=HOST_PKG_CONFIG_SYSROOT_DIR
  cargo:rerun-if-env-changed=PKG_CONFIG_SYSROOT_DIR
  Couldn't find libcurl from pkgconfig (`PKG_CONFIG_ALLOW_SYSTEM_CFLAGS="1" PKG_CONFIG_ALLOW_SYSTEM_LIBS="1" "pkg-config" "--libs" "--cflags" "libcurl"` did not exit successfully: exit status: 1
  error: could not find system library 'libcurl' required by the 'curl-sys' crate

  --- stderr
  Package libcurl was not found in the pkg-config search path.
  Perhaps you should add the directory containing `libcurl.pc'
  to the PKG_CONFIG_PATH environment variable
  No package 'libcurl' found
  ), compiling it from source...
  cargo:root=/home/runner/work/flow/flow/target/html/code/debug/build/curl-sys-dee7ecd0b0efa58f/out
  cargo:include=/home/runner/work/flow/flow/target/html/code/debug/build/curl-sys-dee7ecd0b0efa58f/out/include
  cargo:static=1
  cargo:rustc-cfg=libcurl_vendored
  cargo:rustc-cfg=link_libz
  cargo:rustc-cfg=link_openssl
  TARGET = Some("x86_64-unknown-linux-gnu")
  OPT_LEVEL = Some("0")
  HOST = Some("x86_64-unknown-linux-gnu")
  cargo:rerun-if-env-changed=CC_x86_64-unknown-linux-gnu
  CC_x86_64-unknown-linux-gnu = None
  cargo:rerun-if-env-changed=CC_x86_64_unknown_linux_gnu
  CC_x86_64_unknown_linux_gnu = None
  cargo:rerun-if-env-changed=HOST_CC
  HOST_CC = None
  cargo:rerun-if-env-changed=CC
  CC = None
  cargo:rerun-if-env-changed=CFLAGS_x86_64-unknown-linux-gnu
  CFLAGS_x86_64-unknown-linux-gnu = None
  cargo:rerun-if-env-changed=CFLAGS_x86_64_unknown_linux_gnu
  CFLAGS_x86_64_unknown_linux_gnu = None
  cargo:rerun-if-env-changed=HOST_CFLAGS
  HOST_CFLAGS = None
  cargo:rerun-if-env-changed=CFLAGS
  CFLAGS = None
  cargo:rerun-if-env-changed=CRATE_CC_NO_DEFAULTS
  CRATE_CC_NO_DEFAULTS = None
  DEBUG = Some("true")
  CARGO_CFG_TARGET_FEATURE = Some("fxsr,sse,sse2")
  running: "cc" "-O0" "-ffunction-sections" "-fdata-sections" "-fPIC" "-gdwarf-4" "-fno-omit-frame-pointer" "-m64" "-I" "curl/lib" "-I" "curl/include" "-I" "/usr/include" "-fvisibility=hidden" "-DBUILDING_LIBCURL" "-DCURL_DISABLE_DICT" "-DCURL_DISABLE_GOPHER" "-DCURL_DISABLE_IMAP" "-DCURL_DISABLE_LDAP" "-DCURL_DISABLE_LDAPS" "-DCURL_DISABLE_POP3" "-DCURL_DISABLE_RTSP" "-DCURL_DISABLE_SMB" "-DCURL_DISABLE_SMTP" "-DCURL_DISABLE_TELNET" "-DCURL_DISABLE_TFTP" "-DCURL_STATICLIB" "-DENABLE_IPV6" "-DHAVE_ASSERT_H" "-DOS=\"unknown\"" "-DHAVE_ZLIB_H" "-DHAVE_LONGLONG" "-DHAVE_LIBZ" "-DHAVE_BOOL_T" "-DHAVE_STDBOOL_H" "-DHAVE_GETADDRINFO" "-DHAVE_GETPEERNAME" "-DHAVE_GETSOCKNAME" "-DCURL_DISABLE_NTLM" "-DCURL_DISABLE_FTP" "-DUSE_OPENSSL" "-DRECV_TYPE_ARG1=int" "-DHAVE_PTHREAD_H" "-DHAVE_ARPA_INET_H" "-DHAVE_ERRNO_H" "-DHAVE_FCNTL_H" "-DHAVE_NETDB_H" "-DHAVE_NETINET_IN_H" "-DHAVE_NETINET_TCP_H" "-DHAVE_POLL_H" "-DHAVE_FCNTL_O_NONBLOCK" "-DHAVE_SYS_SELECT_H" "-DHAVE_SYS_STAT_H" "-DHAVE_SYS_TIME_H" "-DHAVE_UNISTD_H" "-DHAVE_RECV" "-DHAVE_SELECT" "-DHAVE_SEND" "-DHAVE_SOCKET" "-DHAVE_STERRROR_R" "-DHAVE_SOCKETPAIR" "-DHAVE_STRUCT_TIMEVAL" "-DHAVE_SYS_UN_H" "-DUSE_THREADS_POSIX" "-DUSE_UNIX_SOCKETS" "-DRECV_TYPE_ARG2=void*" "-DRECV_TYPE_ARG3=size_t" "-DRECV_TYPE_ARG4=int" "-DRECV_TYPE_RETV=ssize_t" "-DSEND_QUAL_ARG2=const" "-DSEND_TYPE_ARG1=int" "-DSEND_TYPE_ARG2=void*" "-DSEND_TYPE_ARG3=size_t" "-DSEND_TYPE_ARG4=int" "-DSEND_TYPE_RETV=ssize_t" "-DSIZEOF_CURL_OFF_T=8" "-DSIZEOF_INT=4" "-DSIZEOF_SHORT=2" "-DHAVE_CLOCK_GETTIME_MONOTONIC" "-DHAVE_GETTIMEOFDAY" "-DHAVE_POLL_FINE" "-DSIZEOF_SSIZE_T=8" "-DSIZEOF_SIZE_T=8" "-DSIZEOF_LONG=8" "-o" "/home/runner/work/flow/flow/target/html/code/debug/build/curl-sys-dee7ecd0b0efa58f/out/build/curl/lib/asyn-thread.o" "-c" "curl/lib/asyn-thread.c"
  exit status: 0

.......truncated to meet comment limits.....

Error: Process completed with exit code 101.
@andrewdavidmackenzie andrewdavidmackenzie added C-bug Category: This is a bug. I-ICE Issue: The compiler panicked, giving an Internal Compilation Error (ICE) ❄️ T-compiler Relevant to the compiler team, which will review and decide on the PR/issue. labels Jul 25, 2023
@rustbot rustbot added the needs-triage This issue may need triage. Remove it if it has been sufficiently triaged. label Jul 25, 2023
@lqd
Copy link
Member

lqd commented Jul 25, 2023

does this reproduce without the disk space error ?

No space left on device

@andrewdavidmackenzie
Copy link
Author

Probably not, I didn't even see that in the trace...some GH Actions issue I think...
I will close it assuming that's the real cause.

@Noratrieb Noratrieb removed the needs-triage This issue may need triage. Remove it if it has been sufficiently triaged. label Jul 29, 2023
bors added a commit to rust-lang-ci/rust that referenced this issue Sep 20, 2023
…=WaffleLapkin

Simplify/Optimize FileEncoder

FileEncoder is basically a BufWriter except that it exposes access to the not-written-to-yet region of the buffer so that some users can write directly to the buffer. This strategy is awesome because it lets us avoid calling memcpy for small copies, but the previous strategy was based on the writer accessing a `&mut [MaybeUninit<u8>; N]` and returning a `&[u8]` which is an API which currently mandates the use of unsafe code, making that interface in general not that appealing.

So this PR cleans up the FileEncoder implementation and builds on that general idea of direct buffer access in order to prevent `memcpy` calls in a few key places when encoding the dep graph and rmeta tables. The interface used here is now 100% safe, but with the caveat that internally we need to avoid trusting the number of bytes that the provided function claims to have written.

The original primary objective of this PR was to clean up the FileEncoder implementation so that the fix for the following issues would be easy to implement. The fix for these issues is to correctly update self.buffered even when writes fail, which I think it's easy to verify manually is now done, because all the FileEncoder methods are small.

Fixes rust-lang#115298
Fixes rust-lang#114671
Fixes rust-lang#114045
Fixes rust-lang#108100
Fixes rust-lang#106787
github-actions bot pushed a commit to rust-lang/miri that referenced this issue Sep 21, 2023
…pkin

Simplify/Optimize FileEncoder

FileEncoder is basically a BufWriter except that it exposes access to the not-written-to-yet region of the buffer so that some users can write directly to the buffer. This strategy is awesome because it lets us avoid calling memcpy for small copies, but the previous strategy was based on the writer accessing a `&mut [MaybeUninit<u8>; N]` and returning a `&[u8]` which is an API which currently mandates the use of unsafe code, making that interface in general not that appealing.

So this PR cleans up the FileEncoder implementation and builds on that general idea of direct buffer access in order to prevent `memcpy` calls in a few key places when encoding the dep graph and rmeta tables. The interface used here is now 100% safe, but with the caveat that internally we need to avoid trusting the number of bytes that the provided function claims to have written.

The original primary objective of this PR was to clean up the FileEncoder implementation so that the fix for the following issues would be easy to implement. The fix for these issues is to correctly update self.buffered even when writes fail, which I think it's easy to verify manually is now done, because all the FileEncoder methods are small.

Fixes rust-lang/rust#115298
Fixes rust-lang/rust#114671
Fixes rust-lang/rust#114045
Fixes rust-lang/rust#108100
Fixes rust-lang/rust#106787
lnicola pushed a commit to lnicola/rust-analyzer that referenced this issue Apr 7, 2024
…pkin

Simplify/Optimize FileEncoder

FileEncoder is basically a BufWriter except that it exposes access to the not-written-to-yet region of the buffer so that some users can write directly to the buffer. This strategy is awesome because it lets us avoid calling memcpy for small copies, but the previous strategy was based on the writer accessing a `&mut [MaybeUninit<u8>; N]` and returning a `&[u8]` which is an API which currently mandates the use of unsafe code, making that interface in general not that appealing.

So this PR cleans up the FileEncoder implementation and builds on that general idea of direct buffer access in order to prevent `memcpy` calls in a few key places when encoding the dep graph and rmeta tables. The interface used here is now 100% safe, but with the caveat that internally we need to avoid trusting the number of bytes that the provided function claims to have written.

The original primary objective of this PR was to clean up the FileEncoder implementation so that the fix for the following issues would be easy to implement. The fix for these issues is to correctly update self.buffered even when writes fail, which I think it's easy to verify manually is now done, because all the FileEncoder methods are small.

Fixes rust-lang/rust#115298
Fixes rust-lang/rust#114671
Fixes rust-lang/rust#114045
Fixes rust-lang/rust#108100
Fixes rust-lang/rust#106787
RalfJung pushed a commit to RalfJung/rust-analyzer that referenced this issue Apr 27, 2024
…pkin

Simplify/Optimize FileEncoder

FileEncoder is basically a BufWriter except that it exposes access to the not-written-to-yet region of the buffer so that some users can write directly to the buffer. This strategy is awesome because it lets us avoid calling memcpy for small copies, but the previous strategy was based on the writer accessing a `&mut [MaybeUninit<u8>; N]` and returning a `&[u8]` which is an API which currently mandates the use of unsafe code, making that interface in general not that appealing.

So this PR cleans up the FileEncoder implementation and builds on that general idea of direct buffer access in order to prevent `memcpy` calls in a few key places when encoding the dep graph and rmeta tables. The interface used here is now 100% safe, but with the caveat that internally we need to avoid trusting the number of bytes that the provided function claims to have written.

The original primary objective of this PR was to clean up the FileEncoder implementation so that the fix for the following issues would be easy to implement. The fix for these issues is to correctly update self.buffered even when writes fail, which I think it's easy to verify manually is now done, because all the FileEncoder methods are small.

Fixes rust-lang/rust#115298
Fixes rust-lang/rust#114671
Fixes rust-lang/rust#114045
Fixes rust-lang/rust#108100
Fixes rust-lang/rust#106787
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-ICE Issue: The compiler panicked, giving an Internal Compilation Error (ICE) ❄️ T-compiler Relevant to the compiler team, which will review and decide on the PR/issue.
Projects
None yet
Development

Successfully merging a pull request may close this issue.

4 participants