Skip to content

ICE on Windows when linker output is too large #15522

Closed
@tomaka

Description

@tomaka

I'm encountering an internal compiler error when compiling this file.

I tried to simplify the code but I didn't manage to.

  • I tried removing #![feature(globs)], but this didn't solve the issue
  • Replacing macro_handler by a dummy function didn't solve the issue
  • Removing all modules did solve the issue, but the modules don't do anything fancy (they just load a file, parse it, and output a string)
  • Compiling this other file (which is not a plugin_registrar) works, even thought it uses exactly the same modules in the exact same way.

Note that the problematic file compiled without any issue a few days before (I didn't touch it at all). Also note that this code compiles on Linux (with the same rust nightlies) without any issue. I'm on Windows 7 64 bits.

Here is the error message.
The message is in french, but refers to window's ERROR_NOT_ENOUGH_MEMORY. Rustc's memory consumption seems very normal (and lower than several other programs), so it's definitely not my machine running out of memory.

error: linking with `gcc` failed: exit code: 1
note: gcc '-m32' '-L' 'C:\Compilation\Rust\bin\rustlib\i686-pc-mingw32\lib' '-o'
 'C:\Users\Tomaka17\Projets\gl-rs\src\gl_generator\target\gen.dll' 'C:\Users\Tom
aka17\Projets\gl-rs\src\gl_generator\target\gen.o' '-Wl,--whole-archive' '-lmore
stack' '-Wl,--no-whole-archive' 'C:\Users\Tomaka17\Projets\gl-rs\src\gl_generato
r\target\gen.metadata.o' '-shared-libgcc' '-Wl,--enable-long-section-names' '-L'
 'C:\Compilation\Rust\bin\rustlib\i686-pc-mingw32\lib' '-lrustc-4e7c5e5c' '-L' '
C:\Compilation\Rust\bin\rustlib\i686-pc-mingw32\lib' '-ltime-4e7c5e5c' '-L' 'C:\
Compilation\Rust\bin\rustlib\i686-pc-mingw32\lib' '-lflate-4e7c5e5c' '-L' 'C:\Co
mpilation\Rust\bin\rustlib\i686-pc-mingw32\lib' '-lgetopts-4e7c5e5c' '-L' 'C:\Co
mpilation\Rust\bin\rustlib\i686-pc-mingw32\lib' '-lgraphviz-4e7c5e5c' 'C:\Users\
Tomaka17\Projets\gl-rs\src\gl_generator\target\deps\libsax.rlib' '-L' 'C:\Compil
ation\Rust\bin\rustlib\i686-pc-mingw32\lib' '-larena-4e7c5e5c' '-L' 'C:\Compilat
ion\Rust\bin\rustlib\i686-pc-mingw32\lib' '-lsyntax-4e7c5e5c' '-L' 'C:\Compilati
on\Rust\bin\rustlib\i686-pc-mingw32\lib' '-ldebug-4e7c5e5c' '-L' 'C:\Compilation
\Rust\bin\rustlib\i686-pc-mingw32\lib' '-lterm-4e7c5e5c' '-L' 'C:\Compilation\Ru
st\bin\rustlib\i686-pc-mingw32\lib' '-lfmt_macros-4e7c5e5c' '-L' 'C:\Compilation
\Rust\bin\rustlib\i686-pc-mingw32\lib' '-lserialize-4e7c5e5c' '-L' 'C:\Compilati
on\Rust\bin\rustlib\i686-pc-mingw32\lib' '-llog-4e7c5e5c' '-L' 'C:\Compilation\R
ust\bin\rustlib\i686-pc-mingw32\lib' '-lstd-4e7c5e5c' '-L' 'C:\Compilation\Rust\
bin\rustlib\i686-pc-mingw32\lib' '-lsync-4e7c5e5c' '-L' 'C:\Compilation\Rust\bin
\rustlib\i686-pc-mingw32\lib' '-lrustrt-4e7c5e5c' '-L' 'C:\Users\Tomaka17\Projet
s\gl-rs\src\gl_generator\target\deps' '-L' 'C:\Users\Tomaka17\Projets\gl-rs\src\
gl_generator\target' '-L' 'C:\Users\Tomaka17\Projets\gl-rs\src\gl_generator\.rus
t' '-L' 'C:\Users\Tomaka17\Projets\gl-rs\src\gl_generator' '-Wl,-Bdynamic' '-lsh
ell32' '-lpsapi' '-limagehlp' '-lm' '-lstdc++' '-lxml2' '-lkernel32' '-lgcc_s' '
-shared' '-lcompiler-rt'
note: error: internal compiler error: unexpected failure
note: the compiler hit an unexpected failure path. this is a bug.
note: we would appreciate a bug report: http://doc.rust-lang.org/complement-bugr
eport.html
note: run with `RUST_BACKTRACE=1` for a backtrace
task 'rustc' failed at 'failed to print diagnostics: OS Error 8: Espace insuffis
ant pour traiter cette commande.
', C:\bot\slave\nightly-win\build\src\libsyntax\diagnostic.rs:336

Here is a backtrace from rust_fail:

#0  0x61f88110 in rust_fail ()
   from C:\Compilation\Rust\bin\rustrt-4e7c5e5c.dll
#1  0x61f88a81 in unwind::begin_unwind_inner::he6d59374b577b0cbsHd ()
   from C:\Compilation\Rust\bin\rustrt-4e7c5e5c.dll
#2  0x61f884ad in unwind::begin_unwind_fmt::hf1a6d30fc01810aaVEd ()
   from C:\Compilation\Rust\bin\rustrt-4e7c5e5c.dll
#3  0x00533b3e in diagnostic::EmitterWriter.Emitter::emit::h785613d48a5d9493Luc
() from C:\Compilation\Rust\bin\syntax-4e7c5e5c.dll
#4  0x00533152 in diagnostic::Handler::note::hba01478baac507e08fc ()
   from C:\Compilation\Rust\bin\syntax-4e7c5e5c.dll
#5  0x71683407 in _fu7391___ZN3vec12Vec$LT$T$GT$4push15__STATIC_FMTSTR20hc084010
7d810eb38j0hE () from C:\Compilation\Rust\bin\rustc-4e7c5e5c.dll
#6  0x7167ede9 in _fu10751___ZN6option15Option$LT$T$GT$6expect15__STATIC_FMTSTR2
0h29176549ebbdbdeaAGyE () from C:\Compilation\Rust\bin\rustc-4e7c5e5c.dll
#7  0x71714307 in driver::driver::phase_6_link_output::h41fcc24cd2f46b881Mq ()
   from C:\Compilation\Rust\bin\rustc-4e7c5e5c.dll
#8  0x7170c77f in _fu5538___ZN3vec10PTR_MARKER20h0b519807f343ac6fHBhE ()
   from C:\Compilation\Rust\bin\rustc-4e7c5e5c.dll
#9  0x717b1202 in _fu6031___ZN4cell32RefMut$LT$$x27b$C$$x20T$GT$.Drop4drop15__ST
ATIC_FMTSTR20h29176549ebbdbdeaLMvE ()
   from C:\Compilation\Rust\bin\rustc-4e7c5e5c.dll
#10 0x717c0efe in task::TaskBuilder$LT$S$GT$::try_future::closure.127545 ()
   from C:\Compilation\Rust\bin\rustc-4e7c5e5c.dll
#11 0x717c0e1c in task::TaskBuilder$LT$S$GT$::spawn_internal::closure.127522
    () from C:\Compilation\Rust\bin\rustc-4e7c5e5c.dll
#12 0x70c30058 in task::spawn_opts::closure.8059 ()
   from C:\Compilation\Rust\bin\native-4e7c5e5c.dll
#13 0x61f88105 in unwind::try::try_fn::h3d20541cb51b4242eyd ()
   from C:\Compilation\Rust\bin\rustrt-4e7c5e5c.dll
#14 0x61fe7a56 in rust_try () from C:\Compilation\Rust\bin\rustrt-4e7c5e5c.dll
#15 0x61f85e47 in unwind::try::h171a75ee7c63bb90Rvd ()
   from C:\Compilation\Rust\bin\rustrt-4e7c5e5c.dll
#16 0x61f85bda in task::Task::run::hcb2f0bccdd286ca2hWc ()
   from C:\Compilation\Rust\bin\rustrt-4e7c5e5c.dll
#17 0x70c2fef7 in task::spawn_opts::closure.8005 ()
   from C:\Compilation\Rust\bin\native-4e7c5e5c.dll
#18 0x61f87c5f in thread::thread_start::h869f9d55708b60ddPid ()
   from C:\Compilation\Rust\bin\rustrt-4e7c5e5c.dll
#19 0x76c7338a in KERNEL32!BaseThreadInitThunk ()
   from C:\Windows\syswow64\kernel32.dll
#20 0x77dd9f72 in ntdll!RtlInitializeExceptionChain ()
   from C:\Windows\system32\ntdll.dll
#21 0x77dd9f45 in ntdll!RtlInitializeExceptionChain ()
   from C:\Windows\system32\ntdll.dll
#22 0x00000000 in ?? ()

Rustc's version is today's nightly:

rustc 0.11.0-nightly (a3257804df2bace236f83d9e5a9e887a1df30ef5 2014-07-08 00:31:42 +0000)

Metadata

Metadata

Assignees

No one assigned

    Labels

    I-ICEIssue: The compiler panicked, giving an Internal Compilation Error (ICE) ❄️O-windowsOperating system: Windows

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions