<?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>160140</bug_id>
          
          <creation_ts>2016-07-23 20:13:47 -0700</creation_ts>
          <short_desc>[iOS] Make sure we call the ProcessAssertion invalidation handler on the main thread</short_desc>
          <delta_ts>2016-07-25 09:58:35 -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>WebKit2</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>iPhone / iPad</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>InRadar</keywords>
          <priority>P1</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Chris Dumez">cdumez</reporter>
          <assigned_to name="Chris Dumez">cdumez</assigned_to>
          <cc>andersca</cc>
    
    <cc>barraclough</cc>
    
    <cc>ddkilzer</cc>
    
    <cc>sam</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1214006</commentid>
    <comment_count>0</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2016-07-23 20:13:47 -0700</bug_when>
    <thetext>Make sure we call the ProcessAssertion invalidation handler on the main thread. BKSProcessAssertion calls our invalidation handler on a background thread which leads to thread safety problems and crashes.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1214007</commentid>
    <comment_count>1</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2016-07-23 20:14:04 -0700</bug_when>
    <thetext>&lt;rdar://problem/27399998&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1214009</commentid>
    <comment_count>2</comment_count>
      <attachid>284433</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2016-07-23 20:32:52 -0700</bug_when>
    <thetext>Created attachment 284433
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1214221</commentid>
    <comment_count>3</comment_count>
      <attachid>284433</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2016-07-25 09:53:51 -0700</bug_when>
    <thetext>Comment on attachment 284433
Patch

Still need to update the iOS simulator half of ProcessAssertionIOS.mm to use WTF::Function instead of std::function.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1214223</commentid>
    <comment_count>4</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2016-07-25 09:58:35 -0700</bug_when>
    <thetext>Committed r203687: &lt;http://trac.webkit.org/changeset/203687&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>284433</attachid>
            <date>2016-07-23 20:32:52 -0700</date>
            <delta_ts>2016-07-25 09:53:51 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-160140-20160723203147.patch</filename>
            <type>text/plain</type>
            <size>5739</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjAzNjUxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggMzVlZWY3YmQ1Zjk3ZWVj
MzEyODFhZjk2MTBlYjg4NmYzYWJlYjA2ZS4uOGIzZGY0ZGRhMGU3NGJiZjNjNDZkMzMxYjcwMTNj
MzBjZjg3ZmVhMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI5IEBACisyMDE2LTA3LTIzICBDaHJp
cyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CisKKyAgICAgICAgW2lPU10gTWFrZSBzdXJlIHdl
IGNhbGwgdGhlIFByb2Nlc3NBc3NlcnRpb24gaW52YWxpZGF0aW9uIGhhbmRsZXIgb24gdGhlIG1h
aW4gdGhyZWFkCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD0xNjAxNDAKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzI3Mzk5OTk4PgorCisgICAgICAgIFJl
dmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEJhc2VkIG9uIGNyYXNoIHRyYWNl
cywgaXQgYXBwZWFycyBCS1NQcm9jZXNzQXNzZXJ0aW9uIGlzIGNhbGxpbmcgb3VyCisgICAgICAg
IGludmFsaWRhdGlvbiBoYW5kbGVyIG9uIGEgYmFja2dyb3VuZCB0aHJlYWQuIFRoaXMgd2FzIG5v
dCBhbnRpY2lwYXRlZAorICAgICAgICBhbmQgdGhlcmVmb3JlLCB0aGlzIHdvdWxkIGxlYWQgdG8g
dGhyZWFkIHNhZmV0eSBpc3N1ZXMgYW5kIGNyYXNoZXMuCisKKyAgICAgICAgV2Ugbm93IG1ha2Ug
c3VyZSB0byBjYWxsIG91ciBpbnZhbGlkYXRpb24gaGFuZGxlciBvbiB0aGUgbWFpbiB0aHJlYWQu
CisgICAgICAgIFdlIGFsc28gdXNlIGEgV2Vha1B0ciB0byBlbnN1cmUgdGhhdCB0aGUgUHJvY2Vz
c0Fzc2VydGlvbiBpcyBzdGlsbAorICAgICAgICBhbGl2ZSBvbmNlIG9uIHRoZSBtYWluIHRocmVh
ZCBhbmQgYmVmb3JlIGNhbGxpbmcgdGhlIGludmFsaWRhdGlvbgorICAgICAgICBoYW5kbGVyLgor
CisgICAgICAgICogVUlQcm9jZXNzL1Byb2Nlc3NBc3NlcnRpb24uY3BwOgorICAgICAgICAoV2Vi
S2l0OjpQcm9jZXNzQXNzZXJ0aW9uOjpQcm9jZXNzQXNzZXJ0aW9uKToKKyAgICAgICAgKiBVSVBy
b2Nlc3MvUHJvY2Vzc0Fzc2VydGlvbi5oOgorICAgICAgICAoV2ViS2l0OjpQcm9jZXNzQXNzZXJ0
aW9uOjpQcm9jZXNzQXNzZXJ0aW9uKToKKyAgICAgICAgKFdlYktpdDo6UHJvY2Vzc0Fzc2VydGlv
bjo6Y3JlYXRlV2Vha1B0cik6CisgICAgICAgICogVUlQcm9jZXNzL2lvcy9Qcm9jZXNzQXNzZXJ0
aW9uSU9TLm1tOgorICAgICAgICAoV2ViS2l0OjpQcm9jZXNzQXNzZXJ0aW9uOjpQcm9jZXNzQXNz
ZXJ0aW9uKToKKyAgICAgICAgKFdlYktpdDo6UHJvY2Vzc0Fzc2VydGlvbjo6bWFya0FzSW52YWxp
ZGF0ZWQpOgorCiAyMDE2LTA3LTIyICBKb3NlcGggUGVjb3Jhcm8gIDxwZWNvcmFyb0BhcHBsZS5j
b20+CiAKICAgICAgICAgV2ViIEF1dG9tYXRpb246IEFsbCBrZXkgZXZlbnRzIHNob3VsZCBiZSBw
cm9jZXNzZWQgYmVmb3JlIHNlbmRpbmcgcmVzcG9uc2UKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQyL1VJUHJvY2Vzcy9Qcm9jZXNzQXNzZXJ0aW9uLmNwcCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJv
Y2Vzcy9Qcm9jZXNzQXNzZXJ0aW9uLmNwcAppbmRleCBhNWU2YjBlNTE1YjU4MWQ1ZTdmZDBmMTMy
NGQ3MDExN2M1NmU1MWMwLi5hNjZlMTIyNGYzNGFiNjdmZTA2N2M3MjQ0NmQ3MjExZWNiN2MxNmJl
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvUHJvY2Vzc0Fzc2VydGlvbi5j
cHAKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1Byb2Nlc3NBc3NlcnRpb24uY3BwCkBA
IC0zMCw3ICszMCw3IEBACiAKIG5hbWVzcGFjZSBXZWJLaXQgewogCi1Qcm9jZXNzQXNzZXJ0aW9u
OjpQcm9jZXNzQXNzZXJ0aW9uKHBpZF90LCBBc3NlcnRpb25TdGF0ZSBhc3NlcnRpb25TdGF0ZSwg
c3RkOjpmdW5jdGlvbjx2b2lkKCk+KQorUHJvY2Vzc0Fzc2VydGlvbjo6UHJvY2Vzc0Fzc2VydGlv
bihwaWRfdCwgQXNzZXJ0aW9uU3RhdGUgYXNzZXJ0aW9uU3RhdGUsIEZ1bmN0aW9uPHZvaWQoKT4m
JikKICAgICA6IG1fYXNzZXJ0aW9uU3RhdGUoYXNzZXJ0aW9uU3RhdGUpCiB7CiB9CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvUHJvY2Vzc0Fzc2VydGlvbi5oIGIvU291cmNl
L1dlYktpdDIvVUlQcm9jZXNzL1Byb2Nlc3NBc3NlcnRpb24uaAppbmRleCAyM2JmZjdiNzM0NzBk
NDlkOWYxZjliMDI2Njk1NTdiNWQzZWQwMTMwLi5lMDU0YWZmZThhZDI5Yzg5ODAyZjBhYTBhYWIx
Njk3NDM4MmFjODlkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvUHJvY2Vz
c0Fzc2VydGlvbi5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9Qcm9jZXNzQXNzZXJ0
aW9uLmgKQEAgLTI3LDkgKzI3LDExIEBACiAjZGVmaW5lIFByb2Nlc3NBc3NlcnRpb25faAogCiAj
aW5jbHVkZSA8ZnVuY3Rpb25hbD4KKyNpbmNsdWRlIDx3dGYvRnVuY3Rpb24uaD4KIAogI2lmIFBM
QVRGT1JNKElPUykgJiYgIVBMQVRGT1JNKElPU19TSU1VTEFUT1IpCiAjaW5jbHVkZSA8d3RmL1Jl
dGFpblB0ci5oPgorI2luY2x1ZGUgPHd0Zi9XZWFrUHRyLmg+CiBPQkpDX0NMQVNTIEJLU1Byb2Nl
c3NBc3NlcnRpb247CiAjZW5kaWYKIApAQCAtNDksNyArNTEsNyBAQCBwdWJsaWM6CiAKIGNsYXNz
IFByb2Nlc3NBc3NlcnRpb24gewogcHVibGljOgotICAgIFByb2Nlc3NBc3NlcnRpb24ocGlkX3Qs
IEFzc2VydGlvblN0YXRlLCBzdGQ6OmZ1bmN0aW9uPHZvaWQoKT4gaW52YWxpZGF0aW9uQ2FsbGJh
Y2sgPSB7IH0pOworICAgIFByb2Nlc3NBc3NlcnRpb24ocGlkX3QsIEFzc2VydGlvblN0YXRlLCBG
dW5jdGlvbjx2b2lkKCk+JiYgaW52YWxpZGF0aW9uQ2FsbGJhY2sgPSB7IH0pOwogICAgIH5Qcm9j
ZXNzQXNzZXJ0aW9uKCk7CiAKICAgICB2b2lkIHNldENsaWVudChQcm9jZXNzQXNzZXJ0aW9uQ2xp
ZW50JiBjbGllbnQpIHsgbV9jbGllbnQgPSAmY2xpZW50OyB9CkBAIC02Niw4ICs2OCwxMyBAQCBw
cm90ZWN0ZWQ6CiAKIHByaXZhdGU6CiAjaWYgUExBVEZPUk0oSU9TKSAmJiAhUExBVEZPUk0oSU9T
X1NJTVVMQVRPUikKKyAgICBXZWFrUHRyPFByb2Nlc3NBc3NlcnRpb24+IGNyZWF0ZVdlYWtQdHIo
KSB7IHJldHVybiBtX3dlYWtGYWN0b3J5LmNyZWF0ZVdlYWtQdHIoKTsgfQorICAgIHZvaWQgbWFy
a0FzSW52YWxpZGF0ZWQoKTsKKwogICAgIFJldGFpblB0cjxCS1NQcm9jZXNzQXNzZXJ0aW9uPiBt
X2Fzc2VydGlvbjsKICAgICBWYWxpZGl0eSBtX3ZhbGlkaXR5IHsgVmFsaWRpdHk6OlVuc2V0IH07
CisgICAgV2Vha1B0ckZhY3Rvcnk8UHJvY2Vzc0Fzc2VydGlvbj4gbV93ZWFrRmFjdG9yeTsKKyAg
ICBGdW5jdGlvbjx2b2lkKCk+IG1faW52YWxpZGF0aW9uQ2FsbGJhY2s7CiAjZW5kaWYKICAgICBB
c3NlcnRpb25TdGF0ZSBtX2Fzc2VydGlvblN0YXRlOwogICAgIFByb2Nlc3NBc3NlcnRpb25DbGll
bnQqIG1fY2xpZW50IHsgbnVsbHB0ciB9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQ
cm9jZXNzL2lvcy9Qcm9jZXNzQXNzZXJ0aW9uSU9TLm1tIGIvU291cmNlL1dlYktpdDIvVUlQcm9j
ZXNzL2lvcy9Qcm9jZXNzQXNzZXJ0aW9uSU9TLm1tCmluZGV4IGU2OGMzZDJkZjExZWNlODYyYjFj
NzkwYzMxYWEzYjlkOGEwMTk4ZTguLjk5MzY2MTQ2MjRlYTUxMDNmN2ZmNGQyMmRhMDIyYWMyZTI2
NmIxMDIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9pb3MvUHJvY2Vzc0Fz
c2VydGlvbklPUy5tbQorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvaW9zL1Byb2Nlc3NB
c3NlcnRpb25JT1MubW0KQEAgLTE1NywyMSArMTU3LDI4IEBAIHN0YXRpYyBCS1NQcm9jZXNzQXNz
ZXJ0aW9uRmxhZ3MgZmxhZ3NGb3JTdGF0ZShBc3NlcnRpb25TdGF0ZSBhc3NlcnRpb25TdGF0ZSkK
ICAgICB9CiB9CiAKLVByb2Nlc3NBc3NlcnRpb246OlByb2Nlc3NBc3NlcnRpb24ocGlkX3QgcGlk
LCBBc3NlcnRpb25TdGF0ZSBhc3NlcnRpb25TdGF0ZSwgc3RkOjpmdW5jdGlvbjx2b2lkKCk+IGlu
dmFsaWRhdGlvbkNhbGxiYWNrKQotICAgIDogbV9hc3NlcnRpb25TdGF0ZShhc3NlcnRpb25TdGF0
ZSkKK1Byb2Nlc3NBc3NlcnRpb246OlByb2Nlc3NBc3NlcnRpb24ocGlkX3QgcGlkLCBBc3NlcnRp
b25TdGF0ZSBhc3NlcnRpb25TdGF0ZSwgRnVuY3Rpb248dm9pZCgpPiYmIGludmFsaWRhdGlvbkNh
bGxiYWNrKQorICAgIDogbV93ZWFrRmFjdG9yeSh0aGlzKQorICAgICwgbV9pbnZhbGlkYXRpb25D
YWxsYmFjayhXVEZNb3ZlKGludmFsaWRhdGlvbkNhbGxiYWNrKSkKKyAgICAsIG1fYXNzZXJ0aW9u
U3RhdGUoYXNzZXJ0aW9uU3RhdGUpCiB7CisgICAgYXV0byB3ZWFrVGhpcyA9IGNyZWF0ZVdlYWtQ
dHIoKTsKICAgICBCS1NQcm9jZXNzQXNzZXJ0aW9uQWNxdWlzaXRpb25IYW5kbGVyIGhhbmRsZXIg
PSBeKEJPT0wgYWNxdWlyZWQpIHsKICAgICAgICAgaWYgKCFhY3F1aXJlZCkgewogICAgICAgICAg
ICAgTE9HX0FMV0FZU19FUlJPUih0cnVlLCAiVW5hYmxlIHRvIGFjcXVpcmUgYXNzZXJ0aW9uIGZv
ciBwcm9jZXNzICVkIiwgcGlkKTsKICAgICAgICAgICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOwot
ICAgICAgICAgICAgbV92YWxpZGl0eSA9IFZhbGlkaXR5OjpObzsKLSAgICAgICAgICAgIGludmFs
aWRhdGlvbkNhbGxiYWNrKCk7CisgICAgICAgICAgICBkaXNwYXRjaF9hc3luYyhkaXNwYXRjaF9n
ZXRfbWFpbl9xdWV1ZSgpLCBeeworICAgICAgICAgICAgICAgIGlmICh3ZWFrVGhpcykKKyAgICAg
ICAgICAgICAgICAgICAgbWFya0FzSW52YWxpZGF0ZWQoKTsKKyAgICAgICAgICAgIH0pOwogICAg
ICAgICB9CiAgICAgfTsKICAgICBtX2Fzc2VydGlvbiA9IGFkb3B0TlMoW1tCS1NQcm9jZXNzQXNz
ZXJ0aW9uIGFsbG9jXSBpbml0V2l0aFBJRDpwaWQgZmxhZ3M6ZmxhZ3NGb3JTdGF0ZShhc3NlcnRp
b25TdGF0ZSkgcmVhc29uOkJLU1Byb2Nlc3NBc3NlcnRpb25SZWFzb25FeHRlbnNpb24gbmFtZTpA
IldlYiBjb250ZW50IHZpc2libGUiIHdpdGhIYW5kbGVyOmhhbmRsZXJdKTsKICAgICBtX2Fzc2Vy
dGlvbi5nZXQoKS5pbnZhbGlkYXRpb25IYW5kbGVyID0gXigpIHsKLSAgICAgICAgbV92YWxpZGl0
eSA9IFZhbGlkaXR5OjpObzsKLSAgICAgICAgaW52YWxpZGF0aW9uQ2FsbGJhY2soKTsKKyAgICAg
ICAgZGlzcGF0Y2hfYXN5bmMoZGlzcGF0Y2hfZ2V0X21haW5fcXVldWUoKSwgXnsKKyAgICAgICAg
ICAgIGlmICh3ZWFrVGhpcykKKyAgICAgICAgICAgICAgICBtYXJrQXNJbnZhbGlkYXRlZCgpOwor
ICAgICAgICB9KTsKICAgICB9OwogfQogCkBAIC0xODQsNiArMTkxLDE0IEBAIFByb2Nlc3NBc3Nl
cnRpb246On5Qcm9jZXNzQXNzZXJ0aW9uKCkKICAgICBbbV9hc3NlcnRpb24gaW52YWxpZGF0ZV07
CiB9CiAKK3ZvaWQgUHJvY2Vzc0Fzc2VydGlvbjo6bWFya0FzSW52YWxpZGF0ZWQoKQoreworICAg
IEFTU0VSVChSdW5Mb29wOjppc01haW4oKSk7CisKKyAgICBtX3ZhbGlkaXR5ID0gVmFsaWRpdHk6
Ok5vOworICAgIG1faW52YWxpZGF0aW9uQ2FsbGJhY2soKTsKK30KKwogdm9pZCBQcm9jZXNzQXNz
ZXJ0aW9uOjpzZXRTdGF0ZShBc3NlcnRpb25TdGF0ZSBhc3NlcnRpb25TdGF0ZSkKIHsKICAgICBp
ZiAobV9hc3NlcnRpb25TdGF0ZSA9PSBhc3NlcnRpb25TdGF0ZSkK
</data>
<flag name="review"
          id="308085"
          type_id="1"
          status="+"
          setter="darin"
    />
          </attachment>
      

    </bug>

</bugzilla>