<?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>158149</bug_id>
          
          <creation_ts>2016-05-27 01:49:14 -0700</creation_ts>
          <short_desc>[GTK] ASSERTION_FAILED: m_key != PTHREAD_KEYS_MAX when defining WEBKIT2_PAUSE_WEB_PROCESS_ON_LAUNCH</short_desc>
          <delta_ts>2016-07-04 00:35:38 -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>WebKitGTK</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</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="Sergio Villar Senin">svillar</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>bugs-noreply</cc>
    
    <cc>cgarcia</cc>
    
    <cc>commit-queue</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1197016</commentid>
    <comment_count>0</comment_count>
    <who name="Sergio Villar Senin">svillar</who>
    <bug_when>2016-05-27 01:49:14 -0700</bug_when>
    <thetext>Whenever WEBKIT2_PAUSE_WEB_PROCESS_ON_LAUNCH is defined in order to pause the web process it crashes. Looks like when WTF::sleep is called the threading system is not properly initialized.

I remember that we recently changed the order in which wk and the platform are initialized, perhaps it&apos;s related to that.

Now the backtrace:
ASSERTION FAILED: m_key != PTHREAD_KEYS_MAX
../../Source/WTF/wtf/ThreadIdentifierDataPthreads.cpp(65) : static WTF::ThreadIdentifier WTF::ThreadIdentifierData::identifier()
1   0x7fbc0d6b5cfb ~/projects/WebKit/WebKitBuild/Debug/lib/libjavascriptcoregtk-4.0.so.18(WTFCrash+0x1e) [0x7fbc0d6b5cfb]
2   0x7fbc0d7111aa ~/projects/WebKit/WebKitBuild/Debug/lib/libjavascriptcoregtk-4.0.so.18(_ZN3WTF20ThreadIdentifierData10identifierEv+0x3c) [0x7fbc0d7111aa]
3   0x7fbc0d70607e ~/projects/WebKit/WebKitBuild/Debug/lib/libjavascriptcoregtk-4.0.so.18(_ZN3WTF13currentThreadEv+0xd) [0x7fbc0d70607e]
4   0x7fbc0d6ca4d6 ~/projects/WebKit/WebKitBuild/Debug/lib/libjavascriptcoregtk-4.0.so.18(+0x21a74d6) [0x7fbc0d6ca4d6]
5   0x7fbc0d6cb990 ~/projects/WebKit/WebKitBuild/Debug/lib/libjavascriptcoregtk-4.0.so.18(+0x21a8990) [0x7fbc0d6cb990]
6   0x7fbc0d6ca655 ~/projects/WebKit/WebKitBuild/Debug/lib/libjavascriptcoregtk-4.0.so.18(+0x21a7655) [0x7fbc0d6ca655]
7   0x7fbc0d6ca70f ~/projects/WebKit/WebKitBuild/Debug/lib/libjavascriptcoregtk-4.0.so.18(_ZN3WTF10ParkingLot21parkConditionallyImplEPKvSt8functionIFbvEES3_IFvvEENSt6chrono10time_pointINS8_3_V212steady_clockENS8_8durationIlSt5ratioILl1ELl1000000000EEEEEE+0x2d) [0x7fbc0d6ca70f]
8   0x7fbc13a1f048 ~/projects/WebKit/WebKitBuild/Debug/lib/libwebkit2gtk-4.0.so.37(_ZN3WTF10ParkingLot17parkConditionallyIZNS_13ConditionBase9waitUntilINS_4LockEEEbRT_NSt6chrono10time_pointINS7_3_V212steady_clockENS7_8durationIlSt5ratioILl1ELl1000000000EEEEEEEUlvE_ZNS3_IS4_EEbS6_SF_EUlvE0_EEbPKvOS5_OT0_SF_+0x6d) [0x7fbc13a1f048]
9   0x7fbc13a1dd42 ~/projects/WebKit/WebKitBuild/Debug/lib/libwebkit2gtk-4.0.so.37(_ZN3WTF13ConditionBase9waitUntilINS_4LockEEEbRT_NSt6chrono10time_pointINS5_3_V212steady_clockENS5_8durationIlSt5ratioILl1ELl1000000000EEEEEE+0x6e) [0x7fbc13a1dd42]
10  0x7fbc13a1c5d3 ~/projects/WebKit/WebKitBuild/Debug/lib/libwebkit2gtk-4.0.so.37(_ZN3WTF13ConditionBase11waitForImplINS_4LockENSt6chrono8durationIlSt5ratioILl1ELl1000000000EEEEEEbRT_RKT0_+0x3d) [0x7fbc13a1c5d3]
11  0x7fbc13a1a2d7 ~/projects/WebKit/WebKitBuild/Debug/lib/libwebkit2gtk-4.0.so.37(_ZN3WTF13ConditionBase18waitForSecondsImplINS_4LockEEEbRT_d+0xd1) [0x7fbc13a1a2d7]
12  0x7fbc0d6b8e5c ~/projects/WebKit/WebKitBuild/Debug/lib/libjavascriptcoregtk-4.0.so.18(_ZN3WTF13ConditionBase30waitUntilMonotonicClockSecondsINS_4LockEEEbRT_d+0x3a) [0x7fbc0d6b8e5c]
13  0x7fbc0d6b8df2 ~/projects/WebKit/WebKitBuild/Debug/lib/libjavascriptcoregtk-4.0.so.18(_ZN3WTF5sleepEd+0x56) [0x7fbc0d6b8df2]
14  0x7fbc138d6dac ~/projects/WebKit/WebKitBuild/Debug/lib/libwebkit2gtk-4.0.so.37(_ZN6WebKit14WebProcessMain18platformInitializeEv+0x3a) [0x7fbc138d6dac]
15  0x7fbc138d6ebd ~/projects/WebKit/WebKitBuild/Debug/lib/libwebkit2gtk-4.0.so.37(_ZN6WebKit16ChildProcessMainINS_10WebProcessENS_14WebProcessMainEEEiiPPc+0x28) [0x7fbc138d6ebd]
16  0x7fbc138d6d70 ~/projects/WebKit/WebKitBuild/Debug/lib/libwebkit2gtk-4.0.so.37(WebProcessMainUnix+0x20) [0x7fbc138d6d70]
17  0x400bfa ~/projects/WebKit/WebKitBuild/Debug/bin/WebKitWebProcess(main+0x34) [0x400bfa]
18  0x7fbc0291e870 /lib/x86_64-linux-gnu/libc.so.6(__libc_start_main+0xf0) [0x7fbc0291e870]
19  0x400af9 ~/projects/WebKit/WebKitBuild/Debug/bin/WebKitWebProcess(_start+0x29) [0x400af9]</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1197018</commentid>
    <comment_count>1</comment_count>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2016-05-27 01:55:57 -0700</bug_when>
    <thetext>Yes, this is what I tried to fix in #156622, WTF::sleep requires the threading to be initialized, but it&apos;s initlized after the sleep. Before WTF::sleep was added, we used the c sleep instead. I don&apos;t know how to disambiguate it. Maybe we could simply use g_usleep</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1207025</commentid>
    <comment_count>2</comment_count>
      <attachid>282522</attachid>
    <who name="Fujii Hironori">fujii</who>
    <bug_when>2016-07-01 01:07:18 -0700</bug_when>
    <thetext>Created attachment 282522
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1207093</commentid>
    <comment_count>3</comment_count>
      <attachid>282522</attachid>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2016-07-01 06:23:17 -0700</bug_when>
    <thetext>Comment on attachment 282522
Patch

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

Thanks!

&gt; Source/WebKit2/WebProcess/gtk/WebProcessMainGtk.cpp:52
&gt; -            WTF::sleep(30);
&gt; +            g_usleep(30 * 1000 * 1000);

Yes, this is what I do locally every time I need it, and then always forget to create a patch after the debugging. But please, use the  G_USEC_PER_SEC  macros instead of 1000 * 1000.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1207095</commentid>
    <comment_count>4</comment_count>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2016-07-01 06:24:00 -0700</bug_when>
    <thetext>*** Bug 156622 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1207581</commentid>
    <comment_count>5</comment_count>
      <attachid>282684</attachid>
    <who name="Fujii Hironori">fujii</who>
    <bug_when>2016-07-03 23:57:27 -0700</bug_when>
    <thetext>Created attachment 282684
Patch

Thank you for review. I created a new patch with Please. Could your review again?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1207591</commentid>
    <comment_count>6</comment_count>
      <attachid>282684</attachid>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2016-07-04 00:14:00 -0700</bug_when>
    <thetext>Comment on attachment 282684
Patch

Thanks!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1207602</commentid>
    <comment_count>7</comment_count>
      <attachid>282684</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2016-07-04 00:35:34 -0700</bug_when>
    <thetext>Comment on attachment 282684
Patch

Clearing flags on attachment: 282684

Committed r202801: &lt;http://trac.webkit.org/changeset/202801&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1207603</commentid>
    <comment_count>8</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2016-07-04 00:35:38 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>282522</attachid>
            <date>2016-07-01 01:07:18 -0700</date>
            <delta_ts>2016-07-03 23:57:21 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-158149-20160701040655.patch</filename>
            <type>text/plain</type>
            <size>1453</size>
            <attacher name="Fujii Hironori">fujii</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjAyNzIzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggNWNhNjIxNWVjYjA3NzM0
ZDNiYmQxMGI2MDBlNTIwZjNjNjUxNjliNC4uOGYwNDczNmZiMjM1NmJiNTU4MjM4ZGNlZDE2NTE0
MmRlM2FiOTEwNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE1IEBACisyMDE2LTA3LTAxICBGdWpp
aSBIaXJvbm9yaSAgPEhpcm9ub3JpLkZ1amlpQHNvbnkuY29tPgorCisgICAgICAgIFtHVEtdIEFT
U0VSVElPTl9GQUlMRUQ6IG1fa2V5ICE9IFBUSFJFQURfS0VZU19NQVggd2hlbiBkZWZpbmluZyBX
RUJLSVQyX1BBVVNFX1dFQl9QUk9DRVNTX09OX0xBVU5DSAorICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTU4MTQ5CisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
Tk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgV1RGOjpzbGVlcCBjYW4gbm90IGJlIHVzZWQgYXQg
dGhlIGJlZ2lubmluZyBvZiB3ZWIgcHJvY2VzcyBiZWNhdXNlCisgICAgICAgIFdURiBpcyBub3Qg
aW5pdGlhbGl6ZWQgYXQgdGhlIG1vbWVudCB5ZXQuCisKKyAgICAgICAgKiBXZWJQcm9jZXNzL2d0
ay9XZWJQcm9jZXNzTWFpbkd0ay5jcHA6IFVzZSBnX3VzbGVlcCBpbnN0ZWFkIG9mIFdURjo6c2xl
ZXAuCisKIDIwMTYtMDYtMzAgIENocmlzIER1bWV6ICA8Y2R1bWV6QGFwcGxlLmNvbT4KIAogICAg
ICAgICBbaU9TXSBXZWJDb250ZW50IHByb2Nlc3NlcyBkbyBub3QgZXhpdCBwcm9tcHRseQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9ndGsvV2ViUHJvY2Vzc01haW5HdGsu
Y3BwIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9ndGsvV2ViUHJvY2Vzc01haW5HdGsuY3Bw
CmluZGV4IDg5NzU0OTg2Y2ZkYTE3OWQ0ODYyYjdmYzU4M2JiYTM2NzhlNjI1NzMuLmQ4OTYzMTNj
NmNjOGQwODIxNjE4NzAxYzQxNTQzNmNhZWJhYzhjMTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQyL1dlYlByb2Nlc3MvZ3RrL1dlYlByb2Nlc3NNYWluR3RrLmNwcAorKysgYi9Tb3VyY2UvV2Vi
S2l0Mi9XZWJQcm9jZXNzL2d0ay9XZWJQcm9jZXNzTWFpbkd0ay5jcHAKQEAgLTQ5LDcgKzQ5LDcg
QEAgcHVibGljOgogICAgIHsKICNpZm5kZWYgTkRFQlVHCiAgICAgICAgIGlmIChnX2dldGVudigi
V0VCS0lUMl9QQVVTRV9XRUJfUFJPQ0VTU19PTl9MQVVOQ0giKSkKLSAgICAgICAgICAgIFdURjo6
c2xlZXAoMzApOworICAgICAgICAgICAgZ191c2xlZXAoMzAgKiAxMDAwICogMTAwMCk7CiAjZW5k
aWYKIAogI2lmIChVU0UoQ09PUkRJTkFURURfR1JBUEhJQ1NfVEhSRUFERUQpIHx8IFVTRShHU1RS
RUFNRVJfR0wpKSAmJiBQTEFURk9STShYMTEpCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>282684</attachid>
            <date>2016-07-03 23:57:27 -0700</date>
            <delta_ts>2016-07-04 00:35:34 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-158149-20160704025659.patch</filename>
            <type>text/plain</type>
            <size>1436</size>
            <attacher name="Fujii Hironori">fujii</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjAyNzk3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggZDE3ZmE2N2FmMmEzOGMw
OWY4Zjk4MmFkZjI3YjFjMmM4NDVmYTQzMi4uZDdjYTFiNjZmYTg0NWM4ZjE3NTE3YjBjYTQ2NjU5
YmE5MGU2N2VhNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE1IEBACisyMDE2LTA3LTAzICBGdWpp
aSBIaXJvbm9yaSAgPEhpcm9ub3JpLkZ1amlpQHNvbnkuY29tPgorCisgICAgICAgIFtHVEtdIEFT
U0VSVElPTl9GQUlMRUQ6IG1fa2V5ICE9IFBUSFJFQURfS0VZU19NQVggd2hlbiBkZWZpbmluZyBX
RUJLSVQyX1BBVVNFX1dFQl9QUk9DRVNTX09OX0xBVU5DSAorICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTU4MTQ5CisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
Q2FybG9zIEdhcmNpYSBDYW1wb3MuCisKKyAgICAgICAgV1RGOjpzbGVlcCBjYW4gbm90IGJlIHVz
ZWQgYXQgdGhlIGJlZ2lubmluZyBvZiB3ZWIgcHJvY2VzcyBiZWNhdXNlCisgICAgICAgIFdURiBp
cyBub3QgaW5pdGlhbGl6ZWQgYXQgdGhlIG1vbWVudCB5ZXQuCisKKyAgICAgICAgKiBXZWJQcm9j
ZXNzL2d0ay9XZWJQcm9jZXNzTWFpbkd0ay5jcHA6IFVzZSBnX3VzbGVlcCBpbnN0ZWFkIG9mIFdU
Rjo6c2xlZXAuCisKIDIwMTYtMDctMDMgIERhbiBCZXJuc3RlaW4gIDxtaXR6QGFwcGxlLmNvbT4K
IAogICAgICAgICBGb2xsb3ctdXAgdG8gcjIwMjc4OS4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQyL1dlYlByb2Nlc3MvZ3RrL1dlYlByb2Nlc3NNYWluR3RrLmNwcCBiL1NvdXJjZS9XZWJLaXQy
L1dlYlByb2Nlc3MvZ3RrL1dlYlByb2Nlc3NNYWluR3RrLmNwcAppbmRleCA4OTc1NDk4NmNmZGEx
NzlkNDg2MmI3ZmM1ODNiYmEzNjc4ZTYyNTczLi45YWNhNjM4OGMyZjBlNzYwMmQ3NGYxNmRlMGM3
MWJjOTczZjJiZGJlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL2d0ay9X
ZWJQcm9jZXNzTWFpbkd0ay5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9ndGsv
V2ViUHJvY2Vzc01haW5HdGsuY3BwCkBAIC00OSw3ICs0OSw3IEBAIHB1YmxpYzoKICAgICB7CiAj
aWZuZGVmIE5ERUJVRwogICAgICAgICBpZiAoZ19nZXRlbnYoIldFQktJVDJfUEFVU0VfV0VCX1BS
T0NFU1NfT05fTEFVTkNIIikpCi0gICAgICAgICAgICBXVEY6OnNsZWVwKDMwKTsKKyAgICAgICAg
ICAgIGdfdXNsZWVwKDMwICogR19VU0VDX1BFUl9TRUMpOwogI2VuZGlmCiAKICNpZiAoVVNFKENP
T1JESU5BVEVEX0dSQVBISUNTX1RIUkVBREVEKSB8fCBVU0UoR1NUUkVBTUVSX0dMKSkgJiYgUExB
VEZPUk0oWDExKQo=
</data>

          </attachment>
      

    </bug>

</bugzilla>