<?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>42664</bug_id>
          
          <creation_ts>2010-07-20 14:01:29 -0700</creation_ts>
          <short_desc>Simple lookahead hangs Yarr</short_desc>
          <delta_ts>2010-12-06 14:06:16 -0800</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>PC</rep_platform>
          <op_sys>OS X 10.5</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc>https://bugzilla.mozilla.org/show_bug.cgi?id=576811</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="Oliver Hunt">oliver</reporter>
          <assigned_to name="Michael Saboff">msaboff</assigned_to>
          <cc>ademar</cc>
    
    <cc>commit-queue</cc>
    
    <cc>jwalden+bwo</cc>
    
    <cc>msaboff</cc>
    
    <cc>yael</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>253903</commentid>
    <comment_count>0</comment_count>
    <who name="Oliver Hunt">oliver</who>
    <bug_when>2010-07-20 14:01:29 -0700</bug_when>
    <thetext>From mozilla: https://bugzilla.mozilla.org/show_bug.cgi?id=576811

/(?:(?=x))+/.exec(&quot;x&quot;)

Hangs in JIT code under JSC::Yarr::RegexCodeBlock::execute.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>257870</commentid>
    <comment_count>1</comment_count>
      <attachid>62990</attachid>
    <who name="Michael Saboff">msaboff</who>
    <bug_when>2010-07-29 14:06:58 -0700</bug_when>
    <thetext>Created attachment 62990
Patch to fix hang and add a new regression test.

Added check to jit code to only try to match more if some input was consumed in the current match.

Also added some new test cases to check for regressions.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>257888</commentid>
    <comment_count>2</comment_count>
      <attachid>62990</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2010-07-29 14:33:30 -0700</bug_when>
    <thetext>Comment on attachment 62990
Patch to fix hang and add a new regression test.

Clearing flags on attachment: 62990

Committed r64307: &lt;http://trac.webkit.org/changeset/64307&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>257889</commentid>
    <comment_count>3</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2010-07-29 14:33:34 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>317827</commentid>
    <comment_count>4</comment_count>
    <who name="Yael">yael</who>
    <bug_when>2010-12-06 13:40:10 -0800</bug_when>
    <thetext>Ademar, can you please cherry-pick this to QtWebKit 2.1?
I think it will fix https://qtrequirements.europe.nokia.com/browse/BR-4872 .
thanks!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>317838</commentid>
    <comment_count>5</comment_count>
    <who name="Ademar Reis">ademar</who>
    <bug_when>2010-12-06 14:06:09 -0800</bug_when>
    <thetext>Revision r64307 cherry-picked into qtwebkit-2.1 with commit df5e090 &lt;http://gitorious.org/webkit/qtwebkit/commit/df5e090&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>62990</attachid>
            <date>2010-07-29 14:06:58 -0700</date>
            <delta_ts>2010-07-29 14:33:30 -0700</delta_ts>
            <desc>Patch to fix hang and add a new regression test.</desc>
            <filename>42664.patch</filename>
            <type>text/plain</type>
            <size>5961</size>
            <attacher name="Michael Saboff">msaboff</attacher>
            
              <data encoding="base64">SW5kZXg6IEphdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBKYXZhU2NyaXB0
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDY0MzA0KQorKysgSmF2YVNjcmlwdENvcmUvQ2hhbmdl
TG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMTYgQEAKKzIwMTAtMDctMjkgIE1pY2hhZWwg
U2Fib2ZmICA8bXNhYm9mZkBhcHBsZS5jb20+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZ
IChPT1BTISkuCisKKyAgICAgICAgRml4ZWQgaXNzdWUgd2hlcmUgUmVnRXhwIGdyZWVkeSBqaXQg
Y29kZSBsb29wcyB3aGVuIG5vIGlucHV0IGlzCisgICAgICAgIGNvbnN1bWVkLiAgQ2hhbmdlZCB0
aGUgY29kZSB0byBvbmx5IGxvb3AgaWYgc29tZSBpbnB1dCB3YXMgY29uc3VtZWQsCisgICAgICAg
IGJ1dCBmYWxsIHRocm91Z2ggaWYgd2Ugc3VjY2Vzc2Z1bGx5IG1hdGNoIGFuIGFsdGVybmF0aXZl
IHRoYXQgCisgICAgICAgIGRvZXNuJ3QgY29uc3VtZSBhbnkgaW5wdXQuCisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD00MjY2NAorCisgICAgICAgICogeWFy
ci9SZWdleEpJVC5jcHA6CisgICAgICAgIChKU0M6OllhcnI6OlJlZ2V4R2VuZXJhdG9yOjpnZW5l
cmF0ZVBhcmVudGhlc2VzR3JlZWR5Tm9CYWNrdHJhY2spOgorCiAyMDEwLTA3LTI5ICBHYWJvciBM
b2tpICA8bG9raUB3ZWJraXQub3JnPgogCiAgICAgICAgIFJldmlld2VkIGJ5IEdhdmluIEJhcnJh
Y2xvdWdoLgpJbmRleDogSmF2YVNjcmlwdENvcmUveWFyci9SZWdleEpJVC5jcHAKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gSmF2YVNjcmlwdENvcmUveWFyci9SZWdleEpJVC5jcHAJKHJldmlzaW9uIDY0MzA0KQor
KysgSmF2YVNjcmlwdENvcmUveWFyci9SZWdleEpJVC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTEw
MzIsNiArMTAzMiw5IEBAIGNsYXNzIFJlZ2V4R2VuZXJhdG9yIDogcHJpdmF0ZSBNYWNyb0Fzc2UK
ICAgICAgICAgVGVybUdlbmVyYXRpb25TdGF0ZSBwYXJlbnRoZXNlc1N0YXRlKGRpc2p1bmN0aW9u
LCBzdGF0ZS5jaGVja2VkVG90YWwpOwogCiAgICAgICAgIExhYmVsIG1hdGNoQWdhaW4odGhpcyk7
CisKKyAgICAgICAgc3RvcmVUb0ZyYW1lKGluZGV4LCBwYXJlbnRoZXNlc1Rlcm0uZnJhbWVMb2Nh
dGlvbik7IC8vIFNhdmUgdGhlIGN1cnJlbnQgaW5kZXggdG8gY2hlY2sgZm9yIHplcm8gbGVuIG1h
dGNoZXMgbGF0ZXIuCisKICAgICAgICAgZm9yIChwYXJlbnRoZXNlc1N0YXRlLnJlc2V0QWx0ZXJu
YXRpdmUoKTsgcGFyZW50aGVzZXNTdGF0ZS5hbHRlcm5hdGl2ZVZhbGlkKCk7IHBhcmVudGhlc2Vz
U3RhdGUubmV4dEFsdGVybmF0aXZlKCkpIHsKIAogICAgICAgICAgICAgUGF0dGVybkFsdGVybmF0
aXZlKiBhbHRlcm5hdGl2ZSA9IHBhcmVudGhlc2VzU3RhdGUuYWx0ZXJuYXRpdmUoKTsKQEAgLTEw
NDYsOSArMTA0OSw5IEBAIGNsYXNzIFJlZ2V4R2VuZXJhdG9yIDogcHJpdmF0ZSBNYWNyb0Fzc2UK
ICAgICAgICAgICAgIGZvciAocGFyZW50aGVzZXNTdGF0ZS5yZXNldFRlcm0oKTsgcGFyZW50aGVz
ZXNTdGF0ZS50ZXJtVmFsaWQoKTsgcGFyZW50aGVzZXNTdGF0ZS5uZXh0VGVybSgpKQogICAgICAg
ICAgICAgICAgIGdlbmVyYXRlVGVybShwYXJlbnRoZXNlc1N0YXRlKTsKIAotICAgICAgICAgICAg
Ly8gSWYgd2UgZ2V0IGhlcmUsIHdlIG1hdGNoZWQhIExpbWl0IG5vdCB5ZXQgc3VwcG9ydGVkLCBz
byBqdXN0IHRyeSB0byBtYXRjaCBtb3JlIQotICAgICAgICAgICAganVtcChtYXRjaEFnYWluKTsK
LSAgICAgICAgICAgIAorICAgICAgICAgICAgLy8gSWYgd2UgZ2V0IGhlcmUsIHdlIG1hdGNoZWQh
IElmIHRoZSBpbmRleCBhZHZhbmNlZCB0aGVuIHRyeSB0byBtYXRjaCBtb3JlIHNpbmNlIGxpbWl0
IGlzbid0IHN1cHBvcnRlZCB5ZXQuCisgICAgICAgICAgICBicmFuY2gzMihHcmVhdGVyVGhhbiwg
aW5kZXgsIEFkZHJlc3Moc3RhY2tQb2ludGVyUmVnaXN0ZXIsIChwYXJlbnRoZXNlc1Rlcm0uZnJh
bWVMb2NhdGlvbiAqIHNpemVvZih2b2lkKikpKSwgbWF0Y2hBZ2Fpbik7CisKICAgICAgICAgICAg
IHBhcmVudGhlc2VzU3RhdGUubGlua0FsdGVybmF0aXZlQmFja3RyYWNrcyh0aGlzKTsKICAgICAg
ICAgICAgIC8vIFdlIGdldCBoZXJlIGlmIHRoZSBhbHRlcm5hdGl2ZSBmYWlscyB0byBtYXRjaCAt
IGZhbGwgdGhyb3VnaCB0byB0aGUgbmV4dCBpdGVyYXRpb24sIG9yIG91dCBvZiB0aGUgbG9vcC4K
IApJbmRleDogTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3Rz
L0NoYW5nZUxvZwkocmV2aXNpb24gNjQzMDQpCisrKyBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cJKHdv
cmtpbmcgY29weSkKQEAgLTEsMyArMSwxOSBAQAorMjAxMC0wNy0yOSAgTWljaGFlbCBTYWJvZmYg
IDxtc2Fib2ZmQGFwcGxlLmNvbT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KKworICAgICAgICBBZGRlZCB0ZXN0cyB0byBjb3JyZXNwb25kIHRvIHRoZSBjaGFuZ2VzIG1h
ZGUgaW4gCisgICAgICAgIEphdmFTY3JpcHRDb3JlL3lhcnIvUmVnZXhKSVQuY3BwIHRvIGZpeAor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NDI2NjQuCisg
ICAgICAgIE5vdGUgdGhhdCBzb21lIG9mIHRoZSBuZXcgdGVzdCBjYXNlcyBmYWlsIGR1ZSB0byBv
bmUgb3IgbW9yZSAKKyAgICAgICAgdW5yZWxhdGVkIGJ1Z3MgaW4gdGhlIHBjcmUgaW50ZXJwcmV0
ZXIuICBUaGUgZXhwZWN0ZWQgcmVzdWx0cyAKKyAgICAgICAgZm9yIHRoZXNlIHRlc3RzIHdpbGwg
bmVlZCB0byBiZSB1cGRhdGVkIHdoZW4gdGhlIGltcGxlbWVudGF0aW9uCisgICAgICAgIGNvbmZv
cm1zIHRvIHRoZSBKUyBzdGFuZGFyZC4KKworICAgICAgICAqIGZhc3QvanMvcmVnZXhwLWxvb2st
YWhlYWQtZW1wdHktZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L2pzL3JlZ2V4
cC1sb29rLWFoZWFkLWVtcHR5Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGZhc3QvanMvc2NyaXB0
LXRlc3RzL3JlZ2V4cC1sb29rLWFoZWFkLWVtcHR5LmpzOiBBZGRlZC4KKwogMjAxMC0wNy0yOSAg
QW5kZXJzIENhcmxzc29uICA8YW5kZXJzY2FAYXBwbGUuY29tPgogCiAgICAgICAgIFJldmlld2Vk
IGJ5IFNhbSBXZWluaWcuCkluZGV4OiBMYXlvdXRUZXN0cy9mYXN0L2pzL3JlZ2V4cC1sb29rLWFo
ZWFkLWVtcHR5LWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9mYXN0L2pz
L3JlZ2V4cC1sb29rLWFoZWFkLWVtcHR5LWV4cGVjdGVkLnR4dAkocmV2aXNpb24gMCkKKysrIExh
eW91dFRlc3RzL2Zhc3QvanMvcmVnZXhwLWxvb2stYWhlYWQtZW1wdHktZXhwZWN0ZWQudHh0CShy
ZXZpc2lvbiAwKQpAQCAtMCwwICsxLDE3IEBACitUZXN0IGZvciByZWdyZXNzaW9uIGFnYWluc3Qg
WWFyciBJbnRlcnByZXRlciBpcyBoYW5naW5nIGluIHNvbWUgY2FzZXMgb2YgbG9vay1haGVhZCBy
ZWdleCBwYXR0ZXJucy4gSXQgYWxzbyB0ZXN0cyBzb21lIG90aGVyIHJlbGF0ZWQgZXhwcmVzc2lv
bnMuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2Fn
ZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworCitQQVNTIC8oPzooPz14KSkrLy5l
eGVjKCJ4IikgaXMgWyIiXQorUEFTUyAvKD86YT8pKi8uZXhlYygiYSIpIGlzIFsiYSJdCitQQVNT
IC8oYXxhYikqLy5leGVjKCJhYmFiIikgaXMgWyJhIiwiYSJdCitQQVNTIC8oYWIpKy8uZXhlYygi
YWJhYiIpIGlzIFsiYWJhYiIsImFiIl0KK0ZBSUwgLyh8YWIpKi8uZXhlYygiYWIiKSBzaG91bGQg
YmUgYWIsYWIuIFdhcyAsLgorRkFJTCAvKD86KHxhYikqKS8uZXhlYygiYWIiKSBzaG91bGQgYmUg
YWIsYWIuIFdhcyAsLgorRkFJTCAvKD86KHxhYikrKS8uZXhlYygiYWIiKSBzaG91bGQgYmUgYWIs
YWIuIFdhcyAsLgorRkFJTCAvKHxhYikrLy5leGVjKCJhYmFiIikgc2hvdWxkIGJlIGFiYWIsYWIu
IFdhcyAsLgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRF
CisKSW5kZXg6IExheW91dFRlc3RzL2Zhc3QvanMvcmVnZXhwLWxvb2stYWhlYWQtZW1wdHkuaHRt
bAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9mYXN0L2pzL3JlZ2V4cC1sb29rLWFoZWFkLWVt
cHR5Lmh0bWwJKHJldmlzaW9uIDApCisrKyBMYXlvdXRUZXN0cy9mYXN0L2pzL3JlZ2V4cC1sb29r
LWFoZWFkLWVtcHR5Lmh0bWwJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsMTMgQEAKKzwhRE9DVFlQ
RSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8
bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9InJlc291cmNlcy9qcy10ZXN0LXN0eWxlLmNzcyI+
Cis8c2NyaXB0IHNyYz0icmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVh
ZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj48L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48
L2Rpdj4KKzxzY3JpcHQgc3JjPSJzY3JpcHQtdGVzdHMvcmVnZXhwLWxvb2stYWhlYWQtZW1wdHku
anMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9InJlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwv
c2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpJbmRleDogTGF5b3V0VGVzdHMvZmFzdC9qcy9zY3Jp
cHQtdGVzdHMvcmVnZXhwLWxvb2stYWhlYWQtZW1wdHkuanMKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0
VGVzdHMvZmFzdC9qcy9zY3JpcHQtdGVzdHMvcmVnZXhwLWxvb2stYWhlYWQtZW1wdHkuanMJKHJl
dmlzaW9uIDApCisrKyBMYXlvdXRUZXN0cy9mYXN0L2pzL3NjcmlwdC10ZXN0cy9yZWdleHAtbG9v
ay1haGVhZC1lbXB0eS5qcwkocmV2aXNpb24gMCkKQEAgLTAsMCArMSwxNSBAQAorZGVzY3JpcHRp
b24oCisnVGVzdCBmb3IgcmVncmVzc2lvbiBhZ2FpbnN0IDxhIGhyZWY9Imh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD00MjY2NCI+WWFyciBJbnRlcnByZXRlciBpcyBoYW5n
aW5nIGluIHNvbWUgY2FzZXMgb2YgbG9vay1haGVhZCByZWdleCBwYXR0ZXJuczwvYT4uICBJdCBh
bHNvIHRlc3RzIHNvbWUgb3RoZXIgcmVsYXRlZCBleHByZXNzaW9ucy4nCispOworCitzaG91bGRC
ZSgnLyg/Oig/PXgpKSsvLmV4ZWMoIngiKScsICdbIiJdJyk7CitzaG91bGRCZSgnLyg/OmE/KSov
LmV4ZWMoImEiKScsICdbImEiXScpOworc2hvdWxkQmUoJy8oYXxhYikqLy5leGVjKCJhYmFiIikn
LCAnWyJhIiwiYSJdJyk7CitzaG91bGRCZSgnLyhhYikrLy5leGVjKCJhYmFiIiknLCAnWyJhYmFi
IiwiYWIiXScpOworLy8gVGhlIGZvbGxvd2luZyB0ZXN0cyBmYWlsIGJlY2F1c2Ugb2YgcGNyZSBp
bnRlcnByZXRlciBidWcocykuCitzaG91bGRCZSgnLyh8YWIpKi8uZXhlYygiYWIiKScsICdbImFi
IiwiYWIiXScpOworc2hvdWxkQmUoJy8oPzoofGFiKSopLy5leGVjKCJhYiIpJywgJ1siYWIiLCJh
YiJdJyk7CitzaG91bGRCZSgnLyg/Oih8YWIpKykvLmV4ZWMoImFiIiknLCAnWyJhYiIsImFiIl0n
KTsKK3Nob3VsZEJlKCcvKHxhYikrLy5leGVjKCJhYmFiIiknLCAnWyJhYmFiIiwiYWIiXScpOwor
Cit2YXIgc3VjY2Vzc2Z1bGx5UGFyc2VkID0gdHJ1ZTsK
</data>

          </attachment>
      

    </bug>

</bugzilla>