Skip to content

rustdoc error: thread 'rustc' has overflowed its stack #76770

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
xMAC94x opened this issue Sep 15, 2020 · 15 comments
Closed

rustdoc error: thread 'rustc' has overflowed its stack #76770

xMAC94x opened this issue Sep 15, 2020 · 15 comments
Labels
C-bug Category: This is a bug. E-needs-mcve Call for participation: This issue has a repro, but needs a Minimal Complete and Verifiable Example E-needs-test Call for participation: An issue has been fixed and does not reproduce, but no test has been added. 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

@xMAC94x
Copy link

xMAC94x commented Sep 15, 2020

Code

I tried to find a minimal reproduceable error, but i was not successful.
The error happens when using rustdoc on veloren.
Repo: https://gitlab.com/veloren/veloren.git
commit: sharp/lod-history~65 with id db1401a6910bf42dcf502462c90038752ff5fbdb

RUST_BACKTRACE=1 cargo doc --no-deps -v

Additional Info:

This commit is a Merge commit. It's parents are both 69e508d8c94d8973033817ca86f357e466fc7c4d and e8b4b29d708cd86bb960aa2f94f497ecb63332a7. Interestingly the error does NOT occur on any of its parents. So only the combination or conflict resolution seems to cause this bug!

We have a Cargo.lock file and a rust-toolchain flag, which should make reproducing this exact problem easy

Meta

rustc --version --verbose:
WARNING! WE ARE USING A RUST-TOOLCHAIN FILE WITH VERSION nightly-2020-06-22 But it still exists in newer

nightlies
rustc 1.46.0-nightly (a8cf39911 2020-06-21)
binary: rustc
commit-hash: a8cf3991177f30694200002cd9479ffbbe6d9a1a
commit-date: 2020-06-21
host: x86_64-unknown-linux-gnu
release: 1.46.0-nightly
LLVM version: 10.0

Error output

 RUST_BACKTRACE=1 cargo doc --no-deps -v
       Fresh autocfg v1.0.0
       Fresh lazy_static v1.4.0
       Fresh pkg-config v0.3.17
       Fresh unicode-xid v0.2.0
... copied out for readability...
       Fresh veloren-common v0.6.0 (/mnt/nfs/marcel/Entw/Rust/veloren/common)
       Fresh conrod_core v0.63.0 (https://gitlab.com/veloren/conrod.git?branch=pre-winit-20#46b374ed)
       Fresh gfx_window_glutin v0.31.0
       Fresh veloren-world v0.6.0 (/mnt/nfs/marcel/Entw/Rust/veloren/world)
       Fresh veloren-voxygen-anim v0.6.0 (/mnt/nfs/marcel/Entw/Rust/veloren/voxygen/src/anim)
       Fresh veloren-client v0.6.0 (/mnt/nfs/marcel/Entw/Rust/veloren/client)
       Fresh veloren-server v0.6.0 (/mnt/nfs/marcel/Entw/Rust/veloren/server)
warning: `[2]` cannot be resolved, ignoring it.
  --> world/src/sim/util.rs:43:51
   |
43 | /// Fortunately, it also provides a reference to [2], which contains a complete
   |                                                   ^ cannot be resolved, ignoring
   |
   = note: `#[warn(intra_doc_link_resolution_failure)]` on by default
   = help: to escape `[` and `]` characters, just add '\' before them like `\[` or `\]`

warning: `[2]` cannot be resolved, ignoring it.
  --> world/src/sim/util.rs:43:51
   |
43 | /// Fortunately, it also provides a reference to [2], which contains a complete
   |                                                   ^ cannot be resolved, ignoring
   |
   = help: to escape `[` and `]` characters, just add '\' before them like `\[` or `\]`

warning: 2 warnings emitted

       Fresh veloren-chat-cli v0.6.0 (/mnt/nfs/marcel/Entw/Rust/veloren/chat-cli)
 Documenting veloren-voxygen v0.6.0 (/mnt/nfs/marcel/Entw/Rust/veloren/voxygen)
       Fresh veloren-server-cli v0.6.0 (/mnt/nfs/marcel/Entw/Rust/veloren/server-cli)
     Running `rustdoc --edition=2018 --crate-type lib --crate-name veloren_voxygen voxygen/src/lib.rs -o /mnt/games/cargo-build/doc --cfg 'feature="default"' --cfg 'feature="gfx_device_gl"' --cfg 'feature="gfx_gl"' --cfg 'feature="gl"' --cfg 'feature="msgbox"' --cfg 'feature="server"' --cfg 'feature="singleplayer"' --error-format=json --json=diagnostic-rendered-ansi -L dependency=/mnt/games/cargo-build/debug/deps --extern authc=/mnt/games/cargo-build/debug/deps/libauthc-46936fd379753160.rmeta --extern backtrace=/mnt/games/cargo-build/debug/deps/libbacktrace-4462789312426ee7.rmeta --extern bincode=/mnt/games/cargo-build/debug/deps/libbincode-fb144a1867b6489b.rmeta --extern chrono=/mnt/games/cargo-build/debug/deps/libchrono-3ed76bc2a88828cb.rmeta --extern conrod_core=/mnt/games/cargo-build/debug/deps/libconrod_core-1544aa2f023fcc3d.rmeta --extern conrod_winit=/mnt/games/cargo-build/debug/deps/libconrod_winit-a2c74a96eeff499e.rmeta --extern cpal=/mnt/games/cargo-build/debug/deps/libcpal-080861d3b47a4285.rmeta --extern crossbeam=/mnt/games/cargo-build/debug/deps/libcrossbeam-42646d02569cc310.rmeta --extern deunicode=/mnt/games/cargo-build/debug/deps/libdeunicode-e9876102b6e6d18c.rmeta --extern directories_next=/mnt/games/cargo-build/debug/deps/libdirectories_next-fd9ee68f4e6aef3b.rmeta --extern dot_vox=/mnt/games/cargo-build/debug/deps/libdot_vox-907ad18e397b2668.rmeta --extern euc=/mnt/games/cargo-build/debug/deps/libeuc-3163cdbb4baf6086.rmeta --extern failure=/mnt/games/cargo-build/debug/deps/libfailure-7bff757bff76eb23.rmeta --extern gfx=/mnt/games/cargo-build/debug/deps/libgfx-5ebc1e919bb7b575.rmeta --extern gfx_device_gl=/mnt/games/cargo-build/debug/deps/libgfx_device_gl-d0ef42bca62d5581.rmeta --extern gfx_gl=/mnt/games/cargo-build/debug/deps/libgfx_gl-adcd0216f58d5db4.rmeta --extern gfx_window_glutin=/mnt/games/cargo-build/debug/deps/libgfx_window_glutin-0e5d6b5a413c6859.rmeta --extern gilrs=/mnt/games/cargo-build/debug/deps/libgilrs-daa6337c209976f5.rmeta --extern glsl_include=/mnt/games/cargo-build/debug/deps/libglsl_include-b10dca4079d37137.rmeta --extern glutin=/mnt/games/cargo-build/debug/deps/libglutin-7e274189af9a73cc.rmeta --extern guillotiere=/mnt/games/cargo-build/debug/deps/libguillotiere-61e043d166696cbb.rmeta --extern hashbrown=/mnt/games/cargo-build/debug/deps/libhashbrown-1e6099e24b0a9fb0.rmeta --extern image=/mnt/games/cargo-build/debug/deps/libimage-fb8902848e42baec.rmeta --extern msgbox=/mnt/games/cargo-build/debug/deps/libmsgbox-fa416e3b8033fad1.rmeta --extern num=/mnt/games/cargo-build/debug/deps/libnum-884c9099b75dc327.rmeta --extern rand=/mnt/games/cargo-build/debug/deps/librand-6ad53670c4efadbe.rmeta --extern rodio=/mnt/games/cargo-build/debug/deps/librodio-922a00875f0bc608.rmeta --extern ron=/mnt/games/cargo-build/debug/deps/libron-9e0cf7ac9effd4ec.rmeta --extern serde=/mnt/games/cargo-build/debug/deps/libserde-f52b69f6401e968d.rmeta --extern serde_derive=/mnt/games/cargo-build/debug/deps/libserde_derive-40d7b8f03b487b77.so --extern specs=/mnt/games/cargo-build/debug/deps/libspecs-879ccf6c8189fc4b.rmeta --extern specs_idvs=/mnt/games/cargo-build/debug/deps/libspecs_idvs-1e6be492812cd84b.rmeta --extern tracing=/mnt/games/cargo-build/debug/deps/libtracing-12ced1713b3a8b71.rmeta --extern tracing_appender=/mnt/games/cargo-build/debug/deps/libtracing_appender-910550bb6cba5b0a.rmeta --extern tracing_log=/mnt/games/cargo-build/debug/deps/libtracing_log-7be5f709852e6e19.rmeta --extern tracing_subscriber=/mnt/games/cargo-build/debug/deps/libtracing_subscriber-f13a2d91bfb6c915.rmeta --extern treeculler=/mnt/games/cargo-build/debug/deps/libtreeculler-1ba3f09db61c3c13.rmeta --extern uvth=/mnt/games/cargo-build/debug/deps/libuvth-9864d323e5b260d2.rmeta --extern vek=/mnt/games/cargo-build/debug/deps/libvek-369132c02e7b7137.rmeta --extern client=/mnt/games/cargo-build/debug/deps/libveloren_client-a29663581d45a519.rmeta --extern common=/mnt/games/cargo-build/debug/deps/libveloren_common-087408ccf8d310d5.rmeta --extern server=/mnt/games/cargo-build/debug/deps/libveloren_server-d0dfa4d02f223552.rmeta --extern anim=/mnt/games/cargo-build/debug/deps/libvoxygen_anim-3d29bc87955edf7a.rmeta --extern winit=/mnt/games/cargo-build/debug/deps/libwinit-276166b110b3cebd.rmeta`

thread 'rustc' has overflowed its stack
fatal runtime error: stack overflow
error: Could not document `veloren-voxygen`.

Caused by:
  process didn't exit successfully: `rustdoc --edition=2018 --crate-type lib --crate-name veloren_voxygen voxygen/src/lib.rs -o /mnt/games/cargo-build/doc --cfg 'feature="default"' --cfg 'feature="gfx_device_gl"' --cfg 'feature="gfx_gl"' --cfg 'feature="gl"' --cfg 'feature="msgbox"' --cfg 'feature="server"' --cfg 'feature="singleplayer"' --error-format=json --json=diagnostic-rendered-ansi -L dependency=/mnt/games/cargo-build/debug/deps --extern authc=/mnt/games/cargo-build/debug/deps/libauthc-46936fd379753160.rmeta --extern backtrace=/mnt/games/cargo-build/debug/deps/libbacktrace-4462789312426ee7.rmeta --extern bincode=/mnt/games/cargo-build/debug/deps/libbincode-fb144a1867b6489b.rmeta --extern chrono=/mnt/games/cargo-build/debug/deps/libchrono-3ed76bc2a88828cb.rmeta --extern conrod_core=/mnt/games/cargo-build/debug/deps/libconrod_core-1544aa2f023fcc3d.rmeta --extern conrod_winit=/mnt/games/cargo-build/debug/deps/libconrod_winit-a2c74a96eeff499e.rmeta --extern cpal=/mnt/games/cargo-build/debug/deps/libcpal-080861d3b47a4285.rmeta --extern crossbeam=/mnt/games/cargo-build/debug/deps/libcrossbeam-42646d02569cc310.rmeta --extern deunicode=/mnt/games/cargo-build/debug/deps/libdeunicode-e9876102b6e6d18c.rmeta --extern directories_next=/mnt/games/cargo-build/debug/deps/libdirectories_next-fd9ee68f4e6aef3b.rmeta --extern dot_vox=/mnt/games/cargo-build/debug/deps/libdot_vox-907ad18e397b2668.rmeta --extern euc=/mnt/games/cargo-build/debug/deps/libeuc-3163cdbb4baf6086.rmeta --extern failure=/mnt/games/cargo-build/debug/deps/libfailure-7bff757bff76eb23.rmeta --extern gfx=/mnt/games/cargo-build/debug/deps/libgfx-5ebc1e919bb7b575.rmeta --extern gfx_device_gl=/mnt/games/cargo-build/debug/deps/libgfx_device_gl-d0ef42bca62d5581.rmeta --extern gfx_gl=/mnt/games/cargo-build/debug/deps/libgfx_gl-adcd0216f58d5db4.rmeta --extern gfx_window_glutin=/mnt/games/cargo-build/debug/deps/libgfx_window_glutin-0e5d6b5a413c6859.rmeta --extern gilrs=/mnt/games/cargo-build/debug/deps/libgilrs-daa6337c209976f5.rmeta --extern glsl_include=/mnt/games/cargo-build/debug/deps/libglsl_include-b10dca4079d37137.rmeta --extern glutin=/mnt/games/cargo-build/debug/deps/libglutin-7e274189af9a73cc.rmeta --extern guillotiere=/mnt/games/cargo-build/debug/deps/libguillotiere-61e043d166696cbb.rmeta --extern hashbrown=/mnt/games/cargo-build/debug/deps/libhashbrown-1e6099e24b0a9fb0.rmeta --extern image=/mnt/games/cargo-build/debug/deps/libimage-fb8902848e42baec.rmeta --extern msgbox=/mnt/games/cargo-build/debug/deps/libmsgbox-fa416e3b8033fad1.rmeta --extern num=/mnt/games/cargo-build/debug/deps/libnum-884c9099b75dc327.rmeta --extern rand=/mnt/games/cargo-build/debug/deps/librand-6ad53670c4efadbe.rmeta --extern rodio=/mnt/games/cargo-build/debug/deps/librodio-922a00875f0bc608.rmeta --extern ron=/mnt/games/cargo-build/debug/deps/libron-9e0cf7ac9effd4ec.rmeta --extern serde=/mnt/games/cargo-build/debug/deps/libserde-f52b69f6401e968d.rmeta --extern serde_derive=/mnt/games/cargo-build/debug/deps/libserde_derive-40d7b8f03b487b77.so --extern specs=/mnt/games/cargo-build/debug/deps/libspecs-879ccf6c8189fc4b.rmeta --extern specs_idvs=/mnt/games/cargo-build/debug/deps/libspecs_idvs-1e6be492812cd84b.rmeta --extern tracing=/mnt/games/cargo-build/debug/deps/libtracing-12ced1713b3a8b71.rmeta --extern tracing_appender=/mnt/games/cargo-build/debug/deps/libtracing_appender-910550bb6cba5b0a.rmeta --extern tracing_log=/mnt/games/cargo-build/debug/deps/libtracing_log-7be5f709852e6e19.rmeta --extern tracing_subscriber=/mnt/games/cargo-build/debug/deps/libtracing_subscriber-f13a2d91bfb6c915.rmeta --extern treeculler=/mnt/games/cargo-build/debug/deps/libtreeculler-1ba3f09db61c3c13.rmeta --extern uvth=/mnt/games/cargo-build/debug/deps/libuvth-9864d323e5b260d2.rmeta --extern vek=/mnt/games/cargo-build/debug/deps/libvek-369132c02e7b7137.rmeta --extern client=/mnt/games/cargo-build/debug/deps/libveloren_client-a29663581d45a519.rmeta --extern common=/mnt/games/cargo-build/debug/deps/libveloren_common-087408ccf8d310d5.rmeta --extern server=/mnt/games/cargo-build/debug/deps/libveloren_server-d0dfa4d02f223552.rmeta --extern anim=/mnt/games/cargo-build/debug/deps/libvoxygen_anim-3d29bc87955edf7a.rmeta --extern winit=/mnt/games/cargo-build/debug/deps/libwinit-276166b110b3cebd.rmeta` (signal: 6, SIGABRT: process abort signal)

Details, copied out from above

       Fresh scopeguard v1.1.0
       Fresh semver-parser v0.7.0
       Fresh unicode-xid v0.1.0
       Fresh once_cell v1.4.0
       Fresh smallvec v1.4.0
       Fresh same-file v1.0.6
       Fresh slab v0.4.2
       Fresh ppv-lite86 v0.2.8
       Fresh spin v0.5.2
       Fresh either v1.5.3
       Fresh percent-encoding v2.1.0
       Fresh version_check v0.9.2
       Fresh untrusted v0.7.1
       Fresh arrayvec v0.5.1
       Fresh void v1.0.2
       Fresh matches v0.1.8
       Fresh version_check v0.1.5
       Fresh ahash v0.3.8
       Fresh proc-macro-hack v0.5.16
       Fresh itoa v0.4.5
       Fresh adler32 v1.0.4
       Fresh base64 v0.12.1
       Fresh arrayref v0.3.6
       Fresh mopa v0.2.2
       Fresh base64 v0.11.0
       Fresh static_assertions v1.1.0
       Fresh nodrop v0.1.14
       Fresh constant_time_eq v0.1.5
       Fresh cfg-if v0.1.10
       Fresh chunked_transfer v1.1.0
       Fresh atom v0.3.5
       Fresh lazycell v1.2.1
       Fresh tuple_utils v0.3.0
       Fresh shrev v1.1.1
       Fresh futures-core v0.3.5
       Fresh anymap v0.12.1
       Fresh hex v0.3.2
       Fresh futures-sink v0.3.5
       Fresh find_folder v0.3.0
       Fresh downcast-rs v1.1.1
       Fresh futures-io v0.3.5
       Fresh sum_type v0.2.0
       Fresh pin-utils v0.1.0
       Fresh rustc-hash v1.1.0
       Fresh linked-hash-map v0.5.3
       Fresh rand_core v0.4.2
       Fresh fnv v1.0.7
       Fresh regex-syntax v0.6.18
       Fresh xdg v2.2.0
       Fresh radium v0.3.0
       Fresh quick-error v1.2.3
       Fresh pin-project-lite v0.1.7
       Fresh futures-timer v2.0.2
       Fresh byteorder v0.5.3
       Fresh xml-rs v0.8.3
       Fresh roots v0.0.5
       Fresh c_vec v1.3.3
       Fresh ascii v1.0.0
       Fresh ansi_term v0.11.0
       Fresh piston-float v0.3.0
       Fresh fixedbitset v0.1.9
       Fresh gimli v0.21.0
       Fresh dotenv v0.15.0
       Fresh rustc-demangle v0.1.16
       Fresh object v0.19.0
       Fresh vec_map v0.8.2
       Fresh tinyvec v0.3.3
       Fresh instant v0.1.4
       Fresh svg_fmt v0.4.1
       Fresh hound v3.4.0
       Fresh deunicode v1.1.1
       Fresh conrod_winit v0.63.0 (https://gitlab.com/veloren/conrod.git?branch=pre-winit-20#46b374ed)
       Fresh tracing-core v0.1.10
       Fresh crossbeam-utils v0.6.6
       Fresh lock_api v0.3.4
       Fresh thread_local v1.0.1
       Fresh sharded-slab v0.0.9
       Fresh semver v0.9.0
       Fresh walkdir v2.3.1
       Fresh unicode-normalization v0.1.12
       Fresh qstring v0.7.2
       Fresh futures-task v0.3.5
       Fresh itertools v0.9.0
       Fresh unicode-bidi v0.3.4
       Fresh inflate v0.4.5
       Fresh blake2b_simd v0.5.10
       Fresh futures-channel v0.3.5
       Fresh rand_core v0.3.1
       Fresh lz4-compress v0.1.1
       Fresh bitvec v0.17.4
       Fresh petgraph v0.4.13
       Fresh piston-viewport v0.5.0
       Fresh addr2line v0.12.1
       Fresh proc-macro2 v1.0.18
       Fresh bitflags v1.2.1
       Fresh libc v0.2.71
       Fresh log v0.4.8
       Fresh byteorder v1.3.4
       Fresh maybe-uninit v2.0.0
       Fresh crossbeam-channel v0.3.9
       Fresh crossbeam-queue v0.1.2
       Fresh memchr v2.3.3
       Fresh rustc_version v0.2.3
       Fresh proc-macro2 v0.4.30
       Fresh libloading v0.6.2
       Fresh ryu v1.0.5
       Fresh idna v0.2.0
       Fresh khronos_api v3.1.0
       Fresh arrayvec v0.4.12
       Fresh crc32fast v1.2.0
       Fresh rust-argon2 v0.8.2
       Fresh proc-macro-nested v0.1.5
       Fresh packed_simd v0.3.3
       Fresh quote v1.0.7
       Fresh jobserver v0.1.21
       Fresh num_cpus v1.13.0
       Fresh getrandom v0.1.14
       Fresh iovec v0.1.4
       Fresh net2 v0.2.34
       Fresh inotify-sys v0.1.3
       Fresh deflate v0.7.20
       Fresh nix v0.14.1
       Fresh filetime v0.2.10
       Fresh fxhash v0.2.1
       Fresh stb_truetype v0.3.1
       Fresh rand v0.5.6
       Fresh async-task v1.3.1
       Fresh kv-log-macro v1.0.6
       Fresh time v0.1.43
       Fresh memmap v0.7.0
       Fresh regex-automata v0.1.9
       Fresh tracing-log v0.1.1
       Fresh draw_state v0.8.0
       Fresh raw-window-handle v0.3.3
       Fresh shared_library v0.1.9
       Fresh nix v0.15.0
       Fresh ogg v0.7.0
       Fresh daggy v0.5.0
       Fresh dirs-sys-next v0.1.0
       Fresh backtrace v0.3.48
       Fresh num-traits v0.2.12
       Fresh crossbeam-utils v0.7.2
       Fresh memoffset v0.5.4
       Fresh smallvec v0.6.13
       Fresh glib-sys v0.6.0
       Fresh quote v0.6.13
       Fresh nom v5.1.1
       Fresh dlib v0.4.2
       Fresh url v2.1.1
       Fresh indexmap v1.4.0
       Fresh aho-corasick v0.7.10
       Fresh gl_generator v0.13.1
       Fresh cairo-sys-rs v0.6.0
       Fresh gl_generator v0.14.0
       Fresh x11-dl v2.18.5
       Fresh libudev-sys v0.1.4
       Fresh alsa-sys v0.1.2
       Fresh syn v1.0.33
       Fresh cc v1.0.54
       Fresh rand_core v0.5.1
       Fresh mio v0.6.22
       Fresh inotify v0.8.3
       Fresh nom v4.2.3
       Fresh png v0.15.3
       Fresh uvth v3.1.1
       Fresh noise v0.6.0
       Fresh matchers v0.0.1
       Fresh gfx_core v0.9.2
       Fresh osmesa-sys v0.1.2
       Fresh lewton v0.10.1
       Fresh crossbeam-epoch v0.8.2
       Fresh approx v0.3.2
       Fresh num-integer v0.1.43
       Fresh crossbeam-queue v0.2.3
       Fresh ordered-float v1.0.2
       Fresh crossbeam-channel v0.4.2
       Fresh tynm v0.1.4
       Fresh gobject-sys v0.6.0
       Fresh crossbeam-epoch v0.7.2
       Fresh wayland-scanner v0.23.6
       Fresh num-complex v0.2.4
       Fresh wayland-scanner v0.21.13
       Fresh line_drawing v0.7.0
       Fresh wayland-sys v0.21.13
       Fresh wayland-sys v0.23.6
       Fresh syn v0.15.44
       Fresh euclid v0.20.13
       Fresh directories-next v1.0.1
       Fresh serde_derive v1.0.114
       Fresh rand_chacha v0.2.2
       Fresh rand_pcg v0.2.1
       Fresh tracing-attributes v0.1.8
       Fresh shred-derive v0.6.2
       Fresh mio-extras v2.0.6
       Fresh pin-project-internal v0.4.20
       Fresh thiserror-impl v1.0.20
       Fresh futures-macro v0.3.5
       Fresh diesel_derives v1.4.1
       Fresh mio-uds v0.6.8
       Fresh arr_macro_impl v0.1.3
       Fresh regex v1.3.9
       Fresh synstructure v0.12.4
       Fresh crossbeam-deque v0.7.3
       Fresh num-bigint v0.2.6
       Fresh num-iter v0.1.41
       Fresh dot_vox v4.1.0
       Fresh chrono v0.4.11
       Fresh xcb v0.9.0
       Fresh gfx v0.18.2
       Fresh parking_lot_core v0.6.2
       Fresh gio-sys v0.6.0
       Fresh glib v0.5.0
       Fresh wayland-commons v0.21.13
       Fresh pango-sys v0.6.0
       Fresh serde v1.0.114
       Fresh rand v0.7.3
       Fresh tracing v0.1.15
       Fresh pin-project v0.4.20
       Fresh notify v5.0.0-pre.3
       Fresh thiserror v1.0.20
       Fresh wayland-commons v0.23.6
       Fresh atk-sys v0.6.0
       Fresh conrod_derive v0.63.0 (https://gitlab.com/veloren/conrod.git?branch=pre-winit-20#46b374ed)
       Fresh guillotiere v0.5.2
       Fresh rayon-core v1.7.0
       Fresh num-rational v0.2.4
       Fresh crossbeam v0.7.2
       Fresh rusttype v0.8.3
       Fresh arr_macro v0.1.3
       Fresh async-std v1.5.0
       Fresh tiny_http v0.7.0
       Fresh scan_fmt v0.2.5
       Fresh failure_derive v0.1.8
       Fresh glsl-include v0.3.1
       Fresh serde_json v1.0.55
       Fresh parking_lot v0.9.0
       Fresh vek v0.11.2
       Fresh ron v0.6.0
       Fresh bincode v1.2.1
       Fresh gdk-pixbuf-sys v0.6.0
       Fresh gio v0.4.1
       Fresh tracing-serde v0.1.1
       Fresh cairo-rs v0.4.1
       Fresh pango v0.4.0
       Fresh x11-clipboard v0.5.1
       Fresh pistoncore-input v0.24.0
       Fresh ring v0.16.14
       Fresh rayon v1.3.0
       Fresh uuid v0.8.1
       Fresh image v0.22.5
       Fresh futures-util v0.3.5
       Fresh num v0.2.1
       Fresh rusttype v0.7.9
       Fresh prometheus v0.9.0
       Fresh tracing-futures v0.2.4
       Fresh libsqlite3-sys v0.18.0
       Fresh portpicker v0.1.0 (https://github.com/xMAC94x/portpicker-rs#9d6df36c)
       Fresh cpal v0.11.0
       Fresh gfx_gl v0.6.1
       Fresh glutin_egl_sys v0.1.4
       Fresh glutin_glx_sys v0.1.6
       Fresh libloading v0.5.2
       Fresh euc v0.5.1 (https://github.com/zesterer/euc.git#c9a7c17a)
       Fresh failure v0.1.8
       Fresh treeculler v0.1.0 (https://gitlab.com/yusdacra/treeculler.git#efcf5283)
       Fresh webpki v0.21.3
       Fresh hashbrown v0.7.2
       Fresh sct v0.6.0
       Fresh hibitset v0.6.3
       Fresh wayland-client v0.21.13
       Fresh wayland-client v0.23.6
       Fresh gdk-sys v0.6.0
       Fresh tracing-subscriber v0.2.6
       Fresh gdk-pixbuf v0.4.0
       Fresh auth-common v0.1.0 (https://gitlab.com/veloren/auth.git?rev=223a4097f7ebc8d451936dccb5e6517194bbf086#223a4097)
       Fresh futures-executor v0.3.5
       Fresh andrew v0.2.1
       Fresh diesel v1.4.5
       Fresh gilrs-core v0.2.6
       Fresh gfx_device_gl v0.16.2
       Fresh rodio v0.11.0
       Fresh shred v0.10.2
       Fresh webpki-roots v0.19.0
       Fresh rustls v0.17.0
       Fresh wayland-protocols v0.21.13
       Fresh wayland-protocols v0.23.6
       Fresh gtk-sys v0.6.0
       Fresh gdk v0.8.0
       Fresh tracing-appender v0.1.0
       Fresh ureq v1.1.1
       Fresh specs v0.16.1 (https://github.com/amethyst/specs.git?rev=7a2e348ab2223818bad487695c66c43db88050a5#7a2e348a)
       Fresh futures v0.3.5
       Fresh migrations_internals v1.4.1
       Fresh smithay-client-toolkit v0.6.6
       Fresh smithay-client-toolkit v0.4.6
       Fresh gtk v0.4.1
       Fresh gilrs v0.7.4
       Fresh authc v1.0.0 (https://gitlab.com/veloren/auth.git?rev=223a4097f7ebc8d451936dccb5e6517194bbf086#223a4097)
       Fresh specs-idvs v0.1.0 (https://gitlab.com/veloren/specs-idvs.git#530ebb00)
       Fresh migrations_macros v1.4.2
       Fresh winit v0.19.5
       Fresh smithay-clipboard v0.4.0
       Fresh msgbox v0.4.0 (https://github.com/bekker/msgbox-rs.git?rev=68fe39a#68fe39a6)
       Fresh veloren_network v0.1.0 (/mnt/nfs/marcel/Entw/Rust/veloren/network)
       Fresh diesel_migrations v1.4.0
       Fresh copypasta v0.6.3
       Fresh glutin v0.21.2

Backtrace

[Switching to Thread 0x7f38cb525640 (LWP 70289)]
0x00007f38d49587bb in alloc::collections::btree::map::Entry<K,V>::or_insert_with ()
   from /home/marcel/.rustup/toolchains/nightly-2020-06-22-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-5e50657ff02a973e.so
(gdb) bt
#0  0x00007f38d49587bb in alloc::collections::btree::map::Entry<K,V>::or_insert_with ()
   from /home/marcel/.rustup/toolchains/nightly-2020-06-22-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-5e50657ff02a973e.so
#1  0x00007f38d487d161 in rustc_infer::infer::region_constraints::RegionConstraintCollector::make_subregion ()
   from /home/marcel/.rustup/toolchains/nightly-2020-06-22-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-5e50657ff02a973e.so
#2  0x00007f38d487c9a2 in rustc_infer::infer::region_constraints::RegionConstraintCollector::make_eqregion ()
   from /home/marcel/.rustup/toolchains/nightly-2020-06-22-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-5e50657ff02a973e.so
#3  0x00007f38d48783f5 in <rustc_infer::infer::equate::Equate as rustc_middle::ty::relate::TypeRelation>::regions ()
   from /home/marcel/.rustup/toolchains/nightly-2020-06-22-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-5e50657ff02a973e.so
#4  0x00007f38d48a8ecd in rustc_middle::ty::relate::super_relate_tys ()
   from /home/marcel/.rustup/toolchains/nightly-2020-06-22-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-5e50657ff02a973e.so
#5  0x00007f38d4902e7d in rustc_infer::infer::combine::<impl rustc_infer::infer::InferCtxt>::super_combine_tys ()
   from /home/marcel/.rustup/toolchains/nightly-2020-06-22-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-5e50657ff02a973e.so
#6  0x00007f38d4878195 in <rustc_infer::infer::equate::Equate as rustc_middle::ty::relate::TypeRelation>::tys ()
   from /home/marcel/.rustup/toolchains/nightly-2020-06-22-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-5e50657ff02a973e.so
#7  0x00007f38d46e117b in <rustc_middle::ty::subst::GenericArg as rustc_middle::ty::relate::Relate>::relate ()
   from /home/marcel/.rustup/toolchains/nightly-2020-06-22-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-5e50657ff02a973e.so
#8  0x00007f38d471a093 in <I as rustc_middle::ty::context::InternAs<[T],R>>::intern_with ()
   from /home/marcel/.rustup/toolchains/nightly-2020-06-22-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-5e50657ff02a973e.so
#9  0x00007f38d46e0918 in <rustc_middle::ty::sty::TraitRef as rustc_middle::ty::relate::Relate>::relate ()
   from /home/marcel/.rustup/toolchains/nightly-2020-06-22-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-5e50657ff02a973e.so
#10 0x00007f38d45d93ef in rustc_infer::infer::InferCtxt::commit_if_ok ()
   from /home/marcel/.rustup/toolchains/nightly-2020-06-22-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-5e50657ff02a973e.so
#11 0x00007f38d475d4a7 in rustc_trait_selection::traits::select::SelectionContext::match_impl ()
   from /home/marcel/.rustup/toolchains/nightly-2020-06-22-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-5e50657ff02a973e.so
#12 0x00007f38d45dc70f in rustc_infer::infer::InferCtxt::probe ()
   from /home/marcel/.rustup/toolchains/nightly-2020-06-22-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-5e50657ff02a973e.so
#13 0x00007f38d4662894 in rustc_middle::ty::trait_def::<impl rustc_middle::ty::context::TyCtxt>::for_each_relevant_impl ()
   from /home/marcel/.rustup/toolchains/nightly-2020-06-22-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-5e50657ff02a973e.so
#14 0x00007f38d47524cc in rustc_trait_selection::traits::select::candidate_assembly::<impl rustc_trait_selection::traits::select::SelectionContext>::assemble_candidates_from_impls ()
   from /home/marcel/.rustup/toolchains/nightly-2020-06-22-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-5e50657ff02a973e.so
#15 0x00007f38d4751861 in rustc_trait_selection::traits::select::candidate_assembly::<impl rustc_trait_selection::traits::select::SelectionContext>::assemble_candidates ()
   from /home/marcel/.rustup/toolchains/nightly-2020-06-22-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-5e50657ff02a973e.so
#16 0x00007f38d475a6c6 in rustc_trait_selection::traits::select::SelectionContext::candidate_from_obligation_no_cache ()
   from /home/marcel/.rustup/toolchains/nightly-2020-06-22-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-5e50657ff02a973e.so
#17 0x00007f38d463ec8f in rustc_query_system::dep_graph::graph::DepGraph<K>::with_anon_task ()
   from /home/marcel/.rustup/toolchains/nightly-2020-06-22-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-5e50657ff02a973e.so
#18 0x00007f38d475013a in rustc_trait_selection::traits::select::candidate_assembly::<impl rustc_trait_selection::traits::select::SelectionContext>::candidate_from_obligation ()
   from /home/marcel/.rustup/toolchains/nightly-2020-06-22-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-5e50657ff02a973e.so
#19 0x00007f38d475713c in rustc_trait_selection::traits::select::SelectionContext::select ()
   from /home/marcel/.rustup/toolchains/nightly-2020-06-22-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-5e50657ff02a973e.so
#20 0x00007f38d45d8d98 in rustc_infer::infer::InferCtxt::commit_if_ok ()
   from /home/marcel/.rustup/toolchains/nightly-2020-06-22-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-5e50657ff02a973e.so
#21 0x00007f38d46f052e in rustc_trait_selection::traits::project::opt_normalize_projection_type ()
   from /home/marcel/.rustup/toolchains/nightly-2020-06-22-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-5e50657ff02a973e.so
#22 0x00007f38d46ecaa4 in rustc_trait_selection::traits::project::project_and_unify_type ()
   from /home/marcel/.rustup/toolchains/nightly-2020-06-22-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-5e50657ff02a973e.so
#23 0x00007f38d45d8270 in rustc_infer::infer::InferCtxt::commit_if_ok ()
   from /home/marcel/.rustup/toolchains/nightly-2020-06-22-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-5e50657ff02a973e.so
#24 0x00007f38d4757d13 in rustc_trait_selection::traits::select::SelectionContext::evaluate_predicate_recursively ()
   from /home/marcel/.rustup/toolchains/nightly-2020-06-22-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-5e50657ff02a973e.so
#25 0x00007f38d475751d in rustc_trait_selection::traits::select::SelectionContext::evaluate_predicates_recursively ()
   from /home/marcel/.rustup/toolchains/nightly-2020-06-22-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-5e50657ff02a973e.so
#26 0x00007f38d45dcd60 in rustc_infer::infer::InferCtxt::probe ()
   from /home/marcel/.rustup/toolchains/nightly-2020-06-22-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-5e50657ff02a973e.so
#27 0x00007f38d46fc25b in <core::iter::adapters::ResultShunt<I,E> as core::iter::traits::iterator::Iterator>::next ()
   from /home/marcel/.rustup/toolchains/nightly-2020-06-22-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-5e50657ff02a973e.so
#28 0x00007f38d47a5823 in <alloc::vec::Vec<T> as alloc::vec::SpecExtend<T,I>>::from_iter ()
   from /home/marcel/.rustup/toolchains/nightly-2020-06-22-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-5e50657ff02a973e.so
#29 0x00007f38d475aa25 in rustc_trait_selection::traits::select::SelectionContext::candidate_from_obligation_no_cache ()
   from /home/marcel/.rustup/toolchains/nightly-2020-06-22-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-5e50657ff02a973e.so
#30 0x00007f38d463ec8f in rustc_query_system::dep_graph::graph::DepGraph<K>::with_anon_task ()
   from /home/marcel/.rustup/toolchains/nightly-2020-06-22-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-5e50657ff02a973e.so
#31 0x00007f38d475013a in rustc_trait_selection::traits::select::candidate_assembly::<impl rustc_trait_selection::traits::select::SelectionContext>::candidate_from_obligation ()
   from /home/marcel/.rustup/toolchains/nightly-2020-06-22-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-5e50657ff02a973e.so
#32 0x00007f38d475713c in rustc_trait_selection::traits::select::SelectionContext::select ()
   from /home/marcel/.rustup/toolchains/nightly-2020-06-22-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-5e50657ff02a973e.so
#33 0x00007f38d45d8d98 in rustc_infer::infer::InferCtxt::commit_if_ok ()
   from /home/marcel/.rustup/toolchains/nightly-2020-06-22-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-5e50657ff02a973e.so
#34 0x00007f38d46f052e in rustc_trait_selection::traits::project::opt_normalize_projection_type ()

...

#18488 0x00007f38d47a5823 in <alloc::vec::Vec<T> as alloc::vec::SpecExtend<T,I>>::from_iter ()
   from /home/marcel/.rustup/toolchains/nightly-2020-06-22-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-5e50657ff02a973e.so
#18489 0x00007f38d475aa25 in rustc_trait_selection::traits::select::SelectionContext::candidate_from_obligation_no_cache ()
   from /home/marcel/.rustup/toolchains/nightly-2020-06-22-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-5e50657ff02a973e.so
#18490 0x00007f38d463ec8f in rustc_query_system::dep_graph::graph::DepGraph<K>::with_anon_task ()
   from /home/marcel/.rustup/toolchains/nightly-2020-06-22-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-5e50657ff02a973e.so
#18491 0x00007f38d475013a in rustc_trait_selection::traits::select::candidate_assembly::<impl rustc_trait_selection::traits::select::SelectionContext>::candidate_from_obligation ()
   from /home/marcel/.rustup/toolchains/nightly-2020-06-22-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-5e50657ff02a973e.so
#18492 0x00007f38d475713c in rustc_trait_selection::traits::select::SelectionContext::select ()
   from /home/marcel/.rustup/toolchains/nightly-2020-06-22-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-5e50657ff02a973e.so
#18493 0x00007f38d45d8d98 in rustc_infer::infer::InferCtxt::commit_if_ok ()
   from /home/marcel/.rustup/toolchains/nightly-2020-06-22-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-5e50657ff02a973e.so
#18494 0x00007f38d46f052e in rustc_trait_selection::traits::project::opt_normalize_projection_type ()
   from /home/marcel/.rustup/toolchains/nightly-2020-06-22-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-5e50657ff02a973e.so
#18495 0x00007f38d46ecaa4 in rustc_trait_selection::traits::project::project_and_unify_type ()
   from /home/marcel/.rustup/toolchains/nightly-2020-06-22-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-5e50657ff02a973e.so
#18496 0x00007f38d45d8270 in rustc_infer::infer::InferCtxt::commit_if_ok ()
   from /home/marcel/.rustup/toolchains/nightly-2020-06-22-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-5e50657ff02a973e.so
#18497 0x00007f38d4757d13 in rustc_trait_selection::traits::select::SelectionContext::evaluate_predicate_recursively ()
   from /home/marcel/.rustup/toolchains/nightly-2020-06-22-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-5e50657ff02a973e.so
#18498 0x00007f38d475751d in rustc_trait_selection::traits::select::SelectionContext::evaluate_predicates_recursively ()
   from /home/marcel/.rustup/toolchains/nightly-2020-06-22-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-5e50657ff02a973e.so
#18499 0x00007f38d45dcd60 in rustc_infer::infer::InferCtxt::probe ()
   from /home/marcel/.rustup/toolchains/nightly-2020-06-22-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-5e50657ff02a973e.so
#18500 0x00007f38d46fc25b in <core::iter::adapters::ResultShunt<I,E> as core::iter::traits::iterator::Iterator>::next ()
   from /home/marcel/.rustup/toolchains/nightly-2020-06-22-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-5e50657ff02a973e.so
#18501 0x00007f38d47a5823 in <alloc::vec::Vec<T> as alloc::vec::SpecExtend<T,I>>::from_iter ()
   from /home/marcel/.rustup/toolchains/nightly-2020-06-22-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-5e50657ff02a973e.so
#18502 0x00007f38d475aa25 in rustc_trait_selection::traits::select::SelectionContext::candidate_from_obligation_no_cache ()
   from /home/marcel/.rustup/toolchains/nightly-2020-06-22-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-5e50657ff02a973e.so
#18503 0x00007f38d463ec8f in rustc_query_system::dep_graph::graph::DepGraph<K>::with_anon_task ()
   from /home/marcel/.rustup/toolchains/nightly-2020-06-22-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-5e50657ff02a973e.so
#18504 0x00007f38d475013a in rustc_trait_selection::traits::select::candidate_assembly::<impl rustc_trait_selection::traits::select::SelectionContext>::candidate_from_obligation ()
   from /home/marcel/.rustup/toolchains/nightly-2020-06-22-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-5e50657ff02a973e.so
#18505 0x00007f38d475713c in rustc_trait_selection::traits::select::SelectionContext::select ()
   from /home/marcel/.rustup/toolchains/nightly-2020-06-22-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-5e50657ff02a973e.so
#18506 0x00007f38d45d8d98 in rustc_infer::infer::InferCtxt::commit_if_ok ()
   from /home/marcel/.rustup/toolchains/nightly-2020-06-22-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-5e50657ff02a973e.so
#18507 0x00007f38d46f052e in rustc_trait_selection::traits::project::opt_normalize_projection_type ()
   from /home/marcel/.rustup/toolchains/nightly-2020-06-22-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-5e50657ff02a973e.so
#18508 0x00007f38d46ecaa4 in rustc_trait_selection::traits::project::project_and_unify_type ()
   from /home/marcel/.rustup/toolchains/nightly-2020-06-22-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-5e50657ff02a973e.so
#18509 0x00007f38d45d8270 in rustc_infer::infer::InferCtxt::commit_if_ok ()
   from /home/marcel/.rustup/toolchains/nightly-2020-06-22-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-5e50657ff02a973e.so
#18510 0x00007f38d4757d13 in rustc_trait_selection::traits::select::SelectionContext::evaluate_predicate_recursively ()
   from /home/marcel/.rustup/toolchains/nightly-2020-06-22-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-5e50657ff02a973e.so
#18511 0x00007f38d475751d in rustc_trait_selection::traits::select::SelectionContext::evaluate_predicates_recursively ()
   from /home/marcel/.rustup/toolchains/nightly-2020-06-22-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-5e50657ff02a973e.so
#18512 0x00007f38d4757dea in rustc_trait_selection::traits::select::SelectionContext::evaluate_predicate_recursively ()
   from /home/marcel/.rustup/toolchains/nightly-2020-06-22-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-5e50657ff02a973e.so
#18513 0x00007f38d475751d in rustc_trait_selection::traits::select::SelectionContext::evaluate_predicates_recursively ()
   from /home/marcel/.rustup/toolchains/nightly-2020-06-22-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-5e50657ff02a973e.so
#18514 0x00007f38d45dcd60 in rustc_infer::infer::InferCtxt::probe ()
   from /home/marcel/.rustup/toolchains/nightly-2020-06-22-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-5e50657ff02a973e.so
#18515 0x00007f38d4759b9a in rustc_trait_selection::traits::select::SelectionContext::evaluate_stack ()
   from /home/marcel/.rustup/toolchains/nightly-2020-06-22-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-5e50657ff02a973e.so
#18516 0x00007f38d463a916 in rustc_query_system::dep_graph::graph::DepGraph<K>::with_anon_task ()
   from /home/marcel/.rustup/toolchains/nightly-2020-06-22-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-5e50657ff02a973e.so
#18517 0x00007f38d4758a32 in rustc_trait_selection::traits::select::SelectionContext::evaluate_predicate_recursively ()
   from /home/marcel/.rustup/toolchains/nightly-2020-06-22-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-5e50657ff02a973e.so
#18518 0x00007f38d45dd422 in rustc_infer::infer::InferCtxt::probe ()
   from /home/marcel/.rustup/toolchains/nightly-2020-06-22-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-5e50657ff02a973e.so
#18519 0x00007f38d47573c0 in rustc_trait_selection::traits::select::SelectionContext::evaluate_root_obligation ()
   from /home/marcel/.rustup/toolchains/nightly-2020-06-22-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-5e50657ff02a973e.so
#18520 0x00007f38d2d58f8f in rustc_middle::ty::context::GlobalCtxt::enter_local ()
   from /home/marcel/.rustup/toolchains/nightly-2020-06-22-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-5e50657ff02a973e.so
#18521 0x00007f38d2d98266 in rustc_traits::evaluate_obligation::evaluate_obligation ()
   from /home/marcel/.rustup/toolchains/nightly-2020-06-22-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-5e50657ff02a973e.so
--Type <RET> for more, q to quit, c to continue without paging--
#18522 0x00007f38d45e37f6 in rustc_middle::ty::query::<impl rustc_query_system::query::config::QueryAccessors<rustc_middle::ty::context::TyCtxt> for rustc_middle::ty::query::queries::evaluate_obligation>::compute () from /home/marcel/.rustup/toolchains/nightly-2020-06-22-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-5e50657ff02a973e.so
#18523 0x00007f38d46442f8 in rustc_query_system::dep_graph::graph::DepGraph<K>::with_task_impl ()
   from /home/marcel/.rustup/toolchains/nightly-2020-06-22-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-5e50657ff02a973e.so
#18524 0x00007f38d46196f8 in rustc_data_structures::stack::ensure_sufficient_stack ()
   from /home/marcel/.rustup/toolchains/nightly-2020-06-22-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-5e50657ff02a973e.so
#18525 0x00007f38d46b8f27 in rustc_query_system::query::plumbing::get_query_impl ()
   from /home/marcel/.rustup/toolchains/nightly-2020-06-22-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-5e50657ff02a973e.so
#18526 0x00007f38d4604709 in <rustc_infer::infer::InferCtxt as rustc_trait_selection::traits::query::evaluate_obligation::InferCtxtExt>::evaluate_obligation ()
   from /home/marcel/.rustup/toolchains/nightly-2020-06-22-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-5e50657ff02a973e.so
#18527 0x000055b92c45af87 in rustc_middle::ty::context::GlobalCtxt::enter_local ()
#18528 0x000055b92c47d7ac in rustdoc::clean::blanket_impl::BlanketImplFinder::get_blanket_impls::{{closure}} ()
#18529 0x000055b92c45cc3d in rustc_middle::ty::trait_def::<impl rustc_middle::ty::context::TyCtxt>::for_each_relevant_impl ()
#18530 0x000055b92c3d6895 in rustdoc::clean::blanket_impl::BlanketImplFinder::get_blanket_impls ()
#18531 0x000055b92c332829 in rustdoc::clean::utils::get_auto_trait_and_blanket_impls ()
#18532 0x000055b92c345b75 in <rustdoc::passes::collect_trait_impls::SyntheticImplCollector as rustdoc::fold::DocFolder>::fold_item ()
#18533 0x000055b92c4f9044 in <alloc::vec::Vec<T> as alloc::vec::SpecExtend<T,I>>::from_iter ()
#18534 0x000055b92c34243e in rustdoc::fold::DocFolder::fold_inner_recur ()
#18535 0x000055b92c34583d in <rustdoc::passes::collect_trait_impls::SyntheticImplCollector as rustdoc::fold::DocFolder>::fold_item ()
#18536 0x000055b92c4f9044 in <alloc::vec::Vec<T> as alloc::vec::SpecExtend<T,I>>::from_iter ()
#18537 0x000055b92c34243e in rustdoc::fold::DocFolder::fold_inner_recur ()
#18538 0x000055b92c34583d in <rustdoc::passes::collect_trait_impls::SyntheticImplCollector as rustdoc::fold::DocFolder>::fold_item ()
#18539 0x000055b92c4f9044 in <alloc::vec::Vec<T> as alloc::vec::SpecExtend<T,I>>::from_iter ()
#18540 0x000055b92c34243e in rustdoc::fold::DocFolder::fold_inner_recur ()
#18541 0x000055b92c34583d in <rustdoc::passes::collect_trait_impls::SyntheticImplCollector as rustdoc::fold::DocFolder>::fold_item ()
#18542 0x000055b92c4f9044 in <alloc::vec::Vec<T> as alloc::vec::SpecExtend<T,I>>::from_iter ()
#18543 0x000055b92c34243e in rustdoc::fold::DocFolder::fold_inner_recur ()
#18544 0x000055b92c34583d in <rustdoc::passes::collect_trait_impls::SyntheticImplCollector as rustdoc::fold::DocFolder>::fold_item ()
#18545 0x000055b92c34340d in rustdoc::passes::collect_trait_impls::collect_trait_impls ()
#18546 0x000055b92c30c7eb in rustc_middle::ty::context::tls::enter_global ()
#18547 0x000055b92c2d3906 in rustc_interface::queries::<impl rustc_interface::interface::Compiler>::enter ()
#18548 0x000055b92c21b331 in rustc_span::with_source_map ()
#18549 0x000055b92c2d42a8 in rustc_interface::interface::run_compiler_in_existing_thread_pool ()
#18550 0x000055b92c455813 in <std::panic::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once ()
#18551 0x000055b92c3c8ca2 in rustc_driver::catch_fatal_errors ()
#18552 0x000055b92c253096 in rustdoc::main_options ()
#18553 0x000055b92c2ba777 in scoped_tls::ScopedKey<T>::set ()
#18554 0x000055b92c23c582 in rustc_ast::attr::with_globals ()
#18555 0x000055b92c2d4b60 in std::sys_common::backtrace::__rust_begin_short_backtrace ()
#18556 0x000055b92c3cd90e in core::ops::function::FnOnce::call_once{{vtable-shim}} ()



#18557 0x00007f38d1edb69a in <alloc::boxed::Box<F> as core::ops::function::FnOnce<A>>::call_once () at /rustc/a8cf3991177f30694200002cd9479ffbbe6d9a1a/src/liballoc/boxed.rs:1076
#18558 <alloc::boxed::Box<F> as core::ops::function::FnOnce<A>>::call_once () at /rustc/a8cf3991177f30694200002cd9479ffbbe6d9a1a/src/liballoc/boxed.rs:1076
#18559 std::sys::unix::thread::Thread::new::thread_start () at src/libstd/sys/unix/thread.rs:87
#18560 0x00007f38d1e093e9 in start_thread () from /usr/lib/libpthread.so.0
#18561 0x00007f38d1d1b293 in clone () from /usr/lib/libc.so.6

@xMAC94x xMAC94x 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 Sep 15, 2020
@jyn514
Copy link
Member

jyn514 commented Sep 15, 2020

I can't build your project. Is there anyway you could narrow this down even a little? Dependencies are fine as long as I can reproduce.

$ cargo +nightly build
error: failed to read `/home/joshua/src/rust/veloren/common/Cargo.toml`

Caused by:
  No such file or directory (os error 2)
$ git checkout sharp/lod-history -f
git-lfs filter-process: 1: git-lfs: not found
fatal: the remote end hung up unexpectedly

@jyn514 jyn514 added the T-rustdoc Relevant to the rustdoc team, which will review and decide on the PR/issue. label Sep 15, 2020
@jyn514
Copy link
Member

jyn514 commented Sep 15, 2020

Alternatively if you could get a backtrace with gdb, that would also be helpful.

@jyn514 jyn514 added the E-needs-mcve Call for participation: This issue has a repro, but needs a Minimal Complete and Verifiable Example label Sep 15, 2020
@xMAC94x
Copy link
Author

xMAC94x commented Sep 16, 2020

@jyn514 have you installed git-lfs on your machine ?
apt install git-lfs on an ubuntu machine
with that you should be able to get the right commit.
Note, no +nightly is necessary as it should automatically use the toolchain one. (expect ofc you wanted to overwrite this)

git clone https://gitlab.com/veloren/veloren.git
git fetch --all --tags
git checkout "sharp/lod-history~65"
#or 
git checkout db1401a6910bf42dcf502462c90038752ff5fbdb
cargo build

gdb is a good tipp, i will try later today when i am back from work :)

@xMAC94x
Copy link
Author

xMAC94x commented Sep 16, 2020

@jyn514 hi, i added a backtrace to the first post of this issue from gdb :)

@jyn514
Copy link
Member

jyn514 commented Sep 17, 2020

I managed to reproduce:

git clone https://gitlab.com/veloren/veloren && cd veloren
git checkout -f db1401a6910bf42dcf502462c90038752ff5fbdb
sudo apt install git-lfs libasound2-dev libudev-dev
cd voxygen/
cargo doc --no-deps --no-default-features --features=singleplayer,gl

@jyn514
Copy link
Member

jyn514 commented Sep 17, 2020

veloren not compiling on latest nightly makes this really hard to debug.

@jyn514
Copy link
Member

jyn514 commented Sep 17, 2020

Note that this still occurs on the veloran master branch, so no need to check out that exact commit.

@Imberflur
Copy link

on the latest nightly it compiles for me and reproduces with the singleplayer feature off

cd voxygen
cargo doc --no-deps --no-default-features --features=gl

@Imberflur
Copy link

simplified to

// lib.rs
#![recursion_limit = "2048"]
pub use vek::vec::repr_c:Vec2;
[dependencies]
# present with all later releases of vek (older releases no longer compile due to borrow checker fixes)
vek = "=0.9.8"

@jyn514
Copy link
Member

jyn514 commented Sep 18, 2020

Oh that's interesting, it compiles fine without the recursion limit but crashes with it. I wonder why it doesn't give an error without.

@jyn514
Copy link
Member

jyn514 commented Sep 18, 2020

Relevant code:

match infcx.evaluate_obligation(&traits::Obligation::new(
cause,
param_env,
trait_ref.without_const().to_predicate(infcx.tcx),
)) {
Ok(eval_result) => eval_result.may_apply(),
Err(traits::OverflowError) => true, // overflow doesn't mean yes *or* no
}

I don't think this is actually a rustdoc bug, it's somewhere in rustc.

@Aaron1011
Copy link
Member

You can get the same overflow with rustc by triggering the same predicate evaluation manually:

#![recursion_limit = "3000"]
pub use vek::vec::repr_c::Vec2;

fn is_average<T: num_integer::Average>() {}

fn foo<T>() {
    is_average::<Vec2<T>>();
}

fn main() {}
[dependencies]
vek = "=0.9.8"
num-integer = "0.1.43"

gives the following error:

 --> src/main.rs:7:18
  |
4 | fn is_average<T: num_integer::Average>() {}
  |                  -------------------- required by this bound in `is_average`
...
7 |     is_average::<Vec2<T>>();
  |                  ^^^^^^^ the trait `Integer` is not implemented for `vek::Vec2<T>`
  |
  = note: required because of the requirements on the impl of `Average` for `vek::Vec2<T>`

error[E0277]: no implementation for `T >> T`
 --> src/main.rs:7:5
  |
4 | fn is_average<T: num_integer::Average>() {}
  |                  -------------------- required by this bound in `is_average`
...
7 |     is_average::<Vec2<T>>();
  |     ^^^^^^^^^^^^^^^^^^^^^ no implementation for `T >> T`
  |
  = note: required because of the requirements on the impl of `Shr<usize>` for `vek::Vec2<T>`
  = note: required because of the requirements on the impl of `Average` for `vek::Vec2<T>`
help: consider restricting type parameter `T`
  |
6 | fn foo<T: Shr>() {
  |         ^^^^^


thread 'rustc' has overflowed its stack
fatal runtime error: stack overflow

Aaron1011 added a commit to Aaron1011/rust that referenced this issue Sep 18, 2020
I haven't been able to come up with a minimized test case for rust-lang#76770,
but this fixes a stack overflow in rustc as well.
bors added a commit to rust-lang-ci/rust that referenced this issue Sep 19, 2020
… r=Mark-Simulacrum

Wrap recursive predicate evaluation with `ensure_sufficient_stack`

I haven't been able to come up with a minimized test case for rust-lang#76770,
but this fixes a stack overflow in rustc as well.
@jyn514
Copy link
Member

jyn514 commented Sep 20, 2020

This is fixed on the latest nightly.

@jyn514 jyn514 closed this as completed Sep 20, 2020
@Aaron1011
Copy link
Member

This still needs a test

@Aaron1011 Aaron1011 reopened this Sep 20, 2020
@Aaron1011 Aaron1011 added the E-needs-test Call for participation: An issue has been fixed and does not reproduce, but no test has been added. label Sep 20, 2020
@Enselic Enselic removed the T-rustdoc Relevant to the rustdoc team, which will review and decide on the PR/issue. label Sep 9, 2023
@jackh726
Copy link
Member

I'm going to close this. It's been 3 years and nobody has made an MCVE of this.

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. E-needs-mcve Call for participation: This issue has a repro, but needs a Minimal Complete and Verifiable Example E-needs-test Call for participation: An issue has been fixed and does not reproduce, but no test has been added. 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

No branches or pull requests

7 participants