<?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>169938</bug_id>
          
          <creation_ts>2017-03-21 17:36:56 -0700</creation_ts>
          <short_desc>RTCPeerConnection is crashing if no backend is created</short_desc>
          <delta_ts>2017-03-22 11:00:30 -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>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></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="youenn fablet">youennf</reporter>
          <assigned_to name="youenn fablet">youennf</assigned_to>
          <cc>achristensen</cc>
    
    <cc>commit-queue</cc>
    
    <cc>eric.carlson</cc>
    
    <cc>ggaren</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1289911</commentid>
    <comment_count>0</comment_count>
    <who name="youenn fablet">youennf</who>
    <bug_when>2017-03-21 17:36:56 -0700</bug_when>
    <thetext>RTCPeerConnection is crashing if no backend is created.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1289915</commentid>
    <comment_count>1</comment_count>
      <attachid>305053</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2017-03-21 17:42:59 -0700</bug_when>
    <thetext>Created attachment 305053
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1289916</commentid>
    <comment_count>2</comment_count>
    <who name="youenn fablet">youennf</who>
    <bug_when>2017-03-21 17:43:37 -0700</bug_when>
    <thetext>Might be related to rdar://30796880</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1289933</commentid>
    <comment_count>3</comment_count>
      <attachid>305053</attachid>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2017-03-21 18:48:32 -0700</bug_when>
    <thetext>Comment on attachment 305053
Patch

I see a lot of methods that use m_backend and don&apos;t check for RTCSignalingState::Closed. How do we know they&apos;re OK?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1289954</commentid>
    <comment_count>4</comment_count>
    <who name="youenn fablet">youennf</who>
    <bug_when>2017-03-21 20:38:18 -0700</bug_when>
    <thetext>(In reply to Geoffrey Garen from comment #3)
&gt; Comment on attachment 305053 [details]
&gt; Patch
&gt; 
&gt; I see a lot of methods that use m_backend and don&apos;t check for
&gt; RTCSignalingState::Closed. How do we know they&apos;re OK?

Since RTCPeerConnection is a 
Once created,</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1289955</commentid>
    <comment_count>5</comment_count>
    <who name="youenn fablet">youennf</who>
    <bug_when>2017-03-21 20:42:33 -0700</bug_when>
    <thetext>(In reply to youenn fablet from comment #4)
&gt; (In reply to Geoffrey Garen from comment #3)
&gt; &gt; Comment on attachment 305053 [details]
&gt; &gt; Patch
&gt; &gt; 
&gt; &gt; I see a lot of methods that use m_backend and don&apos;t check for
&gt; &gt; RTCSignalingState::Closed. How do we know they&apos;re OK?
&gt; 
&gt; Since RTCPeerConnection is a 
&gt; Once created,

Since RTCPeerConnection is a JS built-in, once the C++ wrapper is created, initializeWith will be called and will return an exception.
But the C++ object remains an active DOM object that remains to be stopped.
Setting the state to closed allows RTCPeerConnection::close to be a no-op.

But really, we should solve the real issue, which is that RTCPeerConnection is exposed while isLibWebRTCAvailable returns false.
Once done, m_backend should be made a uniqueref.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1290119</commentid>
    <comment_count>6</comment_count>
      <attachid>305053</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2017-03-22 11:00:25 -0700</bug_when>
    <thetext>Comment on attachment 305053
Patch

Clearing flags on attachment: 305053

Committed r214262: &lt;http://trac.webkit.org/changeset/214262&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1290120</commentid>
    <comment_count>7</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2017-03-22 11:00:30 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>305053</attachid>
            <date>2017-03-21 17:42:59 -0700</date>
            <delta_ts>2017-03-22 11:00:25 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-169938-20170321174258.patch</filename>
            <type>text/plain</type>
            <size>2235</size>
            <attacher name="youenn fablet">youennf</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjE0MjIyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNTQwYjNiMDM0ZjI5NGQ3
NDEzYzBhZDM5NDM4ZGExODU0MmIzNmQwZS4uYzY4ZmYzNzViMWQ5NzQ3Y2I1M2JiZjdjYmJjOTNl
NzFlYzc4MDliZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDIwIEBACiAyMDE3LTAzLTIxICBZb3Vl
bm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KIAorICAgICAgICBSVENQZWVyQ29ubmVjdGlv
biBpcyBjcmFzaGluZyBpZiBubyBiYWNrZW5kIGlzIGNyZWF0ZWQKKyAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE2OTkzOAorCisgICAgICAgIFJldmlld2Vk
IGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFJUQ1BlZXJDb25uZWN0aW9uIHNob3VsZCBu
b3QgYmUgdmlzaWJsZSBpZiBpdCBpcyBub3QgYWJsZSB0byBjcmVhdGUgYSBiYWNrZW5kLgorICAg
ICAgICBJbiBjYXNlIHdoZW4gdGhpcyBoYXBwZW5zIGFueXdheSwgaXQgc2hvdWxkIGJlIGFibGUg
dG8gYmUgc3RvcHBlZCBhbmQgZGVzdHJveWVkIHdpdGhvdXQgY3Jhc2hpbmcuCisgICAgICAgIFRv
IGRvIHNvLCB3ZSBuZWVkIHRvIHNldCBpdHMgc3RhdGUgdG8gY2xvc2VkLgorCisgICAgICAgICog
TW9kdWxlcy9tZWRpYXN0cmVhbS9SVENQZWVyQ29ubmVjdGlvbi5jcHA6CisgICAgICAgIChXZWJD
b3JlOjpSVENQZWVyQ29ubmVjdGlvbjo6UlRDUGVlckNvbm5lY3Rpb24pOgorICAgICAgICAoV2Vi
Q29yZTo6UlRDUGVlckNvbm5lY3Rpb246OmNsb3NlKTogQ29zbWV0aWMgY2hhbmdlLCBqdXN0IGlu
IGNhc2Ugc3RvcCBiZWNvbWVzIHJlZW50cmFudCBhdCBzb21lIHBvaW50LgorCisyMDE3LTAzLTIx
ICBZb3Vlbm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KKwogICAgICAgICBbRmV0Y2ggQVBJ
XSBpbXBsZW1lbnQgQWNjZXNzLUNvbnRyb2wtRXhwb3NlLUhlYWRlcnM6ICoKICAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE2OTE5NAogCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1JUQ1BlZXJDb25uZWN0aW9uLmNw
cCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vUlRDUGVlckNvbm5lY3Rpb24u
Y3BwCmluZGV4IDc0MDkxYWRmYzJkNTBjYzE2YWZlYmI4MWQyNTg2MmExMDQwZDE2ZTEuLmU5ZmM4
MWQ3NjMwNTkwMTI3NjU4ZjZjZmYzZDExNDA5MmU2MGVmYmQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vUlRDUGVlckNvbm5lY3Rpb24uY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vUlRDUGVlckNvbm5lY3Rpb24uY3BwCkBA
IC03Niw2ICs3NiwxMCBAQCBSVENQZWVyQ29ubmVjdGlvbjo6UlRDUGVlckNvbm5lY3Rpb24oU2Ny
aXB0RXhlY3V0aW9uQ29udGV4dCYgY29udGV4dCkKICAgICA6IEFjdGl2ZURPTU9iamVjdCgmY29u
dGV4dCkKICAgICAsIG1fYmFja2VuZChQZWVyQ29ubmVjdGlvbkJhY2tlbmQ6OmNyZWF0ZSgqdGhp
cykpCiB7CisgICAgaWYgKCFtX2JhY2tlbmQpIHsKKyAgICAgICAgbV9zaWduYWxpbmdTdGF0ZSA9
IFJUQ1NpZ25hbGluZ1N0YXRlOjpDbG9zZWQ7CisgICAgICAgIG1faWNlQ29ubmVjdGlvblN0YXRl
ID0gUlRDSWNlQ29ubmVjdGlvblN0YXRlOjpDbG9zZWQ7CisgICAgfQogfQogCiBSVENQZWVyQ29u
bmVjdGlvbjo6flJUQ1BlZXJDb25uZWN0aW9uKCkKQEAgLTM1NCwxMSArMzU4LDExIEBAIHZvaWQg
UlRDUGVlckNvbm5lY3Rpb246OmNsb3NlKCkKICAgICBpZiAobV9zaWduYWxpbmdTdGF0ZSA9PSBS
VENTaWduYWxpbmdTdGF0ZTo6Q2xvc2VkKQogICAgICAgICByZXR1cm47CiAKLSAgICBtX2JhY2tl
bmQtPnN0b3AoKTsKLQogICAgIG1faWNlQ29ubmVjdGlvblN0YXRlID0gUlRDSWNlQ29ubmVjdGlv
blN0YXRlOjpDbG9zZWQ7CiAgICAgbV9zaWduYWxpbmdTdGF0ZSA9IFJUQ1NpZ25hbGluZ1N0YXRl
OjpDbG9zZWQ7CiAKKyAgICBtX2JhY2tlbmQtPnN0b3AoKTsKKwogICAgIGZvciAoUlRDUnRwU2Vu
ZGVyJiBzZW5kZXIgOiBtX3RyYW5zY2VpdmVyU2V0LT5zZW5kZXJzKCkpCiAgICAgICAgIHNlbmRl
ci5zdG9wKCk7CiAK
</data>

          </attachment>
      

    </bug>

</bugzilla>