I actually don't know anything about docker. Is it trivial to set up (apt-get)?
- Alon On Sun, Dec 14, 2014 at 3:08 AM, Arve Knudsen <arve.knud...@gmail.com> wrote: > > Nevermind about the internal compiler error, I was compiling on a machine > with too little memory, sorry about that. Am working on the Docker/fig > config now. > > Arve > > On Sat, Dec 13, 2014 at 10:54 PM, Arve Knudsen <arve.knud...@gmail.com> > wrote: >> >> I have a Docker/Fig config for you, but alas it won't build due to an >> internal compiler exception when installing Emscripten itself. See issue >> https://github.com/kripken/emscripten/issues/3078. >> >> Arve >> >> On Sat, Dec 13, 2014 at 8:49 PM, Arve Knudsen <arve.knud...@gmail.com> >> wrote: >>> >>> Alon, would you be OK with using Docker to test? >>> >>> Arve >>> >>> On Sat, Dec 13, 2014 at 1:52 AM, Alon Zakai <alonza...@gmail.com> wrote: >>> >>>> Any chance you can make it possible to run just the emscripten part of >>>> the build process? E.g. running 'make' immediately fails on not having >>>> 'bison' installed. Also I'd rather not install grunt and other things >>>> globally. >>>> >>>> - Alon >>>> >>>> >>>> >>>> On Fri, Dec 12, 2014 at 4:06 PM, Arve Knudsen <arve.knud...@gmail.com> >>>> wrote: >>>> >>>>> I forgot to mention that before running grunt, you must've installed >>>>> it globally (npm install -g grunt-cli) and then run 'npm install' within >>>>> the 'js' directory. >>>>> >>>>> Arve >>>>> >>>>> On Sat, Dec 13, 2014 at 12:56 AM, Arve Knudsen <arve.knud...@gmail.com >>>>> > wrote: >>>>> >>>>>> Hi >>>>>> >>>>>> I've built ChucK with -g4 (thus producing a sourcemap) and -s >>>>>> SAFE_HEAP=3, and unsafe memory access is detected while executing ChucK. >>>>>> However, I am unable to debug the segfault and could use your help. I >>>>>> tell >>>>>> Chrome to halt on exceptions, and when exception halts on the segfault, a >>>>>> stack trace is produced that looks as follows: >>>>>> >>>>>> invoke_iiiii (chuck.js:9199) >>>>>> _executeCode (__tree:274) >>>>>> asm._executeCode (chuck_emit.cpp:915) >>>>>> ccallFunc (chuck.js:534) >>>>>> (anonymous function) (whole.html:1) >>>>>> jQuery.event.dispatch (jquery-1.10.2.js:5095) >>>>>> jQuery.event.add.elemData.handle (jquery-1.10.2.js:4766) >>>>>> >>>>>> However, this stacktrace is of little use since it really doesn't >>>>>> make much sense. When I click on the asm._executeCode frame, the debugger >>>>>> enters the C++ function emit_engine_emit_do_while (line 915 of >>>>>> chuck.emit.cpp). Said line looks like this: >>>>>> >>>>>> while( emit->code->stack_cont.size() && >>>>>> emit->code->stack_cont.back() ) >>>>>> >>>>>> First of all, there's no correspondence betwen this function and the >>>>>> name of the stack frame ('asm._executeCode'). Second, when I click on the >>>>>> next frame, it resolves to the function __tree_balance_after_insert (of >>>>>> file '__tree'). This doesn't make much sense does it?? >>>>>> >>>>>> When I let execution continue after the exception, a completely >>>>>> different looking traceback is printed to the console: >>>>>> >>>>>> Uncaught abort() at Error >>>>>> at jsStackTrace ( >>>>>> http://localhost:8000/examples/basic/chuck.js:1049:13) >>>>>> at stackTrace ( >>>>>> http://localhost:8000/examples/basic/chuck.js:1066:22) >>>>>> at abort ( >>>>>> http://localhost:8000/examples/basic/chuck.js:561343:25) >>>>>> at SAFE_HEAP_LOAD ( >>>>>> http://localhost:8000/examples/basic/chuck.js:429:87) >>>>>> at _strlen ( >>>>>> http://localhost:8000/examples/basic/chuck.js:552513:43) >>>>>> at Array.__ZNSt3__111char_traitsIcE6lengthEPKc >>>>>> [std::__1::char_traits<char>::length(char const*)] ( >>>>>> http://localhost:8000/examples/basic/chuck.js:541966:7) >>>>>> at Object.dynCall_ii ( >>>>>> http://localhost:8000/examples/basic/chuck.js:553175:74) >>>>>> at invoke_ii ( >>>>>> http://localhost:8000/examples/basic/chuck.js:8873:32) >>>>>> at >>>>>> Array.__ZN12_GLOBAL__N_19sporkCodeEP14Chuck_CompilerP8Chuck_VMPKcS5_ >>>>>> [(anonymous namespace)::sporkCode(Chuck_Compiler*, Chuck_VM*, char >>>>>> const*, >>>>>> char const*)] (http://localhost:8000/examples/basic/chuck.js:256286:8 >>>>>> ) >>>>>> at Object.dynCall_iiiii ( >>>>>> http://localhost:8000/examples/basic/chuck.js:551097:77) >>>>>> >>>>>> How can I debug this exception?? Please help. >>>>>> >>>>>> If you like, you can reproduce by: >>>>>> 1. Check out https://github.com/aknuds1/chuck.git >>>>>> 2. cd chuck >>>>>> 3. pushd src && make -j8 CHUCK_DEBUG_LEVEL=4 CHUCK_EM_SAFEHEAP=3 >>>>>> emscripten && popd && pushd js && grunt >>>>>> 4. python -m SimpleHTTPServer >>>>>> 5. Open http://localhost:8000/examples/basic/whole.html in Chrome >>>>>> (evt. some other browser) >>>>>> 6. Open the Developer Tools >>>>>> 7. Enable 'Pause on exceptions' >>>>>> 8. Click the 'Play' button >>>>>> >>>>>> Thanks, >>>>>> Arve >>>>>> >>>>>> >>>>>> >>>>>> >>>>>> >>>>> -- >>>>> 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 emscripten-discuss+unsubscr...@googlegroups.com. >>>>> 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 emscripten-discuss+unsubscr...@googlegroups.com. >>>> 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 emscripten-discuss+unsubscr...@googlegroups.com. > 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 emscripten-discuss+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.