Skip to content
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

build to asm.js crash #9168

Closed
vmosone opened this issue Aug 7, 2019 · 2 comments

Comments

@vmosone
Copy link

commented Aug 7, 2019

system env:
windows10 home
mingw64
rustc 1.38.0-nightly-gnu (311376d30 2019-07-18)
cargo-web 0.6.26
emcc (Emscripten gcc/clang-like replacement + linker emulating GNU ld) 1.38.39
clang version 6.0.1 (Cswircachegitchromium.googlesource.com-external-github.com-
emscripten--core-emscripten--fastcomp--clang
98df4be387dde3e3918fa5bbb5fc43e1a0e1daac)
(Cswircachegitchromium.googlesource.com-external-github.com-emscripten--core-
emscripten--fastcomp 1b4148f39a69c7fc62edadd85e4122b68694dfb7) (emscripten 1.38.31 :
1.38.31)
Target: x86_64-pc-windows-msvc
Thread model: posix
InstalledDir: E:\c\wasm\emsdk\fastcomp\fastcomp\bin

build options
cargo:
[profile.release]
lto = true
opt-level = "z"
panic = 'abort'
codegen-units = 1
emcc:
[target.emscripten]
link-args = [
"-Oz",
"-s", "TOTAL_MEMORY=67108864",
"-s", "ALLOW_MEMORY_GROWTH=0",
"-s", "MALLOC=emmalloc",
"-s", "ELIMINATE_DUPLICATE_FUNCTIONS=1",
"-s", "ENVIRONMENT=web",
"-s", "INLINING_LIMIT=1",
"-s", "NO_FILESYSTEM=1",
]

= note: shared:WARNING: object c:\users\vmos\appdata\local\temp\emscripten_temp_pgeyjm_archive_contents\rust.metadata.bin is not a valid object file for emscripten, cannot link
shared:WARNING: object c:\users\vmos\appdata\local\temp\emscripten_temp_pgeyjm_archive_contents\hal_webgl-a178ef6e0dd0e8f8.118thi2pgc58y3z5.rcgu.bc.z is not valid according to llvm-nm, cannot link
shared:WARNING: object c:\users\vmos\appdata\local\temp\emscripten_temp_pgeyjm_archive_contents\hal_webgl-a178ef6e0dd0e8f8.11jm299i1jyfkdc8.rcgu.bc.z is not valid according to llvm-nm, cannot link
shared:WARNING: object c:\users\vmos\appdata\local\temp\emscripten_temp_pgeyjm_archive_contents\hal_webgl-a178ef6e0dd0e8f8.11pwyu3ztgzdgjmb.rcgu.bc.z is not valid according to llvm-nm, cannot link
shared:WARNING: object c:\users\vmos\appdata\local\temp\emscripten_temp_pgeyjm_archive_contents\hal_webgl-a178ef6e0dd0e8f8.16lcmqiupr9qz214.rcgu.bc.z is not valid according to llvm-nm, cannot link
shared:WARNING: object c:\users\vmos\appdata\local\temp\emscripten_temp_pgeyjm_archive_contents\hal_webgl-a178ef6e0dd0e8f8.1ejiw7lxkwvlasau.rcgu.bc.z is not valid according to llvm-nm, cannot link
shared:WARNING: object c:\users\vmos\appdata\local\temp\emscripten_temp_pgeyjm_archive_contents\hal_webgl-a178ef6e0dd0e8f8.1f7xdhs77t6ikk23.rcgu.bc.z is not valid according to llvm-nm, cannot link
shared:WARNING: object c:\users\vmos\appdata\local\temp\emscripten_temp_pgeyjm_archive_contents\hal_webgl-a178ef6e0dd0e8f8.1ffz8n2mej3jf74t.rcgu.bc.z is not valid according to llvm-nm, cannot link
shared:WARNING: object c:\users\vmos\appdata\local\temp\emscripten_temp_pgeyjm_archive_contents\hal_webgl-a178ef6e0dd0e8f8.1i6wjxhpnjreu8q8.rcgu.bc.z is not valid according to llvm-nm, cannot link
shared:WARNING: object

...... too long :p

c:\users\vmos\appdata\local\temp\emscripten_temp_ww7id7_archive_contents\rust.metadata.bin is not valid according to llvm-nm, cannot link
shared:WARNING: object c:\users\vmos\appdata\local\temp\emscripten_temp_ww7id7_archive_contents\rustc_std_workspace_core-cc70cbbaa89894c0.rustc_std_workspace_core.a4kxsf7w-cgu.0.rcgu.bc.z is not valid according to llvm-nm, cannot link
shared:WARNING: object c:\users\vmos\appdata\local\temp\emscripten_temp_w8ohfl_archive_contents\rust.metadata.bin is not a valid object file for emscripten, cannot link
shared:WARNING: object c:\users\vmos\appdata\local\temp\emscripten_temp_w8ohfl_archive_contents\core-4f2e694c0e093f88.core.6r9ttild-cgu.0.rcgu.bc.z is not valid according to llvm-nm, cannot link
shared:WARNING: object c:\users\vmos\appdata\local\temp\emscripten_temp_w8ohfl_archive_contents\rust.metadata.bin is not a valid object file for emscripten, cannot link
shared:WARNING: object c:\users\vmos\appdata\local\temp\emscripten_temp_w8ohfl_archive_contents\core-4f2e694c0e093f88.core.6r9ttild-cgu.0.rcgu.bc.z is not valid according to llvm-nm, cannot link
shared:WARNING: object c:\users\vmos\appdata\local\temp\emscripten_temp_yozofr_archive_contents\rust.metadata.bin is not a valid object file for emscripten, cannot link
shared:WARNING: object c:\users\vmos\appdata\local\temp\emscripten_temp_yozofr_archive_contents\compiler_builtins-73ffc723908ccf8f.compiler_builtins.8zrwqbk1-cgu.0.rcgu.bc.z is not valid according to llvm-nm, cannot link
Assertion failed: I != Map.end() && "Constant not found in constant table!", file c:\b\s\w\ir\cache\builder\emscripten-releases\emscripten-fastcomp\lib\ir\ConstantsContext.h, line 665
Wrote crash dump file "C:\Users\vmos\AppData\Local\Temp\llc.exe-3c8c19.dmp"
LLVMSymbolizer: error reading file: 'ucrtbase.pdb': LLVM was not compiled with support for DIA. This usually means that you are not using MSVC, or your Visual Studio installation is corrupt.
LLVMSymbolizer: error reading file: 'kernel32.pdb': LLVM was not compiled with support for DIA. This usually means that you are not using MSVC, or your Visual Studio installation is corrupt.
LLVMSymbolizer: error reading file: 'ntdll.pdb': LLVM was not compiled with support for DIA. This usually means that you are not using MSVC, or your Visual Studio installation is corrupt.
#0 0x00007ff76acd32b5 (E:\c\wasm\emsdk\fastcomp\fastcomp\bin\llc.exe+0xc332b5)
#1 0x00007ff825bdda2d (C:\WINDOWS\System32\ucrtbase.dll+0x6da2d)
#2 0x00007ff825bde901 (C:\WINDOWS\System32\ucrtbase.dll+0x6e901)
#3 0x00007ff825be0261 (C:\WINDOWS\System32\ucrtbase.dll+0x70261)
#4 0x00007ff825be0591 (C:\WINDOWS\System32\ucrtbase.dll+0x70591)
#5 0x00007ff76a858c79 (E:\c\wasm\emsdk\fastcomp\fastcomp\bin\llc.exe+0x7b8c79)
#6 0x00007ff76a8596b3 (E:\c\wasm\emsdk\fastcomp\fastcomp\bin\llc.exe+0x7b96b3)
#7 0x00007ff76a85661e (E:\c\wasm\emsdk\fastcomp\fastcomp\bin\llc.exe+0x7b661e)
#8 0x00007ff76a855901 (E:\c\wasm\emsdk\fastcomp\fastcomp\bin\llc.exe+0x7b5901)
#9 0x00007ff76a7f6e72 (E:\c\wasm\emsdk\fastcomp\fastcomp\bin\llc.exe+0x756e72)
#10 0x00007ff76ae85973 (E:\c\wasm\emsdk\fastcomp\fastcomp\bin\llc.exe+0xde5973)
#11 0x00007ff76ae86950 (E:\c\wasm\emsdk\fastcomp\fastcomp\bin\llc.exe+0xde6950)
#12 0x00007ff76ae87988 (E:\c\wasm\emsdk\fastcomp\fastcomp\bin\llc.exe+0xde7988)
#13 0x00007ff76a7d087f (E:\c\wasm\emsdk\fastcomp\fastcomp\bin\llc.exe+0x73087f)
#14 0x00007ff76a7cfc8b (E:\c\wasm\emsdk\fastcomp\fastcomp\bin\llc.exe+0x72fc8b)
#15 0x00007ff76a0d453f (E:\c\wasm\emsdk\fastcomp\fastcomp\bin\llc.exe+0x3453f)
#16 0x00007ff76a0d5ead (E:\c\wasm\emsdk\fastcomp\fastcomp\bin\llc.exe+0x35ead)
#17 0x00007ff76af47b10 (E:\c\wasm\emsdk\fastcomp\fastcomp\bin\llc.exe+0xea7b10)
#18 0x00007ff826e97974 (C:\WINDOWS\System32\KERNEL32.DLL+0x17974)
#19 0x00007ff829b0a271 (C:\WINDOWS\SYSTEM32\ntdll.dll+0x6a271)
shared:ERROR: 'E:/c/wasm/emsdk/fastcomp/fastcomp/bin\llc.exe C:\Users\vmos\AppData\Local\Temp\emscripten_temp_tjno5i\gui_web-20a98da238689c41.bc -march=js -filetype=asm -o C:\Users\vmos\AppData\Local\Temp\tmpmri51e.4.js -emscripten-stack-size=5242880 -O0 -emscripten-assertions=1 -emscripten-no-aliasing-function-pointers -emscripten-global-base=8 -emscripten-no-exit-runtime' failed (-2147483645)

error: aborting due to previous error
error: build failed

@kripken

This comment has been minimized.

Copy link
Member

commented Aug 7, 2019

This sounds like a bug in the fastcomp backend. Emscripten is moving to the wasm backend, including for rustc - @tlively is looking at that right now. So hopefully that should be ready soon.

@vmosone

This comment has been minimized.

Copy link
Author

commented Aug 8, 2019

Thanks for your reply :)

The strange thing is that when I changed the optimization level to 1 or 2, everything returned to normal. e.g
[profile.release]
lto = true
opt-level = 1
panic = 'abort'
codegen-units = 1

Anyway, thanks for your doing.

@kripken

This comment has been minimized.

Copy link
Member

commented Aug 8, 2019

Ah, nice that it works with different opts :) Yeah, sometimes they happen to change code in a lucky way that avoids a compiler bug like this...

@kripken kripken closed this Aug 8, 2019

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
2 participants
You can’t perform that action at this time.