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.

Reply via email to