<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<!DOCTYPE bugzilla SYSTEM "https://bugs.webkit.org/page.cgi?id=bugzilla.dtd">

<bugzilla version="5.0.4.1"
          urlbase="https://bugs.webkit.org/"
          
          maintainer="admin@webkit.org"
>

    <bug>
          <bug_id>83437</bug_id>
          
          <creation_ts>2012-04-08 13:10:01 -0700</creation_ts>
          <short_desc>Command-line jsc&apos;s exception handling should be rationalized</short_desc>
          <delta_ts>2012-04-08 13:51:21 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>JavaScriptCore</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Filip Pizlo">fpizlo</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>598056</commentid>
    <comment_count>0</comment_count>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2012-04-08 13:10:01 -0700</bug_when>
    <thetext>Currently it will swallow and ignore exceptions thrown during a run() execution.  If a program terminates because of an exception, the exception is not printed by default.  It is only printed if we enable bytecode dumping.  It should be enabled always.  The backtrace is never printed even though we almost always have one.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>598057</commentid>
    <comment_count>1</comment_count>
      <attachid>136156</attachid>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2012-04-08 13:15:58 -0700</bug_when>
    <thetext>Created attachment 136156
the patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>598060</commentid>
    <comment_count>2</comment_count>
      <attachid>136156</attachid>
    <who name="">mitz</who>
    <bug_when>2012-04-08 13:45:21 -0700</bug_when>
    <thetext>Comment on attachment 136156
the patch

View in context: https://bugs.webkit.org/attachment.cgi?id=136156&amp;action=review

&gt; Source/JavaScriptCore/jsc.cpp:532
&gt;          if (dump) {
&gt; -            if (evaluationException)
&gt; -                printf(&quot;Exception: %s\n&quot;, evaluationException.toString(globalObject-&gt;globalExec())-&gt;value(globalObject-&gt;globalExec()).utf8().data());
&gt; -            else
&gt; +            if (!evaluationException)

Now that there’s no else clause inside you can just write
    if (dump &amp;&amp; !evaluationException)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>598061</commentid>
    <comment_count>3</comment_count>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2012-04-08 13:46:19 -0700</bug_when>
    <thetext>(In reply to comment #2)
&gt; (From update of attachment 136156 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=136156&amp;action=review
&gt; 
&gt; &gt; Source/JavaScriptCore/jsc.cpp:532
&gt; &gt;          if (dump) {
&gt; &gt; -            if (evaluationException)
&gt; &gt; -                printf(&quot;Exception: %s\n&quot;, evaluationException.toString(globalObject-&gt;globalExec())-&gt;value(globalObject-&gt;globalExec()).utf8().data());
&gt; &gt; -            else
&gt; &gt; +            if (!evaluationException)
&gt; 
&gt; Now that there’s no else clause inside you can just write
&gt;     if (dump &amp;&amp; !evaluationException)

Good point, thanks for the review!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>598063</commentid>
    <comment_count>4</comment_count>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2012-04-08 13:51:21 -0700</bug_when>
    <thetext>Landed in http://trac.webkit.org/changeset/113553</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>136156</attachid>
            <date>2012-04-08 13:15:58 -0700</date>
            <delta_ts>2012-04-08 13:45:21 -0700</delta_ts>
            <desc>the patch</desc>
            <filename>jscexception_patch_1.diff</filename>
            <type>text/plain</type>
            <size>3593</size>
            <attacher name="Filip Pizlo">fpizlo</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gMTEzNTUxKQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDI1IEBA
CisyMDEyLTA0LTA4ICBGaWxpcCBQaXpsbyAgPGZwaXpsb0BhcHBsZS5jb20+CisKKyAgICAgICAg
Q29tbWFuZC1saW5lIGpzYydzIGV4Y2VwdGlvbiBoYW5kbGluZyBzaG91bGQgYmUgcmF0aW9uYWxp
emVkCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD04MzQz
NworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorICAgICAgICAKKyAgICAg
ICAgLSBJZiBhbiBleGNlcHRpb24gaXMgdGhyb3duIGR1cmluZyBydW4oKSBleGVjdXRpb24sIGl0
IGlzIG5vdyBwcm9wYWdhdGVkLAorICAgICAgICAgIHNvIHRoYXQgaXQgd2lsbCB0ZXJtaW5hdGUg
cHJvZ3JhbSBleGVjdXRpb24gdW5sZXNzIGl0IGlzIGNhdWdodC4KKyAgICAgICAgICAKKyAgICAg
ICAgLSBJZiBwcm9ncmFtIGV4ZWN1dGlvbiB0ZXJtaW5hdGVzIHdpdGggYW4gZXhjZXB0aW9uLCB0
aGUgZXhjZXB0aW9uIGlzIG5vdworICAgICAgICAgIGFsd2F5cyBwcmludGVkLgorICAgICAgICAg
IAorICAgICAgICAtIFdoZW4gcHJpbnRpbmcgdGhlIGV4Y2VwdGlvbiwgdGhlIGJhY2t0cmFjZSBp
cyBub3cgYWxzbyBwcmludGVkIGlmIG9uZSBpcworICAgICAgICAgIGF2YWlsYWJsZS4gSXQgd2ls
bCBvbmx5IG5vdCBiZSBhdmFpbGFibGUgaWYgeW91IHVzZSBzb21ldGhpbmcgYWtpbiB0byBteQor
ICAgICAgICAgIGZhdm9yaXRlIGxpbmUgb2YgY29kZSwgJ3Rocm93ICJlcnJvciInLCBzaW5jZSBw
cmltaXRpdmVzIGRvbid0IGhhdmUKKyAgICAgICAgICBwcm9wZXJ0aWVzIGFuZCBoZW5jZSB3ZSBj
YW5ub3QgYXR0YWNoIGEgInN0YWNrIiBwcm9wZXJ0eSB0byB0aGVtLgorCisgICAgICAgICoganNj
LmNwcDoKKyAgICAgICAgKGZ1bmN0aW9uUnVuKToKKyAgICAgICAgKHJ1bldpdGhTY3JpcHRzKToK
KwogMjAxMi0wNC0wNiAgQmVuamFtaW4gUG91bGFpbiAgPGJwb3VsYWluQGFwcGxlLmNvbT4KIAog
ICAgICAgICBEbyBub3QgYWJ1c2UgQXJyYXlTdG9yYWdlJ3MgbV9sZW5ndGggZm9yIHRlc3Rpbmcg
YXJyYXkgY29uc2lzdGVuY3kKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9qc2MuY3BwCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9qc2MuY3BwCShyZXZpc2lvbiAxMTI5
MjYpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvanNjLmNwcAkod29ya2luZyBjb3B5KQpAQCAt
MzIxLDExICszMjEsMTcgQEAgRW5jb2RlZEpTVmFsdWUgSlNDX0hPU1RfQ0FMTCBmdW5jdGlvblJ1
bgogCiAgICAgR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QgPSBHbG9iYWxPYmplY3Q6OmNyZWF0
ZShleGVjLT5nbG9iYWxEYXRhKCksIEdsb2JhbE9iamVjdDo6Y3JlYXRlU3RydWN0dXJlKGV4ZWMt
Pmdsb2JhbERhdGEoKSwganNOdWxsKCkpLCBWZWN0b3I8VVN0cmluZz4oKSk7CiAKKyAgICBKU1Zh
bHVlIGV4Y2VwdGlvbjsKICAgICBTdG9wV2F0Y2ggc3RvcFdhdGNoOwogICAgIHN0b3BXYXRjaC5z
dGFydCgpOwotICAgIGV2YWx1YXRlKGdsb2JhbE9iamVjdC0+Z2xvYmFsRXhlYygpLCBnbG9iYWxP
YmplY3QtPmdsb2JhbFNjb3BlQ2hhaW4oKSwganNjU291cmNlKHNjcmlwdC5kYXRhKCksIGZpbGVO
YW1lKSk7CisgICAgZXZhbHVhdGUoZ2xvYmFsT2JqZWN0LT5nbG9iYWxFeGVjKCksIGdsb2JhbE9i
amVjdC0+Z2xvYmFsU2NvcGVDaGFpbigpLCBqc2NTb3VyY2Uoc2NyaXB0LmRhdGEoKSwgZmlsZU5h
bWUpLCBKU1ZhbHVlKCksICZleGNlcHRpb24pOwogICAgIHN0b3BXYXRjaC5zdG9wKCk7CiAKKyAg
ICBpZiAoISFleGNlcHRpb24pIHsKKyAgICAgICAgdGhyb3dFcnJvcihnbG9iYWxPYmplY3QtPmds
b2JhbEV4ZWMoKSwgZXhjZXB0aW9uKTsKKyAgICAgICAgcmV0dXJuIEpTVmFsdWU6OmVuY29kZShq
c1VuZGVmaW5lZCgpKTsKKyAgICB9CisgICAgCiAgICAgcmV0dXJuIEpTVmFsdWU6OmVuY29kZShq
c051bWJlcihzdG9wV2F0Y2guZ2V0RWxhcHNlZE1TKCkpKTsKIH0KIApAQCAtNTIzLDExICs1Mjks
MTYgQEAgc3RhdGljIGJvb2wgcnVuV2l0aFNjcmlwdHMoR2xvYmFsT2JqZWN0KgogICAgICAgICBK
U1ZhbHVlIHJldHVyblZhbHVlID0gZXZhbHVhdGUoZ2xvYmFsT2JqZWN0LT5nbG9iYWxFeGVjKCks
IGdsb2JhbE9iamVjdC0+Z2xvYmFsU2NvcGVDaGFpbigpLCBqc2NTb3VyY2Uoc2NyaXB0LCBmaWxl
TmFtZSksIEpTVmFsdWUoKSwgJmV2YWx1YXRpb25FeGNlcHRpb24pOwogICAgICAgICBzdWNjZXNz
ID0gc3VjY2VzcyAmJiAhZXZhbHVhdGlvbkV4Y2VwdGlvbjsKICAgICAgICAgaWYgKGR1bXApIHsK
LSAgICAgICAgICAgIGlmIChldmFsdWF0aW9uRXhjZXB0aW9uKQotICAgICAgICAgICAgICAgIHBy
aW50ZigiRXhjZXB0aW9uOiAlc1xuIiwgZXZhbHVhdGlvbkV4Y2VwdGlvbi50b1N0cmluZyhnbG9i
YWxPYmplY3QtPmdsb2JhbEV4ZWMoKSktPnZhbHVlKGdsb2JhbE9iamVjdC0+Z2xvYmFsRXhlYygp
KS51dGY4KCkuZGF0YSgpKTsKLSAgICAgICAgICAgIGVsc2UKKyAgICAgICAgICAgIGlmICghZXZh
bHVhdGlvbkV4Y2VwdGlvbikKICAgICAgICAgICAgICAgICBwcmludGYoIkVuZDogJXNcbiIsIHJl
dHVyblZhbHVlLnRvU3RyaW5nKGdsb2JhbE9iamVjdC0+Z2xvYmFsRXhlYygpKS0+dmFsdWUoZ2xv
YmFsT2JqZWN0LT5nbG9iYWxFeGVjKCkpLnV0ZjgoKS5kYXRhKCkpOwogICAgICAgICB9CisgICAg
ICAgIGlmIChldmFsdWF0aW9uRXhjZXB0aW9uKSB7CisgICAgICAgICAgICBwcmludGYoIkV4Y2Vw
dGlvbjogJXNcbiIsIGV2YWx1YXRpb25FeGNlcHRpb24udG9TdHJpbmcoZ2xvYmFsT2JqZWN0LT5n
bG9iYWxFeGVjKCkpLT52YWx1ZShnbG9iYWxPYmplY3QtPmdsb2JhbEV4ZWMoKSkudXRmOCgpLmRh
dGEoKSk7CisgICAgICAgICAgICBJZGVudGlmaWVyIHN0YWNrSUQoZ2xvYmFsT2JqZWN0LT5nbG9i
YWxFeGVjKCksICJzdGFjayIpOworICAgICAgICAgICAgSlNWYWx1ZSBzdGFja1ZhbHVlID0gZXZh
bHVhdGlvbkV4Y2VwdGlvbi5nZXQoZ2xvYmFsT2JqZWN0LT5nbG9iYWxFeGVjKCksIHN0YWNrSUQp
OworICAgICAgICAgICAgaWYgKCFzdGFja1ZhbHVlLmlzVW5kZWZpbmVkT3JOdWxsKCkpCisgICAg
ICAgICAgICAgICAgcHJpbnRmKCIlc1xuIiwgc3RhY2tWYWx1ZS50b1N0cmluZyhnbG9iYWxPYmpl
Y3QtPmdsb2JhbEV4ZWMoKSktPnZhbHVlKGdsb2JhbE9iamVjdC0+Z2xvYmFsRXhlYygpKS51dGY4
KCkuZGF0YSgpKTsKKyAgICAgICAgfQogCiAgICAgICAgIGdsb2JhbERhdGEuc3RvcFNhbXBsaW5n
KCk7CiAgICAgICAgIGdsb2JhbE9iamVjdC0+Z2xvYmFsRXhlYygpLT5jbGVhckV4Y2VwdGlvbigp
Owo=
</data>
<flag name="review"
          id="140863"
          type_id="1"
          status="+"
          setter="mitz"
    />
          </attachment>
      

    </bug>

</bugzilla>