<?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>60846</bug_id>
          
          <creation_ts>2011-05-14 13:50:20 -0700</creation_ts>
          <short_desc>ASSERT(isMainThread()) when using single threaded jsc executable</short_desc>
          <delta_ts>2011-05-26 13:33:18 -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>
          
          <blocked>55728</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Patrick R. Gansterer">paroga</reporter>
          <assigned_to name="Patrick R. Gansterer">paroga</assigned_to>
          <cc>abarth</cc>
    
    <cc>ademar</cc>
    
    <cc>ap</cc>
    
    <cc>barraclough</cc>
    
    <cc>commit-queue</cc>
    
    <cc>ggaren</cc>
    
    <cc>levin</cc>
    
    <cc>michaeln</cc>
    
    <cc>oliver</cc>
    
    <cc>sam</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>404113</commentid>
    <comment_count>0</comment_count>
    <who name="Patrick R. Gansterer">paroga</who>
    <bug_when>2011-05-14 13:50:20 -0700</bug_when>
    <thetext>When I run ./jsc i get the following stack trace:

#0  0x00000000005a6b2f in WTF::(anonymous namespace)::ARC4RandomNumberGenerator::randomNumber (this=0xa23910) at ../Source/JavaScriptCore/wtf/CryptographicallyRandomNumber.cpp:146
#1  0x00000000005a6cca in WTF::cryptographicallyRandomNumber () at ../Source/JavaScriptCore/wtf/CryptographicallyRandomNumber.cpp:181
#2  0x00000000004fa709 in WTF::randomNumber () at ../Source/JavaScriptCore/wtf/RandomNumber.cpp:57
#3  0x0000000000415531 in JSC::JSGlobalObject::JSGlobalObject (this=0x7fffad8cc150, globalData=...) at ../Source/JavaScriptCore/runtime/JSGlobalObject.h:124
#4  0x000000000040e4b0 in GlobalObject::GlobalObject (this=0x7fffad8cc150, globalData=..., arguments=...) at ../Source/JavaScriptCore/jsc.cpp:151
#5  0x00000000004109f2 in jscmain (argc=1, argv=0x7fffffffe218, globalData=0xa1be20) at ../Source/JavaScriptCore/jsc.cpp:540
#6  0x000000000040fb27 in main (argc=1, argv=0x7fffffffe218) at ../Source/JavaScriptCore/jsc.cpp:359</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>404144</commentid>
    <comment_count>1</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2011-05-14 22:12:43 -0700</bug_when>
    <thetext>Main thread is largely a WebCore concept, and the few instances of it in WTF are strictly for WebCore use. This is a unique use of it in JSC, and should probably be eliminated. Thoughts?

Different ports have different requirements on how JavaScriptCore API can be used. On Mac OS X, there is no requirement that the main thread is registered somehow, or that the first use of the API is from main thread. Also on Mac OS X, there is a system notion of main thread anyway, exposed via pthread_main_np().</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>404147</commentid>
    <comment_count>2</comment_count>
    <who name="Adam Barth">abarth</who>
    <bug_when>2011-05-14 23:23:32 -0700</bug_when>
    <thetext>Why does the API exist in wtf if it doesn&apos;t make sense?  In any case, feel free to remove the assert.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>404148</commentid>
    <comment_count>3</comment_count>
    <who name="Patrick R. Gansterer">paroga</who>
    <bug_when>2011-05-15 00:05:16 -0700</bug_when>
    <thetext>(In reply to comment #2)
&gt; Why does the API exist in wtf if it doesn&apos;t make sense?

BTW: this the only dependency of JSC on linux to a window framework. When we remove MainThread from WTF/JSC libjavascriptcore.so can be compiled for &quot;linux&quot; and not for e.g. &quot;gtk linux&quot;, &quot;qt linux&quot;.

&gt; In any case, feel free to remove the assert.
Are you sure it&apos;s safe to remove only the assert??? IMHO we need to use the Mutex all the time.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>404149</commentid>
    <comment_count>4</comment_count>
      <attachid>93575</attachid>
    <who name="Patrick R. Gansterer">paroga</who>
    <bug_when>2011-05-15 00:20:01 -0700</bug_when>
    <thetext>Created attachment 93575
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>404169</commentid>
    <comment_count>5</comment_count>
      <attachid>93575</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2011-05-15 08:23:17 -0700</bug_when>
    <thetext>Comment on attachment 93575
Patch

We don&apos;t need the mutex if WTF_MULTIPLE_THREADS isn&apos;t defined.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>404170</commentid>
    <comment_count>6</comment_count>
    <who name="Patrick R. Gansterer">paroga</who>
    <bug_when>2011-05-15 08:25:09 -0700</bug_when>
    <thetext>(In reply to comment #5)
&gt; (From update of attachment 93575 [details])
&gt; We don&apos;t need the mutex if WTF_MULTIPLE_THREADS isn&apos;t defined.

Can we ensure that the embedding app don&apos;t call randomNumber() while running JSC? Does the API forbid such calls?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>404171</commentid>
    <comment_count>7</comment_count>
      <attachid>93580</attachid>
    <who name="Patrick R. Gansterer">paroga</who>
    <bug_when>2011-05-15 08:29:11 -0700</bug_when>
    <thetext>Created attachment 93580
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>404173</commentid>
    <comment_count>8</comment_count>
      <attachid>93580</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2011-05-15 08:47:06 -0700</bug_when>
    <thetext>Comment on attachment 93580
Patch

Lots of stuff in WTF requires WTF_MULTIPLE_THREADS to be thread-safe.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>410120</commentid>
    <comment_count>9</comment_count>
    <who name="Michael Nordman">michaeln</who>
    <bug_when>2011-05-25 19:04:06 -0700</bug_when>
    <thetext>Is there a reason to not land this patch?

There&apos;s a case where we trip on this assertion w/o it being a real problem.
https://bugs.webkit.org/show_bug.cgi?id=55728

After seeing the r+ on Patrick&apos;s patch here, I thought that problem was solved, but this is not committed yet. Is there a reason for that or would it be OK if I land it?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>410278</commentid>
    <comment_count>10</comment_count>
      <attachid>93580</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2011-05-26 01:08:44 -0700</bug_when>
    <thetext>Comment on attachment 93580
Patch

Clearing flags on attachment: 93580

Committed r87369: &lt;http://trac.webkit.org/changeset/87369&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>410279</commentid>
    <comment_count>11</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2011-05-26 01:08:49 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>410476</commentid>
    <comment_count>12</comment_count>
    <who name="Ademar Reis">ademar</who>
    <bug_when>2011-05-26 08:58:20 -0700</bug_when>
    <thetext>Revision r87369 cherry-picked into qtwebkit-2.2 with commit ef13621 &lt;http://gitorious.org/webkit/qtwebkit/commit/ef13621&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>410780</commentid>
    <comment_count>13</comment_count>
    <who name="Michael Nordman">michaeln</who>
    <bug_when>2011-05-26 13:33:18 -0700</bug_when>
    <thetext>Thank you!</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>93575</attachid>
            <date>2011-05-15 00:20:01 -0700</date>
            <delta_ts>2011-05-15 08:29:02 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-60846-20110515091958.patch</filename>
            <type>text/plain</type>
            <size>2089</size>
            <attacher name="Patrick R. Gansterer">paroga</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogODY1MDIKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQ2hhbmdlTG9nCmluZGV4IDcw
YzFkNzFiMjRmN2I1ZDNmMDFiZGM2MjNjNWYyYzRlMGY4NzM5NTIuLjYyMWIzY2I1MWIxYzQ3MDFi
ZmExMjlhYTVhYzdmMDU1Mzc4NjEyYzAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwpAQCAtMSwz
ICsxLDE3IEBACisyMDExLTA1LTE1ICBQYXRyaWNrIEdhbnN0ZXJlciAgPHBhcm9nYUB3ZWJraXQu
b3JnPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFT
U0VSVChpc01haW5UaHJlYWQoKSkgd2hlbiB1c2luZyBzaW5nbGUgdGhyZWFkZWQganNjIGV4ZWN1
dGFibGUKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTYw
ODQ2CisKKyAgICAgICAgUmVtb3ZlIHRoZSBBU1NFUlQgYW5kIHVzZSBhIE11dGV4IGFsbCB0aGUg
dGltZS4KKyAgICAgICAgVGhlcmUgaXMgbm8gcmVhc29uIHRvIHVzZSByYW5kb21OdW1lcigpIG9u
bHkgZnJvbSBNYWluVGhyZWFkLgorCisgICAgICAgICogd3RmL0NyeXB0b2dyYXBoaWNhbGx5UmFu
ZG9tTnVtYmVyLmNwcDoKKyAgICAgICAgKFdURjo6QVJDNFN0cmVhbTo6QVJDNFJhbmRvbU51bWJl
ckdlbmVyYXRvcjo6cmFuZG9tTnVtYmVyKToKKyAgICAgICAgKFdURjo6QVJDNFN0cmVhbTo6QVJD
NFJhbmRvbU51bWJlckdlbmVyYXRvcjo6cmFuZG9tVmFsdWVzKToKKwogMjAxMS0wNS0xMyAgT2xp
dmVyIEh1bnQgIDxvbGl2ZXJAYXBwbGUuY29tPgogCiAgICAgICAgIFJldmlld2VkIGJ5IEdlb2Zm
cmV5IEdhcmVuLgpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3d0Zi9DcnlwdG9n
cmFwaGljYWxseVJhbmRvbU51bWJlci5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd3RmL0Ny
eXB0b2dyYXBoaWNhbGx5UmFuZG9tTnVtYmVyLmNwcAppbmRleCBlZjA5N2FiMDljNDczYTY3NTEw
NDZhNzE4Njk1ODNiZTllZjVkYTU4Li4zYzQxZTUwNDc0ODJlZTNhNjk3MGQzNDdkOWIwZWQxMjNk
ZGQ0Y2IwIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd3RmL0NyeXB0b2dyYXBo
aWNhbGx5UmFuZG9tTnVtYmVyLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd3RmL0Ny
eXB0b2dyYXBoaWNhbGx5UmFuZG9tTnVtYmVyLmNwcApAQCAtNjYsOSArNjYsNyBAQCBwcml2YXRl
OgogCiAgICAgQVJDNFN0cmVhbSBtX3N0cmVhbTsKICAgICBpbnQgbV9jb3VudDsKLSNpZiBFTkFC
TEUoV1RGX01VTFRJUExFX1RIUkVBRFMpCiAgICAgTXV0ZXggbV9tdXRleDsKLSNlbmRpZgogfTsK
IAogQVJDNFN0cmVhbTo6QVJDNFN0cmVhbSgpCkBAIC0xNDAsMTEgKzEzOCw3IEBAIHVpbnQzMl90
IEFSQzRSYW5kb21OdW1iZXJHZW5lcmF0b3I6OmdldFdvcmQoKQogCiB1aW50MzJfdCBBUkM0UmFu
ZG9tTnVtYmVyR2VuZXJhdG9yOjpyYW5kb21OdW1iZXIoKQogewotI2lmIEVOQUJMRShXVEZfTVVM
VElQTEVfVEhSRUFEUykKICAgICBNdXRleExvY2tlciBsb2NrZXIobV9tdXRleCk7Ci0jZWxzZQot
ICAgIEFTU0VSVChpc01haW5UaHJlYWQoKSk7Ci0jZW5kaWYKIAogICAgIG1fY291bnQgLT0gNDsK
ICAgICBzdGlySWZOZWVkZWQoKTsKQEAgLTE1MywxMSArMTQ3LDcgQEAgdWludDMyX3QgQVJDNFJh
bmRvbU51bWJlckdlbmVyYXRvcjo6cmFuZG9tTnVtYmVyKCkKIAogdm9pZCBBUkM0UmFuZG9tTnVt
YmVyR2VuZXJhdG9yOjpyYW5kb21WYWx1ZXModm9pZCogYnVmZmVyLCBzaXplX3QgbGVuZ3RoKQog
ewotI2lmIEVOQUJMRShXVEZfTVVMVElQTEVfVEhSRUFEUykKICAgICBNdXRleExvY2tlciBsb2Nr
ZXIobV9tdXRleCk7Ci0jZWxzZQotICAgIEFTU0VSVChpc01haW5UaHJlYWQoKSk7Ci0jZW5kaWYK
IAogICAgIHVuc2lnbmVkIGNoYXIqIHJlc3VsdCA9IHJlaW50ZXJwcmV0X2Nhc3Q8dW5zaWduZWQg
Y2hhcio+KGJ1ZmZlcik7CiAgICAgc3RpcklmTmVlZGVkKCk7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>93580</attachid>
            <date>2011-05-15 08:29:11 -0700</date>
            <delta_ts>2011-05-26 01:08:43 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-60846-20110515172908.patch</filename>
            <type>text/plain</type>
            <size>1729</size>
            <attacher name="Patrick R. Gansterer">paroga</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogODY1MDIKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQ2hhbmdlTG9nCmluZGV4IDcw
YzFkNzFiMjRmN2I1ZDNmMDFiZGM2MjNjNWYyYzRlMGY4NzM5NTIuLjUxODAwYjM2MTlhZWIyYzU2
ZWUwMjFkNGJkNzM5MGYwYjc1NmQxMjUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwpAQCAtMSwz
ICsxLDE2IEBACisyMDExLTA1LTE1ICBQYXRyaWNrIEdhbnN0ZXJlciAgPHBhcm9nYUB3ZWJraXQu
b3JnPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFT
U0VSVChpc01haW5UaHJlYWQoKSkgd2hlbiB1c2luZyBzaW5nbGUgdGhyZWFkZWQganNjIGV4ZWN1
dGFibGUKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTYw
ODQ2CisKKyAgICAgICAgUmVtb3ZlIHRoZSBBU1NFUlQgc2luY2Ugd2UgZG8gbm90IGhhdmUgdGhl
IGNvbmNlcHQgb2YgTWFpblRocmVhZCBpbiBKU0MuCisKKyAgICAgICAgKiB3dGYvQ3J5cHRvZ3Jh
cGhpY2FsbHlSYW5kb21OdW1iZXIuY3BwOgorICAgICAgICAoV1RGOjpBUkM0U3RyZWFtOjpBUkM0
UmFuZG9tTnVtYmVyR2VuZXJhdG9yOjpyYW5kb21OdW1iZXIpOgorICAgICAgICAoV1RGOjpBUkM0
U3RyZWFtOjpBUkM0UmFuZG9tTnVtYmVyR2VuZXJhdG9yOjpyYW5kb21WYWx1ZXMpOgorCiAyMDEx
LTA1LTEzICBPbGl2ZXIgSHVudCAgPG9saXZlckBhcHBsZS5jb20+CiAKICAgICAgICAgUmV2aWV3
ZWQgYnkgR2VvZmZyZXkgR2FyZW4uCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
d3RmL0NyeXB0b2dyYXBoaWNhbGx5UmFuZG9tTnVtYmVyLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS93dGYvQ3J5cHRvZ3JhcGhpY2FsbHlSYW5kb21OdW1iZXIuY3BwCmluZGV4IGVmMDk3YWIw
OWM0NzNhNjc1MTA0NmE3MTg2OTU4M2JlOWVmNWRhNTguLmFkOGU3MTZjNTEyYjE2ODM5MjMxZDIz
ODMyYzI2MDdiOWY0MmQzMGEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93dGYv
Q3J5cHRvZ3JhcGhpY2FsbHlSYW5kb21OdW1iZXIuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS93dGYvQ3J5cHRvZ3JhcGhpY2FsbHlSYW5kb21OdW1iZXIuY3BwCkBAIC0xNDIsOCArMTQy
LDYgQEAgdWludDMyX3QgQVJDNFJhbmRvbU51bWJlckdlbmVyYXRvcjo6cmFuZG9tTnVtYmVyKCkK
IHsKICNpZiBFTkFCTEUoV1RGX01VTFRJUExFX1RIUkVBRFMpCiAgICAgTXV0ZXhMb2NrZXIgbG9j
a2VyKG1fbXV0ZXgpOwotI2Vsc2UKLSAgICBBU1NFUlQoaXNNYWluVGhyZWFkKCkpOwogI2VuZGlm
CiAKICAgICBtX2NvdW50IC09IDQ7CkBAIC0xNTUsOCArMTUzLDYgQEAgdm9pZCBBUkM0UmFuZG9t
TnVtYmVyR2VuZXJhdG9yOjpyYW5kb21WYWx1ZXModm9pZCogYnVmZmVyLCBzaXplX3QgbGVuZ3Ro
KQogewogI2lmIEVOQUJMRShXVEZfTVVMVElQTEVfVEhSRUFEUykKICAgICBNdXRleExvY2tlciBs
b2NrZXIobV9tdXRleCk7Ci0jZWxzZQotICAgIEFTU0VSVChpc01haW5UaHJlYWQoKSk7CiAjZW5k
aWYKIAogICAgIHVuc2lnbmVkIGNoYXIqIHJlc3VsdCA9IHJlaW50ZXJwcmV0X2Nhc3Q8dW5zaWdu
ZWQgY2hhcio+KGJ1ZmZlcik7Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>