It is maybe "right_direction" instead of "ght_direction".
Le Wed, 29 Oct 2014 12:55:22 -0700 (PDT), Robert Goulet <[email protected]> a écrit : > That's very cleaver, I didn't think to convert those to ascii. > > Btw I completely uninstalled Emscripten 1.25.0 and re-installed it > and the issue was still present. I uninstalled it again and > re-installed 1.22.0 and everything works fine. So we can rule that > one out. Now back to 1.25.0... > > Definitively a string in our code, so I am guessing this must be a > change in Clang since I wouldn't know how Emscripten could possibly > introduce issues like that. I will have to dig into Clang's compiler > changes/options to see if I can do anything about it. Its just > annoying that the whole engine was running perfectly in 1.22.0 and > now it won't even finish linking. > > That file being processed by Emscripten in this case, is it only > the .mem content (static variables initialization?) or does it also > process the whole byte code? > > > On Wednesday, October 29, 2014 2:44:34 PM UTC-4, Alon Zakai wrote: > > > > Converting those last bytes to a string gives > > "ght_direction\x00:\x00\x00\x00\x00\x00\x00\x00slices\x00\x00d". > > There isn't anything in emscripten, LLVM or clang with the > > characters "ght_direction". Perhaps look for where that is in your > > codebase? Might be you have a function with non-unicode characters > > in its name or in a parameter name, and somehow clang and LLVM > > preserve that oddness when compiling. > > > > Another odd possibility is somehow emscripten.py (the file that > > crashes) got corrupted somehow, and contains a non-ascii character > > in the text processing right before that crash? Using a new copy of > > emscripten could rule that out. > > > > - Alon > > > > > > On Wed, Oct 29, 2014 at 11:02 AM, Robert Goulet > > <[email protected] <javascript:>> wrote: > > > >> Cool that worked. > >> > >> It prints 16,1 for 234335:234339 > >> > >> It seems the offending character is the comma? > >> > >> There I printed 234300:234400 and I get: > >> > >> > >> 103,104,116,95,100,105,114,101,99,116,105,111,110,0,58,0,0,0,0,0,0,0,115,108,105,99,101,115,0,0,100, > >> > >> I really don't see what is wrong with these characters... encoding > >> with utf-8 doesn't change the print output. > >> > >> > >> > >> On Wednesday, October 29, 2014 1:12:09 PM UTC-4, Bruce Mitchener > >> wrote: > >>> > >>> I am half asleep but maybe: > >>> > >>> print >> sys.stderr, mem_init... > >>> > >>> http://stackoverflow.com/questions/5574702/how-to- > >>> print-to-stderr-in-python > >>> > >>> - Bruce > >>> > >>> Sent from my iPhone > >>> > >>> On Oct 30, 2014, at 12:05 AM, Robert Goulet > >>> <[email protected]> wrote: > >>> > >>> Ok I added the try/except block and I think it went into the > >>> except part but I can't see it; the print function does not write > >>> into the Visual Studio output window. So I tried to run the link > >>> command (emcc.bat with all the same parameters) and it still > >>> doesn't print the error in the console. How do I get this print > >>> function to write in the console (or VS output window) ? > >>> > >>> On Wednesday, October 29, 2014 11:10:30 AM UTC-4, Bruce Mitchener > >>> wrote: > >>>> > >>>> Sure. > >>>> > >>>> Around that block of code, wrap it in a try / except block: > >>>> > >>>> try: > >>>> ... > >>>> except: > >>>> print mem_init[234335:234339] > >>>> > >>>> And I think that'll work. If that print errors, you may need to > >>>> try printing mem_init[...].encode('utf-8') instead ... > >>>> > >>>> - Bruce > >>>> > >>>> > >>>> On Wed, Oct 29, 2014 at 9:44 PM, Robert Goulet > >>>> <[email protected]> wrote: > >>>> > >>>>> Sure I would like to debug it. I have never debugged Emscripten > >>>>> before so I will need advices about how to do what you just > >>>>> said. Can you provide tips? > >>>>> > >>>>> On Wednesday, October 29, 2014 10:34:37 AM UTC-4, Bruce > >>>>> Mitchener wrote: > >>>>>> > >>>>>> Someone else reported this same bug a week or two ago on this > >>>>>> list. > >>>>>> > >>>>>> My suggestion to them is the same that I will make to you: > >>>>>> > >>>>>> Modify the code to dump some of that value around the area > >>>>>> that it is reporting the problem. What's in position 234337 > >>>>>> of mem_init? What's around there? > >>>>>> > >>>>>> That should tell you something useful (and it is how I tracked > >>>>>> down my problem when I ran into this in the past). > >>>>>> > >>>>>> - Bruce > >>>>>> > >>>>>> > >>>>>> On Wed, Oct 29, 2014 at 9:31 PM, Robert Goulet > >>>>>> <[email protected] > >>>>>> > wrote: > >>>>>> > >>>>>>> Yeah unfortunately the code is private, can't share it. I > >>>>>>> wasn't able to reproduce it with a simple new project. The > >>>>>>> project that reproduce it links with about 20 static > >>>>>>> libraries (.bc), and it seems that if I remove about 3/4 of > >>>>>>> them, the link works. It doesn't seems to be tied to a > >>>>>>> specific lib, but more about the total size of the lib > >>>>>>> payload. That's very odd indeed. > >>>>>>> > >>>>>>> > >>>>>>> On Wednesday, October 29, 2014 10:20:18 AM UTC-4, Robert > >>>>>>> Goulet wrote: > >>>>>>>> > >>>>>>>> Nope, that didn't work... > >>>>>>>> > >>>>>>>> Link: > >>>>>>>> Traceback (most recent call last): > >>>>>>>> File "C:\Program > >>>>>>>> Files\Emscripten\emscripten\1.25.0\emscripten.py", line > >>>>>>>> 1578, in <module> _main(environ=os.environ) > >>>>>>>> File "C:\Program > >>>>>>>> Files\Emscripten\emscripten\1.25.0\emscripten.py", line > >>>>>>>> 1566, in _main temp_files.run_and_clean(lambda: main( > >>>>>>>> File "C:\Program > >>>>>>>> Files\Emscripten\emscripten\1.25.0\tools\tempfiles.py", line > >>>>>>>> 39, in run_and_clean return func() > >>>>>>>> File "C:\Program > >>>>>>>> Files\Emscripten\emscripten\1.25.0\emscripten.py", line > >>>>>>>> 1574, in <lambda> DEBUG_CACHE=DEBUG_CACHE, > >>>>>>>> File "C:\Program > >>>>>>>> Files\Emscripten\emscripten\1.25.0\emscripten.py", line > >>>>>>>> 1461, in main jcache=jcache, temp_files=temp_files, > >>>>>>>> DEBUG=DEBUG, DEBUG_CACHE=DEBUG_CACHE) > >>>>>>>> File "C:\Program > >>>>>>>> Files\Emscripten\emscripten\1.25.0\emscripten.py", line 911, > >>>>>>>> in emscript_fast %s''' % (str(mem_init).count(',')+1, > >>>>>>>> global_initializers, str(mem_init))) # XXX wrong size > >>>>>>>> calculation! UnicodeDecodeError: 'ascii' codec can't decode > >>>>>>>> byte 0xc2 in position 234337: ordinal not in range(128) > >>>>>>>> Traceback (most recent call last): > >>>>>>>> File "C:\Program > >>>>>>>> Files\Emscripten\emscripten\1.25.0\\emcc", line 1259, in > >>>>>>>> <module> final = shared.Building.emscripten(final, > >>>>>>>> append_ext=False, extra_args=extra_args) > >>>>>>>> File "C:\Program > >>>>>>>> Files\Emscripten\emscripten\1.25.0\tools\shared.py", line > >>>>>>>> 1464, in emscripten assert os.path.exists(filename + > >>>>>>>> '.o.js'), 'Emscripten failed to generate .js' > >>>>>>>> AssertionError: Emscripten failed to generate .js > >>>>>>>> C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4 > >>>>>>>> .0\Platforms\Emscripten\Microsoft.Cpp.Emscripten.Targets(117,5): > >>>>>>>> error MSB6006: "C:\Program > >>>>>>>> Files\Emscripten\emscripten\1.25.0\emcc.bat" exited with > >>>>>>>> code 1. > >>>>>>>> > >>>>>>>> Build FAILED. > >>>>>>>> > >>>>>>>> On Tuesday, October 28, 2014 4:24:45 PM UTC-4, Alon Zakai > >>>>>>>> wrote: > >>>>>>>>> > >>>>>>>>> Hmm, never seen that before. Odd. > >>>>>>>>> > >>>>>>>>> If this code is open, can you provide the bitcode for > >>>>>>>>> testing? If not, one random guess - if you change that line > >>>>>>>>> (911 in emscripten.py) to replace > >>>>>>>>> > >>>>>>>>> mem_init > >>>>>>>>> > >>>>>>>>> (in both places) with > >>>>>>>>> > >>>>>>>>> str(mem_init) > >>>>>>>>> > >>>>>>>>> , does that help? > >>>>>>>>> > >>>>>>>>> - Alon > >>>>>>>>> > >>>>>>>>> > >>>>>>>>> > >>>>>>>>> On Tue, Oct 28, 2014 at 11:04 AM, Robert Goulet < > >>>>>>>>> [email protected]> wrote: > >>>>>>>>> > >>>>>>>>>> Hi all, > >>>>>>>>>> > >>>>>>>>>> I just upgraded my project to Emscripten 1.25.0 and I have > >>>>>>>>>> a new link error that wasn't there with Emscripten 1.22.0. > >>>>>>>>>> > >>>>>>>>>> Here is what the linker outputs: > >>>>>>>>>> > >>>>>>>>>> Link: > >>>>>>>>>> Traceback (most recent call last): > >>>>>>>>>> File "C:\Program > >>>>>>>>>> Files\Emscripten\emscripten\1.25.0\emscripten.py", line > >>>>>>>>>> 1578, in <module> _main(environ=os.environ) > >>>>>>>>>> File "C:\Program > >>>>>>>>>> Files\Emscripten\emscripten\1.25.0\emscripten.py", line > >>>>>>>>>> 1566, in _main temp_files.run_and_clean(lambda: main( > >>>>>>>>>> File "C:\Program > >>>>>>>>>> Files\Emscripten\emscripten\1.25.0\tools\tempfiles.py", > >>>>>>>>>> line 39, in run_and_clean return func() > >>>>>>>>>> File "C:\Program > >>>>>>>>>> Files\Emscripten\emscripten\1.25.0\emscripten.py", line > >>>>>>>>>> 1574, in <lambda> DEBUG_CACHE=DEBUG_CACHE, > >>>>>>>>>> File "C:\Program > >>>>>>>>>> Files\Emscripten\emscripten\1.25.0\emscripten.py", line > >>>>>>>>>> 1461, in main jcache=jcache, temp_files=temp_files, > >>>>>>>>>> DEBUG=DEBUG, DEBUG_CACHE=DEBUG_CACHE) > >>>>>>>>>> File "C:\Program > >>>>>>>>>> Files\Emscripten\emscripten\1.25.0\emscripten.py", line > >>>>>>>>>> 911, in emscript_fast %s''' % (mem_init.count(',')+1, > >>>>>>>>>> global_initializers, mem_init)) # XXX wrong size > >>>>>>>>>> calculation! UnicodeDecodeError: 'ascii' codec can't > >>>>>>>>>> decode byte 0xc2 in position 234337: ordinal not in > >>>>>>>>>> range(128) Traceback (most recent call last): > >>>>>>>>>> File "C:\Program > >>>>>>>>>> Files\Emscripten\emscripten\1.25.0\\emcc", line 1259, in > >>>>>>>>>> <module> final = shared.Building.emscripten(final, > >>>>>>>>>> append_ext=False, extra_args=extra_args) > >>>>>>>>>> File "C:\Program > >>>>>>>>>> Files\Emscripten\emscripten\1.25.0\tools\shared.py", line > >>>>>>>>>> 1464, in emscripten assert os.path.exists(filename + > >>>>>>>>>> '.o.js'), 'Emscripten failed to generate .js' > >>>>>>>>>> AssertionError: Emscripten failed to generate .js > >>>>>>>>>> C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4 > >>>>>>>>>> .0\Platforms\Emscripten\Microsoft.Cpp.Emscripten.Targets(117,5): > >>>>>>>>>> error MSB6006: "C:\Program > >>>>>>>>>> Files\Emscripten\emscripten\1.25.0\emcc.bat" exited with > >>>>>>>>>> code 1. > >>>>>>>>>> > >>>>>>>>>> Here is the link command-line use: > >>>>>>>>>> > >>>>>>>>>> emcc -o f:/dev/build/main.html -O2 > >>>>>>>>>> f:/dev/build/game/game.bc -Wno-warn-absolute-paths -s > >>>>>>>>>> NO_EXIT_RUNTIME=1 -s TOTAL_MEMORY=64*1024*1024 > >>>>>>>>>> --preload-file f:/dev/data/gamedata@/ > >>>>>>>>>> > >>>>>>>>>> I did a clean/full rebuild to be sure there wasn't any > >>>>>>>>>> previously built files around and I always get the same > >>>>>>>>>> results. Did anyone ever had this problem before? How do I > >>>>>>>>>> debug this? 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] > >> <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.
