<div dir="ltr"><div class="gmail_extra"><div class="gmail_quote">On Thu, Mar 27, 2014 at 3:28 PM, Mark S. Miller <span dir="ltr"><<a href="mailto:erights@google.com" target="_blank">erights@google.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex"><div dir="ltr"><div>[+google-caja-discuss]</div><div><br></div>Cool. I will fix the debug.js adaptor <div>a) to fix the bug Boris reported, </div><div>b) to map the FF nested format to the v8 nested format, and </div><div>
c) to preserve this information from the v8 API so that it appears correctly on v8 as well. </div><div>This will require extending the Causeway stack trace format (an encoding of stack trace info into JSON), which looks like it should be straightforward. Thanks!<div>
<br></div><div>Once extended in this way, would it be useful to standardize the Causeway stack trace representation, so others can avoid trying to parse the stack trace strings with regexps?</div></div></div></blockquote><div><br></div><div><br></div><div>This was issue <a href="https://github.com/google/caja/issues/1906">https://github.com/google/caja/issues/1906</a> which we just closed with <a href="https://codereview.appspot.com/256790043/">https://codereview.appspot.com/256790043/</a> . See the definition of the Extended Causeway JSON stacktrace format starting at <<a href="https://github.com/google/caja/blob/master/src/com/google/caja/ses/debug.js#L36">https://github.com/google/caja/blob/master/src/com/google/caja/ses/debug.js#L36</a>>, line 36.</div><div><br></div>Due to <<a href="https://code.google.com/p/v8/issues/detail?id=4268">https://code.google.com/p/v8/issues/detail?id=4268</a>>, we need to do some unreliable scraping even on v8 to recover this info. This is open to attack. As it says at <<a href="https://github.com/google/caja/blob/master/src/com/google/caja/ses/debug.js#L184">https://github.com/google/caja/blob/master/src/com/google/caja/ses/debug.js#L184</a>>:<br><br></div></div><blockquote style="margin:0 0 0 40px;border:none;padding:0px"><div class="gmail_extra"><div class="gmail_quote">There are a variety of user-triggered </div></div><div class="gmail_extra"><div class="gmail_quote">conditions that can cause this scraping to fail, such as a</div></div><div class="gmail_extra"><div class="gmail_quote">methodName that contains an "(" or "@" character.</div></div></blockquote><div class="gmail_extra"><div class="gmail_quote"><br></div><div class="gmail_quote">Standardizing on the JSON for the Extended Causeway Stacktrace would make this necessarily-unreliable scraping unnecessary on all future std JS platforms.</div><div class="gmail_quote"><br></div><div class="gmail_quote"><br></div><div class="gmail_quote"><br><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">
<div class="gmail_extra"><div><div class="h5"><br><br><div class="gmail_quote">On Thu, Mar 27, 2014 at 3:09 PM, Christian Plesner Hansen <span dir="ltr"><<a href="mailto:c7n@p5r.org" target="_blank">c7n@p5r.org</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">
<u></u>




<div><div>Yes: <a href="https://code.google.com/p/v8/wiki/JavaScriptStackTraceApi" target="_blank">https://code.google.com/p/v8/wiki/JavaScriptStackTraceApi</a><span><font color="#888888"><br></font></span></div>
<span><font color="#888888">
<div> </div>
<div> </div>
<div>c</div></font></span><div><div>
<div> </div>
<div>On Thu, Mar 27, 2014, at 03:06 PM, Mark Miller wrote:<br></div>
<blockquote type="cite"><div dir="ltr">I wasn't aware that v8 does that. Is this format documented anywhere?<br></div>
<div><div> </div>
<div> </div>
<div><div>On Thu, Mar 27, 2014 at 2:23 PM, Christian Plesner Hansen <span dir="ltr"><<a href="mailto:c7n@p5r.org" target="_blank">c7n@p5r.org</a>></span> wrote:<br></div>
<div> </div>
<blockquote style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex"><div>>     js> try { eval("eval('FAIL')"); } catch (x) { print(x.stack); }<br></div>
<div>
>     @typein line 2 > eval line 1 > eval:1:1<br></div>
<div>
>     @typein line 2 > eval:1:1<br></div>
<div>
>     @typein:2:7<br></div>
<div> </div>
<div>I'm unclear on what the problem is with nested evals -- you get<br></div>
<div>
essentially the same information from v8:<br></div>
<div> </div>
<div>
js> try { eval("eval('FAIL')"); } catch (x) { console.log(x.stack); }<br></div>
<div>
ReferenceError: FAIL is not defined<br></div>
<div>
    at eval (eval at <anonymous> (eval at <anonymous> (repl:1:7)),<br></div>
<div>
    <anonymous>:1:1)<br></div>
<div>
    at eval (eval at <anonymous> (repl:1:7), <anonymous>:1:1)<br></div>
<div>
    at repl:1:7<br></div>
<div> </div>
<div><div> </div>
<div> </div>
<div>
c<br></div>
<div>
_______________________________________________<br></div>
<div>
es-discuss mailing list<br></div>
<div>
<a href="mailto:es-discuss@mozilla.org" target="_blank">es-discuss@mozilla.org</a><br></div>
<div>
<a href="https://mail.mozilla.org/listinfo/es-discuss" target="_blank">https://mail.mozilla.org/listinfo/es-discuss</a>
<br></div>
</div>
</blockquote></div>
<div> </div>
<div> </div>
<div> </div>
<div>-- <br></div>
<div>Text by me above is hereby placed in the public domain<br></div>
<div> </div>
<div>  Cheers,<br></div>
<div>  --MarkM
<br></div>
</div>
<div><u>_______________________________________________</u><br></div>
<div>es-discuss mailing list<br></div>
<div><a href="mailto:es-discuss@mozilla.org" target="_blank">es-discuss@mozilla.org</a><br></div>
<div><a href="https://mail.mozilla.org/listinfo/es-discuss" target="_blank">https://mail.mozilla.org/listinfo/es-discuss</a><br></div>
</blockquote></div></div></div>

<br>_______________________________________________<br>
es-discuss mailing list<br>
<a href="mailto:es-discuss@mozilla.org" target="_blank">es-discuss@mozilla.org</a><br>
<a href="https://mail.mozilla.org/listinfo/es-discuss" target="_blank">https://mail.mozilla.org/listinfo/es-discuss</a><br>
<br></blockquote></div><br><br clear="all"><div><br></div>-- <br></div></div>    Cheers,<br>    --MarkM
</div>
</blockquote></div><br><br clear="all"><div><br></div>-- <br><div class="gmail_signature">    Cheers,<br>    --MarkM</div>
</div></div>