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
Closed

build to asm.js crash #9168

vmosone opened this issue Aug 7, 2019 · 2 comments

Comments

@vmosone
Copy link

vmosone 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-jackfan.us.kg-
emscripten--core-emscripten--fastcomp--clang
98df4be387dde3e3918fa5bbb5fc43e1a0e1daac)
(Cswircachegitchromium.googlesource.com-external-jackfan.us.kg-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
Copy link
Member

kripken 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
Copy link
Author

vmosone 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
Copy link
Member

kripken 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 as completed Aug 8, 2019
lopopolo added a commit to artichoke/playground that referenced this issue Dec 9, 2019
Workaround for emscripten-core/emscripten#9168 that will be
addressed once upgrading to rust 1.41.0 and the llvm backend
GH-41.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants