I'll think of something. 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.