<?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>208571</bug_id>
          
          <creation_ts>2020-03-04 05:44:10 -0800</creation_ts>
          <short_desc>REGRESSION(r257667): [UNIX] Tests http/tests/incremental/split-hex-entities.pl and http/tests/misc/large-js-program.php are crashing</short_desc>
          <delta_ts>2020-03-05 02:22:07 -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>WebKit2</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>Gtk, InRadar, LayoutTestFailure, Regression</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Carlos Garcia Campos">cgarcia</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>achristensen</cc>
    
    <cc>bugs-noreply</cc>
    
    <cc>dpino</cc>
    
    <cc>jer.noble</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1625483</commentid>
    <comment_count>0</comment_count>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2020-03-04 05:44:10 -0800</bug_when>
    <thetext>We get a release assert in Connection::processMessage() when trying to get a file descriptor from m_fileDescriptors array that is empty.

STDERR: warning: core file may not match specified executable file.
STDERR: 1   0x7f37667cbdf9 WTFCrash
STDERR: 2   0x7f3768c58167 IPC::Connection::processMessage()
STDERR: 3   0x7f3768c58730 IPC::Connection::readyReadHandler()
STDERR: 4   0x7f3768c5895d /home/slave/webkitgtk/gtk-linux-64-release/build/WebKitBuild/Release/lib/libwebkit2gtk-4.0.so.37(+0x1e4295d) [0x7f3768c5895d]
STDERR: 5   0x7f376177fe99 /home/slave/webkitgtk/gtk-linux-64-release-tests/build/WebKitBuild/DependenciesGTK/Root/lib/libgio-2.0.so.0(+0x8de99) [0x7f376177fe99]
STDERR: 6   0x7f37615c56b8 g_main_context_dispatch
STDERR: 7   0x7f37615c5a78 /home/slave/webkitgtk/gtk-linux-64-release-tests/build/WebKitBuild/DependenciesGTK/Root/lib/libglib-2.0.so.0(+0x4ca78) [0x7f37615c5a78]
STDERR: 8   0x7f37615c5d62 g_main_loop_run
STDERR: 9   0x7f3766847b50 WTF::RunLoop::run()
STDERR: 10  0x7f37667eb19b WTF::Thread::entryPoint(WTF::Thread::NewThreadContext*)
STDERR: 11  0x7f37668490a9 /home/slave/webkitgtk/gtk-linux-64-release/build/WebKitBuild/Release/lib/libjavascriptcoregtk-4.0.so.18(+0x12350a9) [0x7f37668490a9]
STDERR: 12  0x7f3763765fa3 /lib/x86_64-linux-gnu/libpthread.so.0(+0x7fa3) [0x7f3763765fa3]
STDERR: 13  0x7f37600534cf clone

The problem is that since r257667, a shared buffer is always used by the network process to send data to the web process (NetworkResourceLoader::sendBuffer) and shared buffer encoding/decoding was changed to always use shared memory and send the file descriptor over the IPC. When sending large data in small chunks like these tests are doing, we easily end up with many messages queued in the web process receiver (Connection::enqueueIncomingMessage), all of them having one file descriptor open. When the maximum number of open file descriptors per process is reached, recvmsg doesn&apos;t fail but it sets the flag MSG_CTRUNC in msg_flags and the file descriptor is not actually included as part of the control message. The message info still claims to include a file descriptor, but it hasn&apos;t been created and added to the m_fileDescriptors array. We could check msg_flags, but only to assert earlier, not to fix the problem, since we are unable to get the file descriptor sent. So, at least in linux I think it&apos;s better to send the data over the IPC instead of using shared memory. We are already using shared memory for any IPC message bigger than 4096.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1625487</commentid>
    <comment_count>1</comment_count>
      <attachid>392405</attachid>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2020-03-04 06:21:09 -0800</bug_when>
    <thetext>Created attachment 392405
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1625988</commentid>
    <comment_count>2</comment_count>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2020-03-05 01:11:52 -0800</bug_when>
    <thetext>Committed r257909: &lt;https://trac.webkit.org/changeset/257909&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1625989</commentid>
    <comment_count>3</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2020-03-05 01:12:14 -0800</bug_when>
    <thetext>&lt;rdar://problem/60075969&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1626000</commentid>
    <comment_count>4</comment_count>
    <who name="Diego Pino">dpino</who>
    <bug_when>2020-03-05 02:22:07 -0800</bug_when>
    <thetext>*** Bug 208479 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>392405</attachid>
            <date>2020-03-04 06:21:09 -0800</date>
            <delta_ts>2020-03-04 09:19:29 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>wk2-shared-buffer-decoding.diff</filename>
            <type>text/plain</type>
            <size>5549</size>
            <attacher name="Carlos Garcia Campos">cgarcia</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9DaGFu
Z2VMb2cKaW5kZXggN2Y0OTc3ZjM3MjcwLi4xZWM3Yjk5M2NjY2YgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMg
KzEsMjkgQEAKKzIwMjAtMDMtMDQgIENhcmxvcyBHYXJjaWEgQ2FtcG9zICA8Y2dhcmNpYUBpZ2Fs
aWEuY29tPgorCisgICAgICAgIFJFR1JFU1NJT04ocjI1NzY2Nyk6IFtVTklYXSBUZXN0cyBodHRw
L3Rlc3RzL2luY3JlbWVudGFsL3NwbGl0LWhleC1lbnRpdGllcy5wbCBhbmQgaHR0cC90ZXN0cy9t
aXNjL2xhcmdlLWpzLXByb2dyYW0ucGhwIGFyZSBjcmFzaGluZworICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjA4NTcxCisKKyAgICAgICAgUmV2aWV3ZWQg
YnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgV2UgZ2V0IGEgcmVsZWFzZSBhc3NlcnQgaW4g
Q29ubmVjdGlvbjo6cHJvY2Vzc01lc3NhZ2UoKSB3aGVuIHRyeWluZyB0byBnZXQgYSBmaWxlIGRl
c2NyaXB0b3IgZnJvbQorICAgICAgICBtX2ZpbGVEZXNjcmlwdG9ycyBhcnJheSB0aGF0IGlzIGVt
cHR5LiBUaGUgcHJvYmxlbSBpcyB0aGF0IHNpbmNlIHIyNTc2NjcsIGEgc2hhcmVkIGJ1ZmZlciBp
cyBhbHdheXMgdXNlZCBieSB0aGUKKyAgICAgICAgbmV0d29yayBwcm9jZXNzIHRvIHNlbmQgZGF0
YSB0byB0aGUgd2ViIHByb2Nlc3MgKE5ldHdvcmtSZXNvdXJjZUxvYWRlcjo6c2VuZEJ1ZmZlcikg
YW5kIHNoYXJlZCBidWZmZXIKKyAgICAgICAgZW5jb2RpbmcvZGVjb2Rpbmcgd2FzIGNoYW5nZWQg
dG8gYWx3YXlzIHVzZSBzaGFyZWQgbWVtb3J5IGFuZCBzZW5kIHRoZSBmaWxlIGRlc2NyaXB0b3Ig
b3ZlciB0aGUgSVBDLiBXaGVuCisgICAgICAgIHNlbmRpbmcgbGFyZ2UgZGF0YSBpbiBzbWFsbCBj
aHVua3MgbGlrZSB0aGVzZSB0ZXN0cyBhcmUgZG9pbmcsIHdlIGVhc2lseSBlbmQgdXAgd2l0aCBt
YW55IG1lc3NhZ2VzIHF1ZXVlZCBpbiB0aGUKKyAgICAgICAgd2ViIHByb2Nlc3MgcmVjZWl2ZXIg
KENvbm5lY3Rpb246OmVucXVldWVJbmNvbWluZ01lc3NhZ2UpLCBhbGwgb2YgdGhlbSBoYXZpbmcg
b25lIGZpbGUgZGVzY3JpcHRvciBvcGVuLiBXaGVuIHRoZQorICAgICAgICBtYXhpbXVtIG51bWJl
ciBvZiBvcGVuIGZpbGUgZGVzY3JpcHRvcnMgcGVyIHByb2Nlc3MgaXMgcmVhY2hlZCwgcmVjdm1z
ZyBkb2Vzbid0IGZhaWwgYnV0IGl0IHNldHMgdGhlIGZsYWcKKyAgICAgICAgTVNHX0NUUlVOQyBp
biBtc2dfZmxhZ3MgYW5kIHRoZSBmaWxlIGRlc2NyaXB0b3IgaXMgbm90IGFjdHVhbGx5IGluY2x1
ZGVkIGFzIHBhcnQgb2YgdGhlIGNvbnRyb2wgbWVzc2FnZS4gVGhlCisgICAgICAgIG1lc3NhZ2Ug
aW5mbyBzdGlsbCBjbGFpbXMgdG8gaW5jbHVkZSBhIGZpbGUgZGVzY3JpcHRvciwgYnV0IGl0IGhh
c24ndCBiZWVuIGNyZWF0ZWQgYW5kIGFkZGVkIHRvIHRoZQorICAgICAgICBtX2ZpbGVEZXNjcmlw
dG9ycyBhcnJheS4gV2UgY291bGQgY2hlY2sgbXNnX2ZsYWdzLCBidXQgb25seSB0byBhc3NlcnQg
ZWFybGllciwgbm90IHRvIGZpeCB0aGUgcHJvYmxlbSwgc2luY2Ugd2UKKyAgICAgICAgYXJlIHVu
YWJsZSB0byBnZXQgdGhlIGZpbGUgZGVzY3JpcHRvciBzZW50LiBTbywgYXQgbGVhc3QgaW4gbGlu
dXggSSB0aGluayBpdCdzIGJldHRlciB0byBzZW5kIHRoZSBkYXRhIG92ZXIgdGhlCisgICAgICAg
IElQQyBpbnN0ZWFkIG9mIHVzaW5nIHNoYXJlZCBtZW1vcnkuIFdlIGFyZSBhbHJlYWR5IHVzaW5n
IHNoYXJlZCBtZW1vcnkgZm9yIGFueSBJUEMgbWVzc2FnZSBiaWdnZXIgdGhhbiA0MDk2LgorCisg
ICAgICAgICogUGxhdGZvcm0vSVBDL3VuaXgvQ29ubmVjdGlvblVuaXguY3BwOgorICAgICAgICAo
SVBDOjpyZWFkQnl0ZXNGcm9tU29ja2V0KTogQ29uc2lkZXIgYWxzbyBhIHJlYWQgZmFpbHVyZSB3
aGVuIGNvbnRyb2wgZGF0YSBpcyBkaXNjYXJkZWQuCisgICAgICAgICogU2hhcmVkL1dlYkNvcmVB
cmd1bWVudENvZGVycy5jcHA6CisgICAgICAgIChJUEM6OmVuY29kZVNoYXJlZEJ1ZmZlcik6IERv
IG5vdCB1c2Ugc2hhcmVkIG1lbW9yeSB0byBlbmNvZGUgYSBTaGFyZWRCdWZmZXIgaW4gVW5peC4K
KyAgICAgICAgKElQQzo6ZGVjb2RlU2hhcmVkQnVmZmVyKTogRG8gbm90IHVzZSBzaGFyZWQgbWVt
b3J5IHRvIGRlY29kZSBhIFNoYXJlZEJ1ZmZlciBpbiBVbml4LgorCiAyMDIwLTAzLTAzICBEZXZp
biBSb3Vzc28gIDxkcm91c3NvQGFwcGxlLmNvbT4KIAogICAgICAgICBXZWIgSW5zcGVjdG9yOiBy
ZS1hZGQgYEluc3BlY3RvckZyb250ZW5kSG9zdGAgc3VwcG9ydCBmb3IgbW92aW5nIHRoZSBpbnNw
ZWN0ZWQgd2luZG93CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1BsYXRmb3JtL0lQQy91bml4
L0Nvbm5lY3Rpb25Vbml4LmNwcCBiL1NvdXJjZS9XZWJLaXQvUGxhdGZvcm0vSVBDL3VuaXgvQ29u
bmVjdGlvblVuaXguY3BwCmluZGV4IDc3YWY5YjI4NTg0NS4uZGMwMzA0YzlhZjA1IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0L1BsYXRmb3JtL0lQQy91bml4L0Nvbm5lY3Rpb25Vbml4LmNwcAor
KysgYi9Tb3VyY2UvV2ViS2l0L1BsYXRmb3JtL0lQQy91bml4L0Nvbm5lY3Rpb25Vbml4LmNwcApA
QCAtMjcwLDYgKzI3MCwxMiBAQCBzdGF0aWMgc3NpemVfdCByZWFkQnl0ZXNGcm9tU29ja2V0KGlu
dCBzb2NrZXREZXNjcmlwdG9yLCBWZWN0b3I8dWludDhfdD4mIGJ1ZmZlcgogICAgICAgICAgICAg
cmV0dXJuIC0xOwogICAgICAgICB9CiAKKyAgICAgICAgaWYgKG1lc3NhZ2UubXNnX2ZsYWdzICYg
TVNHX0NUUlVOQykgeworICAgICAgICAgICAgLy8gQ29udHJvbCBkYXRhIGhhcyBiZWVuIGRpc2Nh
cmRlZCwgd2hpY2ggaXMgZXhwZWN0ZWQgYnkgcHJvY2Vzc01lc3NhZ2UoKSwgc28gY29uc2lkZXIg
dGhpcyBhIHJlYWQgZmFpbHVyZS4KKyAgICAgICAgICAgIGJ1ZmZlci5zaHJpbmsocHJldmlvdXNC
dWZmZXJTaXplKTsKKyAgICAgICAgICAgIHJldHVybiAtMTsKKyAgICAgICAgfQorCiAgICAgICAg
IHN0cnVjdCBjbXNnaGRyKiBjb250cm9sTWVzc2FnZTsKICAgICAgICAgZm9yIChjb250cm9sTWVz
c2FnZSA9IENNU0dfRklSU1RIRFIoJm1lc3NhZ2UpOyBjb250cm9sTWVzc2FnZTsgY29udHJvbE1l
c3NhZ2UgPSBDTVNHX05YVEhEUigmbWVzc2FnZSwgY29udHJvbE1lc3NhZ2UpKSB7CiAgICAgICAg
ICAgICBpZiAoY29udHJvbE1lc3NhZ2UtPmNtc2dfbGV2ZWwgPT0gU09MX1NPQ0tFVCAmJiBjb250
cm9sTWVzc2FnZS0+Y21zZ190eXBlID09IFNDTV9SSUdIVFMpIHsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQvU2hhcmVkL1dlYkNvcmVBcmd1bWVudENvZGVycy5jcHAgYi9Tb3VyY2UvV2ViS2l0
L1NoYXJlZC9XZWJDb3JlQXJndW1lbnRDb2RlcnMuY3BwCmluZGV4IDVhZGIzN2Q4YjViZC4uY2E5
NzYwYzcwNzc2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9XZWJDb3JlQXJndW1l
bnRDb2RlcnMuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvU2hhcmVkL1dlYkNvcmVBcmd1bWVudENv
ZGVycy5jcHAKQEAgLTEyMiwxNiArMTIyLDI1IEBAIHVzaW5nIG5hbWVzcGFjZSBXZWJLaXQ7CiAK
IHN0YXRpYyB2b2lkIGVuY29kZVNoYXJlZEJ1ZmZlcihFbmNvZGVyJiBlbmNvZGVyLCBjb25zdCBT
aGFyZWRCdWZmZXIqIGJ1ZmZlcikKIHsKLSAgICBTaGFyZWRNZW1vcnk6OkhhbmRsZSBoYW5kbGU7
CiAgICAgdWludDY0X3QgYnVmZmVyU2l6ZSA9IGJ1ZmZlciA/IGJ1ZmZlci0+c2l6ZSgpIDogMDsK
ICAgICBlbmNvZGVyIDw8IGJ1ZmZlclNpemU7CiAgICAgaWYgKCFidWZmZXJTaXplKQogICAgICAg
ICByZXR1cm47CiAKKyNpZiBVU0UoVU5JWF9ET01BSU5fU09DS0VUUykKKyAgICAvLyBEbyBub3Qg
dXNlIHNoYXJlZCBtZW1vcnkgZm9yIFNoYXJlZEJ1ZmZlciBlbmNvZGluZyBpbiBVbml4LCBiZWNh
dXNlIGl0J3MgZWFzeSB0byByZWFjaCB0aGUKKyAgICAvLyBtYXhpbXVtIG51bWJlciBvZiBmaWxl
IGRlc2NyaXB0b3JzIG9wZW4gcGVyIHByb2Nlc3Mgd2hlbiBzZW5kaW5nIGxhcmdlIGRhdGEgaW4g
c21hbGwgY2h1bmtzCisgICAgLy8gb3ZlciB0aGUgSVBDLiBDb25uZWN0aW9uVW5peC5jcHAgYWxy
ZWFkeSB1c2VzIHNoYXJlZCBtZW1vcnkgdG8gc2VuZCBhbnkgSVBDIG1lc3NhZ2UgdGhhdCBpcwor
ICAgIC8vIHRvbyBsYXJnZS4gU2VlIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD0yMDg1NzEuCisgICAgZm9yIChjb25zdCBhdXRvJiBlbGVtZW50IDogKmJ1ZmZlcikKKyAg
ICAgICAgZW5jb2Rlci5lbmNvZGVGaXhlZExlbmd0aERhdGEocmVpbnRlcnByZXRfY2FzdDxjb25z
dCB1aW50OF90Kj4oZWxlbWVudC5zZWdtZW50LT5kYXRhKCkpLCBlbGVtZW50LnNlZ21lbnQtPnNp
emUoKSwgMSk7CisjZWxzZQorICAgIFNoYXJlZE1lbW9yeTo6SGFuZGxlIGhhbmRsZTsKICAgICBh
dXRvIHNoYXJlZE1lbW9yeUJ1ZmZlciA9IFNoYXJlZE1lbW9yeTo6YWxsb2NhdGUoYnVmZmVyLT5z
aXplKCkpOwogICAgIG1lbWNweShzaGFyZWRNZW1vcnlCdWZmZXItPmRhdGEoKSwgYnVmZmVyLT5k
YXRhKCksIGJ1ZmZlci0+c2l6ZSgpKTsKICAgICBzaGFyZWRNZW1vcnlCdWZmZXItPmNyZWF0ZUhh
bmRsZShoYW5kbGUsIFNoYXJlZE1lbW9yeTo6UHJvdGVjdGlvbjo6UmVhZE9ubHkpOwogICAgIGVu
Y29kZXIgPDwgaGFuZGxlOworI2VuZGlmCiB9CiAKIHN0YXRpYyBib29sIGRlY29kZVNoYXJlZEJ1
ZmZlcihEZWNvZGVyJiBkZWNvZGVyLCBSZWZQdHI8U2hhcmVkQnVmZmVyPiYgYnVmZmVyKQpAQCAt
MTQzLDEyICsxNTIsMjEgQEAgc3RhdGljIGJvb2wgZGVjb2RlU2hhcmVkQnVmZmVyKERlY29kZXIm
IGRlY29kZXIsIFJlZlB0cjxTaGFyZWRCdWZmZXI+JiBidWZmZXIpCiAgICAgaWYgKCFidWZmZXJT
aXplKQogICAgICAgICByZXR1cm4gdHJ1ZTsKIAorI2lmIFVTRShVTklYX0RPTUFJTl9TT0NLRVRT
KQorICAgIFZlY3Rvcjx1aW50OF90PiBkYXRhOworICAgIGRhdGEuZ3JvdyhidWZmZXJTaXplKTsK
KyAgICBpZiAoIWRlY29kZXIuZGVjb2RlRml4ZWRMZW5ndGhEYXRhKGRhdGEuZGF0YSgpLCBkYXRh
LnNpemUoKSwgMSkpCisgICAgICAgIHJldHVybiBmYWxzZTsKKworICAgIGJ1ZmZlciA9IFNoYXJl
ZEJ1ZmZlcjo6Y3JlYXRlKFdURk1vdmUoZGF0YSkpOworI2Vsc2UKICAgICBTaGFyZWRNZW1vcnk6
OkhhbmRsZSBoYW5kbGU7CiAgICAgaWYgKCFkZWNvZGVyLmRlY29kZShoYW5kbGUpKQogICAgICAg
ICByZXR1cm4gZmFsc2U7CiAKICAgICBhdXRvIHNoYXJlZE1lbW9yeUJ1ZmZlciA9IFNoYXJlZE1l
bW9yeTo6bWFwKGhhbmRsZSwgU2hhcmVkTWVtb3J5OjpQcm90ZWN0aW9uOjpSZWFkT25seSk7CiAg
ICAgYnVmZmVyID0gU2hhcmVkQnVmZmVyOjpjcmVhdGUoc3RhdGljX2Nhc3Q8dW5zaWduZWQgY2hh
cio+KHNoYXJlZE1lbW9yeUJ1ZmZlci0+ZGF0YSgpKSwgYnVmZmVyU2l6ZSk7CisjZW5kaWYKIAog
ICAgIHJldHVybiB0cnVlOwogfQo=
</data>
<flag name="review"
          id="407841"
          type_id="1"
          status="+"
          setter="achristensen"
    />
          </attachment>
      

    </bug>

</bugzilla>