Ok I opened a new bug here: https://github.com/kripken/emscripten/issues/3939 Small test case included.
On Wednesday, November 25, 2015 at 5:40:12 PM UTC-5, Alon Zakai wrote: > > I don't know enough cmake to follow that, sorry. Buf if you make a > standalone testcase that reproduces the issue I can try to debug that. > > On Wed, Nov 25, 2015 at 2:38 PM, Robert Goulet <[email protected] > <javascript:>> wrote: > >> The test worked. So indeed it must be related to our setup I guess. >> >> We build using CMake. And we do the following change to your toolchain >> file because we want libs to be bitcode (.bc) : >> >> set(CMAKE_STATIC_LIBRARY_SUFFIX ".bc" CACHE STRING "" FORCE) >> set(CMAKE_SHARED_LIBRARY_SUFFIX ".bc" CACHE STRING "" FORCE) >> set(CMAKE_FIND_LIBRARY_SUFFIXES ".bc" CACHE STRING "" FORCE) >> set(CMAKE_C_CREATE_STATIC_LIBRARY "<CMAKE_C_COMPILER> -o <TARGET> >> <LINK_FLAGS> <OBJECTS>" CACHE STRING "" FORCE) >> set(CMAKE_CXX_CREATE_STATIC_LIBRARY "<CMAKE_CXX_COMPILER> -o <TARGET> >> <LINK_FLAGS> <OBJECTS>" CACHE STRING "" FORCE) >> >> All that used to work fine in 1.35.4 and earlier. >> >> >> On Wednesday, November 25, 2015 at 5:29:57 PM UTC-5, Alon Zakai wrote: >>> >>> What does your app do to build? Maybe something very specific in how you >>> invoke emcc/em++ is what matters here. >>> >>> Does the emscripten test suite work? Try >>> >>> emcc --clear-cache >>> tests/runner.py test_hello_world >>> >>> >>> On Wed, Nov 25, 2015 at 2:26 PM, Robert Goulet <[email protected]> >>> wrote: >>> >>>> No special steps. I just did a build of Emscripten tag 1.35.10, and >>>> tried to build our app with it. All the targets of our app built just >>>> fine, >>>> its only when it got to generate the Emscripten system libs that it >>>> choked. >>>> I am running on Windows 8.1 64bit, and doing python --version reveals >>>> 2.7.8. >>>> >>>> On Wednesday, November 25, 2015 at 5:15:38 PM UTC-5, Alon Zakai wrote: >>>>> >>>>> That looks very bad, but unfamiliar, and apparently not something >>>>> covered in our test suite. Do you have steps to reproduce it that I can >>>>> try? >>>>> >>>>> I can suspect it is related to recent emcc/emcc.py/em++ etc. changes. >>>>> Maybe platform specific somehow? But all our bots seem ok, so no idea >>>>> what's going on. >>>>> >>>>> Is the default python on your system 2 or 3? And what OS are you on? >>>>> >>>>> On Wed, Nov 25, 2015 at 2:09 PM, Robert Goulet <[email protected] >>>>> > wrote: >>>>> >>>>>> Ok I got 1.35.10 built, but at link time for my project I now get >>>>>> this error when it tries to generate the Emscripten system libs. The >>>>>> error >>>>>> repeats endlessly. >>>>>> >>>>>> WARNING:root:generating system library: libcxx_noexcept.a... >>>>>> Traceback (most recent call last): >>>>>> File "<string>", line 1, in <module> >>>>>> File >>>>>> "D:\emsdk-1.35.0-portable-64bit\python\2.7.5.3_64bit\lib\multiprocessing\forking.py", >>>>>> >>>>>> line 380, in main >>>>>> prepare(preparation_data) >>>>>> File >>>>>> "D:\emsdk-1.35.0-portable-64bit\python\2.7.5.3_64bit\lib\multiprocessing\forking.py", >>>>>> >>>>>> line 489, in prepare >>>>>> file, path_name, etc = imp.find_module(main_name, dirs) >>>>>> ImportError: No module named em++ >>>>>> Traceback (most recent call last): >>>>>> File "<string>", line 1, in <module> >>>>>> File >>>>>> "D:\emsdk-1.35.0-portable-64bit\python\2.7.5.3_64bit\lib\multiprocessing\forking.py", >>>>>> >>>>>> line 380, in main >>>>>> prepare(preparation_data) >>>>>> File >>>>>> "D:\emsdk-1.35.0-portable-64bit\python\2.7.5.3_64bit\lib\multiprocessing\forking.py", >>>>>> >>>>>> line 489, in prepare >>>>>> file, path_name, etc = imp.find_module(main_name, dirs) >>>>>> ImportError: No module named em++ >>>>>> Traceback (most recent call last): >>>>>> File "<string>", line 1, in <module> >>>>>> File >>>>>> "D:\emsdk-1.35.0-portable-64bit\python\2.7.5.3_64bit\lib\multiprocessing\forking.py", >>>>>> >>>>>> line 380, in main >>>>>> prepare(preparation_data) >>>>>> File >>>>>> "D:\emsdk-1.35.0-portable-64bit\python\2.7.5.3_64bit\lib\multiprocessing\forking.py", >>>>>> >>>>>> line 489, in prepare >>>>>> file, path_name, etc = imp.find_module(main_name, dirs) >>>>>> ImportError: No module named em++ >>>>>> ... >>>>>> >>>>>> On Wednesday, November 25, 2015 at 4:02:44 PM UTC-5, Alon Zakai wrote: >>>>>>> >>>>>>> Yeah, building llvm+clang just takes a lot of memory. You can try >>>>>>> using less parallel jobs, or doing a non-debug/no-assertions build. >>>>>>> >>>>>>> On Wed, Nov 25, 2015 at 11:15 AM, Robert Goulet < >>>>>>> [email protected]> wrote: >>>>>>> >>>>>>>> Indeed that might be the case. But its very sad since my machine >>>>>>>> has 32GB RAM.... oh well. >>>>>>>> >>>>>>>> On Wednesday, November 25, 2015 at 1:45:13 PM UTC-5, Alon Zakai >>>>>>>> wrote: >>>>>>>>> >>>>>>>>> Looks like it ran out of memory? >>>>>>>>> >>>>>>>>> On Wed, Nov 25, 2015 at 7:00 AM, Robert Goulet < >>>>>>>>> [email protected]> wrote: >>>>>>>>> >>>>>>>>>> incoming fails to build: >>>>>>>>>> >>>>>>>>>> D:\emsdk-1.35.0-portable-64bit\clang\fastcomp\src\include\llvm/Support/type_traits.h(46): >>>>>>>>>> >>>>>>>>>> fatal error C1060: compiler is out of heap space (D:\emsdk- >>>>>>>>>> 1.35.0-portable-64bit\clang\fastcomp\src\tools\clang\lib\CodeGen\CGDebugInfo.cpp) >>>>>>>>>> >>>>>>>>>> [D:\emsdk-1.35.0-portable-64bit\clang\fastcomp\build_incoming_vs201 >>>>>>>>>> 3_64\tools\clang\lib\CodeGen\clangCodeGen.vcxproj] >>>>>>>>>> >>>>>>>>>> On Wednesday, November 25, 2015 at 9:40:28 AM UTC-5, Robert >>>>>>>>>> Goulet wrote: >>>>>>>>>>> >>>>>>>>>>> I'm building incoming right now and will keep you posted about >>>>>>>>>>> what code produce this warning on our side. >>>>>>>>>>> >>>>>>>>>>> On Tuesday, November 24, 2015 at 9:39:35 PM UTC-5, Alon Zakai >>>>>>>>>>> wrote: >>>>>>>>>>>> >>>>>>>>>>>> I found it's easy to get the LLVM optimizer to emit code that >>>>>>>>>>>> hits this warning, see the test I added: >>>>>>>>>>>> >>>>>>>>>>>> >>>>>>>>>>>> https://github.com/kripken/emscripten/commit/308e98787f88789431e5210d4defa76c275454ac >>>>>>>>>>>> >>>>>>>>>>>> The optimizer sees a union with an int write and a float read, >>>>>>>>>>>> and just forwards those bits into a float. >>>>>>>>>>>> >>>>>>>>>>>> On Tue, Nov 24, 2015 at 3:27 PM, Jukka Jylänki < >>>>>>>>>>>> [email protected]> wrote: >>>>>>>>>>>> >>>>>>>>>>>>> Btw, I did write a PR for being able to handle such arbitrary >>>>>>>>>>>>> NaN literals without warnings, but it was chosen not to merge >>>>>>>>>>>>> that in, if I >>>>>>>>>>>>> recall correctly, the thinking was that it would be an impossible >>>>>>>>>>>>> scenario >>>>>>>>>>>>> to occur. The related PR was here: >>>>>>>>>>>>> https://github.com/kripken/emscripten-fastcomp/pull/116 which >>>>>>>>>>>>> was amended to demote the handling to the warning you are seeing. >>>>>>>>>>>>> It would >>>>>>>>>>>>> be interesting to hear what kind of code pattern does cause this. >>>>>>>>>>>>> >>>>>>>>>>>>> 2015-11-25 0:36 GMT+02:00 Alon Zakai <[email protected]>: >>>>>>>>>>>>> >>>>>>>>>>>>>> I added logging of the instruction and function on incoming >>>>>>>>>>>>>> now. It will also print out debug info if available. >>>>>>>>>>>>>> >>>>>>>>>>>>>> On Tue, Nov 24, 2015 at 8:29 AM, Robert Goulet < >>>>>>>>>>>>>> [email protected]> wrote: >>>>>>>>>>>>>> >>>>>>>>>>>>>>> Unfortunately that doesn't really help us track down what >>>>>>>>>>>>>>> produced this warning in our code. >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> On Tuesday, November 24, 2015 at 10:51:29 AM UTC-5, arnab >>>>>>>>>>>>>>> choudhury wrote: >>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>> This error originates from the JS backend modifications to >>>>>>>>>>>>>>>> Clang-++.exe in the emscripten fastcomp project: >>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>> https://github.com/kripken/emscripten-fastcomp/blob/4e83be90903250ec5142edc57971ed4c633c5e25/lib/Target/JSBackend/JSBackend.cpp >>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>> Hope this helps. >>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>> On Tuesday, November 24, 2015 at 7:28:15 AM UTC-8, Robert >>>>>>>>>>>>>>>> Goulet wrote: >>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>> I got this warning at link time. I searched the code for >>>>>>>>>>>>>>>>> this value but couldn't find it. Is there any way to find >>>>>>>>>>>>>>>>> which source file >>>>>>>>>>>>>>>>> produce this warning? EMCC_DEBUG=1 didn't tell more >>>>>>>>>>>>>>>>> details about this. Thanks! >>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>> emcc: warning: cannot represent a NaN literal >>>>>>>>>>>>>>>>> '0x5fec1ef10' with custom bit pattern in NaN-canonicalizing >>>>>>>>>>>>>>>>> JS engines >>>>>>>>>>>>>>>>> (e.g. Firefox and Safari) without erasing bits! >>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>> Thanks! >>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>> -- >>>>>>>>>>>>>>> You received this message because you are subscribed to the >>>>>>>>>>>>>>> Google Groups "emscripten-discuss" group. >>>>>>>>>>>>>>> To unsubscribe from this group and stop receiving emails >>>>>>>>>>>>>>> from it, send an email to >>>>>>>>>>>>>>> [email protected]. >>>>>>>>>>>>>>> For more options, visit https://groups.google.com/d/optout. >>>>>>>>>>>>>>> >>>>>>>>>>>>>> >>>>>>>>>>>>>> -- >>>>>>>>>>>>>> You received this message because you are subscribed to the >>>>>>>>>>>>>> Google Groups "emscripten-discuss" group. >>>>>>>>>>>>>> To unsubscribe from this group and stop receiving emails from >>>>>>>>>>>>>> it, send an email to >>>>>>>>>>>>>> [email protected]. >>>>>>>>>>>>>> For more options, visit https://groups.google.com/d/optout. >>>>>>>>>>>>>> >>>>>>>>>>>>> >>>>>>>>>>>>> -- >>>>>>>>>>>>> You received this message because you are subscribed to the >>>>>>>>>>>>> Google Groups "emscripten-discuss" group. >>>>>>>>>>>>> To unsubscribe from this group and stop receiving emails from >>>>>>>>>>>>> it, send an email to >>>>>>>>>>>>> [email protected]. >>>>>>>>>>>>> For more options, visit https://groups.google.com/d/optout. >>>>>>>>>>>>> >>>>>>>>>>>> >>>>>>>>>>>> -- >>>>>>>>>> You received this message because you are subscribed to the >>>>>>>>>> Google Groups "emscripten-discuss" group. >>>>>>>>>> To unsubscribe from this group and stop receiving emails from it, >>>>>>>>>> send an email to [email protected]. >>>>>>>>>> For more options, visit https://groups.google.com/d/optout. >>>>>>>>>> >>>>>>>>> >>>>>>>>> -- >>>>>>>> You received this message because you are subscribed to the Google >>>>>>>> Groups "emscripten-discuss" group. >>>>>>>> To unsubscribe from this group and stop receiving emails from it, >>>>>>>> send an email to [email protected]. >>>>>>>> For more options, visit https://groups.google.com/d/optout. >>>>>>>> >>>>>>> >>>>>>> -- >>>>>> You received this message because you are subscribed to the Google >>>>>> Groups "emscripten-discuss" group. >>>>>> To unsubscribe from this group and stop receiving emails from it, >>>>>> send an email to [email protected]. >>>>>> For more options, visit https://groups.google.com/d/optout. >>>>>> >>>>> >>>>> -- >>>> You received this message because you are subscribed to the Google >>>> Groups "emscripten-discuss" group. >>>> To unsubscribe from this group and stop receiving emails from it, send >>>> an email to [email protected]. >>>> For more options, visit https://groups.google.com/d/optout. >>>> >>> >>> -- >> You received this message because you are subscribed to the Google Groups >> "emscripten-discuss" group. >> To unsubscribe from this group and stop receiving emails from it, send an >> email to [email protected] <javascript:>. >> For more options, visit https://groups.google.com/d/optout. >> > > -- You received this message because you are subscribed to the Google Groups "emscripten-discuss" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. For more options, visit https://groups.google.com/d/optout.
