<?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>235340</bug_id>
          
          <creation_ts>2022-01-18 16:19:34 -0800</creation_ts>
          <short_desc>Assertion is not acquired in network process when setting database journal mode</short_desc>
          <delta_ts>2022-01-19 11:49:37 -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>WebCore Misc.</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>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Sihui Liu">sihui_liu</reporter>
          <assigned_to name="Sihui Liu">sihui_liu</assigned_to>
          <cc>cdumez</cc>
    
    <cc>darin</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1831885</commentid>
    <comment_count>0</comment_count>
    <who name="Sihui Liu">sihui_liu</who>
    <bug_when>2022-01-18 16:19:34 -0800</bug_when>
    <thetext>...</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1831889</commentid>
    <comment_count>1</comment_count>
    <who name="Sihui Liu">sihui_liu</who>
    <bug_when>2022-01-18 16:23:58 -0800</bug_when>
    <thetext>An example trace when network process is killed for holding database lock:

Thread 3  Dispatch queue: WebResourceLoadStatisticsStore Process Data Queue
...
13  libsqlite3.dylib              	       0x1f666f8e0 sqlite3LockAndPrepare + 244 (/Library/Caches/com.apple.xbs/Sources/SQLite/derived_source/sqlite3.c:139474)
14  WebCore                       	       0x1e8b30858 WebCore::SQLiteDatabase::prepareStatement(WTF::ASCIILiteral) + 120 (/Library/Caches/com.apple.xbs/Sources/WebCore/Source/WebCore/./platform/sql/SQLiteDatabase.cpp:696)
15  WebCore                       	       0x1e8b30298 WebCore::SQLiteDatabase::open(WTF::String const&amp;, WebCore::SQLiteDatabase::OpenMode) + 1776 (/Library/Caches/com.apple.xbs/Sources/WebCore/Source/WebCore/./platform/sql/SQLiteDatabase.cpp:228)
16  WebKit                        	       0x1e64953bc WebKit::DatabaseUtilities::openDatabaseAndCreateSchemaIfNecessary() + 148 (/Library/Caches/com.apple.xbs/Sources/WebKit/Source/WebKit/NetworkProcess/DatabaseUtilities.cpp:92)
17  WebKit                        	       0x1e65296bc WTF::Detail::CallableWrapper&lt;WebKit::WebResourceLoadStatisticsStore::WebResourceLoadStatisticsStore(WebKit::NetworkSession&amp;, WTF::String const&amp;, WebKit::ShouldIncludeLocalhost, WebCore::ResourceLoadStatistics::IsEphemeral)::$_33, void&gt;::call() + 788 (/Library/Caches/com.apple.xbs/Sources/WebKit/Source/WebKit/NetworkProcess/Classifier/ResourceLoadStatisticsDatabaseStore.cpp:341)
...</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1831890</commentid>
    <comment_count>2</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2022-01-18 16:24:11 -0800</bug_when>
    <thetext>&lt;rdar://problem/87741289&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1831891</commentid>
    <comment_count>3</comment_count>
      <attachid>449446</attachid>
    <who name="Sihui Liu">sihui_liu</who>
    <bug_when>2022-01-18 16:25:11 -0800</bug_when>
    <thetext>Created attachment 449446
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1831918</commentid>
    <comment_count>4</comment_count>
      <attachid>449446</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2022-01-18 18:07:16 -0800</bug_when>
    <thetext>Comment on attachment 449446
Patch

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

&gt; Source/WebCore/ChangeLog:3
&gt; +        Assertion is not acquired in network process when setting database journal mode

What is the effect of not acquiring this assertion? Is there a test failing because of this mistake&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1831944</commentid>
    <comment_count>5</comment_count>
    <who name="Sihui Liu">sihui_liu</who>
    <bug_when>2022-01-18 22:26:43 -0800</bug_when>
    <thetext>(In reply to Darin Adler from comment #4)
&gt; Comment on attachment 449446 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=449446&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/ChangeLog:3
&gt; &gt; +        Assertion is not acquired in network process when setting database journal mode
&gt; 
&gt; What is the effect of not acquiring this assertion? Is there a test failing
&gt; because of this mistake&gt;

Assertion is needed for keeping process active. If assertion is not held, process can be suspended.
When a process is suspended and it&apos;s holding file lock, it will get killed by running boardd (to ensure file lock is released).
So we need to hold assertion when doing database activities that requires file lock.
There is no test (since it involves daemons), but we see network process gets killed with trace I pasted above. More traces in rdar://82412733.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1831945</commentid>
    <comment_count>6</comment_count>
      <attachid>449464</attachid>
    <who name="Sihui Liu">sihui_liu</who>
    <bug_when>2022-01-18 22:29:11 -0800</bug_when>
    <thetext>Created attachment 449464
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1832024</commentid>
    <comment_count>7</comment_count>
      <attachid>449464</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2022-01-19 07:19:09 -0800</bug_when>
    <thetext>Comment on attachment 449464
Patch

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1832120</commentid>
    <comment_count>8</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2022-01-19 11:49:33 -0800</bug_when>
    <thetext>Committed r288223 (246183@main): &lt;https://commits.webkit.org/246183@main&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 449464.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>449446</attachid>
            <date>2022-01-18 16:25:11 -0800</date>
            <delta_ts>2022-01-18 22:29:09 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-235340-20220118162510.patch</filename>
            <type>text/plain</type>
            <size>1366</size>
            <attacher name="Sihui Liu">sihui_liu</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg4MTU5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMGRlMmQyM2M2OGZjMDNk
OWNjMDI4Yjk2ZjY3NmI3YTYwMmJmMTA5Yi4uYzE5MTkxNzY2MzVkN2RhZjUyY2VmMTNkN2NhMzg1
NjliODZjMDU1YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDEzIEBACisyMDIyLTAxLTE4ICBTaWh1
aSBMaXUgIDxzaWh1aV9saXVAYXBwbGUuY29tPgorCisgICAgICAgIEFzc2VydGlvbiBpcyBub3Qg
YWNxdWlyZWQgaW4gbmV0d29yayBwcm9jZXNzIHdoZW4gc2V0dGluZyBkYXRhYmFzZSBqb3VybmFs
IG1vZGUKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIz
NTM0MAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICog
cGxhdGZvcm0vc3FsL1NRTGl0ZURhdGFiYXNlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNRTGl0
ZURhdGFiYXNlOjp1c2VXQUxKb3VybmFsTW9kZSk6CisKIDIwMjItMDEtMTggIEFsYW4gQnVqdGFz
ICA8emFsYW5AYXBwbGUuY29tPgogCiAgICAgICAgIFtMRkNdW0ludGVncmF0aW9uXSBVc2UgSUZD
IGZvciBwcmVmZXJyZWQgd2lkdGggY29tcHV0YXRpb24gZm9yIGlubGluZSBib3hlcwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vc3FsL1NRTGl0ZURhdGFiYXNlLmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL3NxbC9TUUxpdGVEYXRhYmFzZS5jcHAKaW5kZXggNTAwMzBi
NTJjMTgzYjE3M2U2OWZkYTIxMzZhZTY2MWVmZTRjYTJlZi4uMTdkZGQwMjVhODk4Y2I0MTBkZGQ1
M2FiNzZkNzI5MTJlOGFhYWNlNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
c3FsL1NRTGl0ZURhdGFiYXNlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9zcWwv
U1FMaXRlRGF0YWJhc2UuY3BwCkBAIC0yMjUsNiArMjI1LDcgQEAgdm9pZCBTUUxpdGVEYXRhYmFz
ZTo6dXNlV0FMSm91cm5hbE1vZGUoKQogewogICAgIG1fdXNlV0FMID0gdHJ1ZTsKICAgICB7Cisg
ICAgICAgIFNRTGl0ZVRyYW5zYWN0aW9uSW5Qcm9ncmVzc0F1dG9Db3VudGVyIHRyYW5zYWN0aW9u
Q291bnRlcjsKICAgICAgICAgYXV0byB3YWxTdGF0ZW1lbnQgPSBwcmVwYXJlU3RhdGVtZW50KCJQ
UkFHTUEgam91cm5hbF9tb2RlPVdBTDsiX3MpOwogICAgICAgICBpZiAod2FsU3RhdGVtZW50ICYm
IHdhbFN0YXRlbWVudC0+c3RlcCgpID09IFNRTElURV9ST1cpIHsKICNpZm5kZWYgTkRFQlVHCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>449464</attachid>
            <date>2022-01-18 22:29:11 -0800</date>
            <delta_ts>2022-01-19 11:49:35 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-235340-20220118222910.patch</filename>
            <type>text/plain</type>
            <size>1484</size>
            <attacher name="Sihui Liu">sihui_liu</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg4MTU5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMGRlMmQyM2M2OGZjMDNk
OWNjMDI4Yjk2ZjY3NmI3YTYwMmJmMTA5Yi4uNDZjYTk5ZmYxOGU5ZDFiNWY1ODFiOTlkYTU5MWI5
NjEzYjkwYzZlMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE1IEBACisyMDIyLTAxLTE4ICBTaWh1
aSBMaXUgIDxzaWh1aV9saXVAYXBwbGUuY29tPgorCisgICAgICAgIEFzc2VydGlvbiBpcyBub3Qg
YWNxdWlyZWQgaW4gbmV0d29yayBwcm9jZXNzIHdoZW4gc2V0dGluZyBkYXRhYmFzZSBqb3VybmFs
IG1vZGUKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIz
NTM0MAorCisgICAgICAgIFNldHRpbmcgZGF0YWJhc2Ugam91cm5hbCBtb2RlIHJlcXVpcmVzIGxv
Y2ssIHNvIG5ldHdvcmsgcHJvY2VzcyBuZWVkcyB0byBzdGF5IGFjdGl2ZSBieSBob2xkaW5nIGFz
c2VydGlvbi4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAg
ICAqIHBsYXRmb3JtL3NxbC9TUUxpdGVEYXRhYmFzZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpT
UUxpdGVEYXRhYmFzZTo6dXNlV0FMSm91cm5hbE1vZGUpOgorCiAyMDIyLTAxLTE4ICBBbGFuIEJ1
anRhcyAgPHphbGFuQGFwcGxlLmNvbT4KIAogICAgICAgICBbTEZDXVtJbnRlZ3JhdGlvbl0gVXNl
IElGQyBmb3IgcHJlZmVycmVkIHdpZHRoIGNvbXB1dGF0aW9uIGZvciBpbmxpbmUgYm94ZXMKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3NxbC9TUUxpdGVEYXRhYmFzZS5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9zcWwvU1FMaXRlRGF0YWJhc2UuY3BwCmluZGV4IDUw
MDMwYjUyYzE4M2IxNzNlNjlmZGEyMTM2YWU2NjFlZmU0Y2EyZWYuLjE3ZGRkMDI1YTg5OGNiNDEw
ZGRkNTNhYjc2ZDcyOTEyZThhYWFjZTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL3NxbC9TUUxpdGVEYXRhYmFzZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
c3FsL1NRTGl0ZURhdGFiYXNlLmNwcApAQCAtMjI1LDYgKzIyNSw3IEBAIHZvaWQgU1FMaXRlRGF0
YWJhc2U6OnVzZVdBTEpvdXJuYWxNb2RlKCkKIHsKICAgICBtX3VzZVdBTCA9IHRydWU7CiAgICAg
eworICAgICAgICBTUUxpdGVUcmFuc2FjdGlvbkluUHJvZ3Jlc3NBdXRvQ291bnRlciB0cmFuc2Fj
dGlvbkNvdW50ZXI7CiAgICAgICAgIGF1dG8gd2FsU3RhdGVtZW50ID0gcHJlcGFyZVN0YXRlbWVu
dCgiUFJBR01BIGpvdXJuYWxfbW9kZT1XQUw7Il9zKTsKICAgICAgICAgaWYgKHdhbFN0YXRlbWVu
dCAmJiB3YWxTdGF0ZW1lbnQtPnN0ZXAoKSA9PSBTUUxJVEVfUk9XKSB7CiAjaWZuZGVmIE5ERUJV
Rwo=
</data>

          </attachment>
      

    </bug>

</bugzilla>