<?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>179917</bug_id>
          
          <creation_ts>2017-11-21 05:18:50 -0800</creation_ts>
          <short_desc>WebDriver: crash in Session::computeElementLayout when called without a current browsing context</short_desc>
          <delta_ts>2017-11-21 08:56:19 -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>WebDriver</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="Carlos Garcia Campos">cgarcia</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>bburg</cc>
    
    <cc>darin</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1373985</commentid>
    <comment_count>0</comment_count>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2017-11-21 05:18:50 -0800</bug_when>
    <thetext>In the case of computeElementLayout message, the frameHandle parameter is not optional, but we still need to provide a valid value (empty string means the default frame) when m_currentBrowsingContext is std::nullopt. The same applies to selectOptionElement.

#0  0x00007ffaefa27c3f in Inspector::InspectorValue::create(WTF::String const&amp;) () from /home/cgarcia/src/git/gnome/WebKit/WebKitBuild/Release/lib/libjavascriptcoregtk-4.0.so.18
#1  0x00005619b41707e7 in Inspector::InspectorObjectBase::setString(WTF::String const&amp;, WTF::String const&amp;) ()
#2  0x00005619b4166ac2 in WebDriver::Session::computeElementLayout(WTF::String const&amp;, WTF::OptionSet&lt;WebDriver::Session::ElementLayoutOption&gt;, WTF::Function&lt;void (std::optional&lt;WebDriver::Session::Rect&gt;&amp;&amp;, std::optional&lt;WebDriver::Session::Point&gt;&amp;&amp;, bool, WTF::RefPtr&lt;Inspector::InspectorObject&gt;&amp;&amp;)&gt;&amp;&amp;) ()
#3  0x00005619b4166e5c in WebDriver::Session::elementClick(WTF::String const&amp;, WTF::Function&lt;void (WebDriver::CommandResult&amp;&amp;)&gt;&amp;&amp;) ()
#4  0x00005619b4176ff2 in WebDriver::WebDriverService::elementClick(WTF::RefPtr&lt;Inspector::InspectorObject&gt;&amp;&amp;, WTF::Function&lt;void (WebDriver::CommandResult&amp;&amp;)&gt;&amp;&amp;) ()
#5  0x00005619b417cf61 in WebDriver::WebDriverService::handleRequest(WebDriver::HTTPRequestHandler::Request&amp;&amp;, WTF::Function&lt;void (WebDriver::HTTPRequestHandler::Response&amp;&amp;)&gt;&amp;&amp;) ()
#6  0x00005619b4182bdd in WebDriver::HTTPServer::listen(unsigned int)::{lambda(_SoupServer*, _SoupMessage*, char const*, _GHashTable*, SoupClientContext*, void*)#1}::_FUN(_SoupServer*, _SoupMessage*, char const*, _GHashTable*, SoupClientContext*, void*) ()
#7  0x00007ffaeef0c00f in call_handler (early=0, msg=0x5619b4a34390, client=0x5619b4a30c00, handler=0x5619b4a04640, server=0x5619b4a258c0) at soup-server.c:1259
#8  got_body (msg=0x5619b4a34390, client=0x5619b4a30c00) at soup-server.c:1400
#9  0x00007ffaec66b62d in g_closure_invoke (closure=0x5619b4a3ae40, return_value=0x0, n_param_values=1, param_values=0x7ffe4332f550, invocation_hint=0x7ffe4332f4f0) at gclosure.c:804
#10 0x00007ffaec67e50e in signal_emit_unlocked_R (node=node@entry=0x5619b4a31b00, detail=detail@entry=0, instance=instance@entry=0x5619b4a34390, emission_return=emission_return@entry=0x0, 
    instance_and_params=instance_and_params@entry=0x7ffe4332f550) at gsignal.c:3635
#11 0x00007ffaec686eb5 in g_signal_emit_valist (instance=0x5619b4a34390, signal_id=&lt;optimized out&gt;, detail=0, var_args=var_args@entry=0x7ffe4332f6e8) at gsignal.c:3391
#12 0x00007ffaec687872 in g_signal_emit (instance=instance@entry=0x5619b4a34390, signal_id=&lt;optimized out&gt;, detail=detail@entry=0) at gsignal.c:3447
#13 0x00007ffaeef003ef in soup_message_got_body (msg=msg@entry=0x5619b4a34390) at soup-message.c:1140
#14 0x00007ffaeef04b1a in io_read (msg=msg@entry=0x5619b4a34390, blocking=blocking@entry=0, cancellable=cancellable@entry=0x0, error=error@entry=0x7ffe4332f898) at soup-message-io.c:781
#15 0x00007ffaeef051d6 in io_run_until (msg=msg@entry=0x5619b4a34390, blocking=blocking@entry=0, read_state=read_state@entry=SOUP_MESSAGE_IO_STATE_DONE, 
    write_state=write_state@entry=SOUP_MESSAGE_IO_STATE_DONE, cancellable=cancellable@entry=0x0, error=error@entry=0x7ffe4332f8e8) at soup-message-io.c:977
#16 0x00007ffaeef05bab in io_run (msg=msg@entry=0x5619b4a34390, blocking=blocking@entry=0) at soup-message-io.c:1048
#17 0x00007ffaeef05e28 in soup_message_io_server (msg=msg@entry=0x5619b4a34390, iostream=&lt;optimized out&gt;, async_context=&lt;optimized out&gt;, 
    get_headers_cb=get_headers_cb@entry=0x7ffaeef06900 &lt;get_response_headers&gt;, parse_headers_cb=parse_headers_cb@entry=0x7ffaeef06490 &lt;parse_request_headers&gt;, 
    header_data=header_data@entry=0x5619b4a2b440, completion_cb=0x7ffaeef0bdf0 &lt;request_finished&gt;, completion_data=0x5619b4a30c00) at soup-message-io.c:1252
#18 0x00007ffaeef06e07 in soup_message_read_request (msg=0x5619b4a34390, sock=0x5619b4a2b440, use_thread_context=&lt;optimized out&gt;, completion_cb=0x7ffaeef0bdf0 &lt;request_finished&gt;, 
    user_data=0x5619b4a30c00) at soup-message-server-io.c:304
#19 0x00007ffaec66e5b5 in g_cclosure_marshal_VOID__OBJECTv (closure=0x5619b4a2f840, return_value=&lt;optimized out&gt;, instance=&lt;optimized out&gt;, args=&lt;optimized out&gt;, 
    marshal_data=&lt;optimized out&gt;, n_params=&lt;optimized out&gt;, param_types=0x5619b4a1d300) at gmarshal.c:2102
#20 0x00007ffaec66b866 in _g_closure_invoke_va (closure=0x5619b4a2f840, return_value=0x0, instance=0x5619b4a2b100, args=0x7ffe4332fbc8, n_params=1, param_types=0x5619b4a1d300)
    at gclosure.c:867
#21 0x00007ffaec687196 in g_signal_emit_valist (instance=0x5619b4a2b100, signal_id=&lt;optimized out&gt;, detail=&lt;optimized out&gt;, var_args=var_args@entry=0x7ffe4332fbc8) at gsignal.c:3300
#22 0x00007ffaec687872 in g_signal_emit (instance=instance@entry=0x5619b4a2b100, signal_id=&lt;optimized out&gt;, detail=detail@entry=0) at gsignal.c:3447
#23 0x00007ffaeef192ef in listen_watch (pollable=&lt;optimized out&gt;, data=0x5619b4a2b100) at soup-socket.c:1237
#24 0x00007ffaebd06405 in g_main_dispatch (context=0x5619b4a1fd40) at gmain.c:3148
#25 g_main_context_dispatch (context=context@entry=0x5619b4a1fd40) at gmain.c:3813
#26 0x00007ffaebd067a8 in g_main_context_iterate (context=0x5619b4a1fd40, block=block@entry=1, dispatch=dispatch@entry=1, self=&lt;optimized out&gt;) at gmain.c:3886
#27 0x00007ffaebd06ab2 in g_main_loop_run (loop=0x5619b4a1a7b0) at gmain.c:4082
#28 0x00007ffaeff49ef8 in WTF::RunLoop::run() () from /home/cgarcia/src/git/gnome/WebKit/WebKitBuild/Release/lib/libjavascriptcoregtk-4.0.so.18
#29 0x00005619b4174bcc in WebDriver::WebDriverService::run(int, char**) ()
#30 0x00005619b415555e in main ()</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1373986</commentid>
    <comment_count>1</comment_count>
      <attachid>327402</attachid>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2017-11-21 05:21:06 -0800</bug_when>
    <thetext>Created attachment 327402
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1374037</commentid>
    <comment_count>2</comment_count>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2017-11-21 08:55:48 -0800</bug_when>
    <thetext>Committed r225082: &lt;https://trac.webkit.org/changeset/225082&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1374038</commentid>
    <comment_count>3</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2017-11-21 08:56:19 -0800</bug_when>
    <thetext>&lt;rdar://problem/35658276&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>327402</attachid>
            <date>2017-11-21 05:21:06 -0800</date>
            <delta_ts>2017-11-21 08:47:11 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>wd-click-crash.diff</filename>
            <type>text/plain</type>
            <size>2806</size>
            <attacher name="Carlos Garcia Campos">cgarcia</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJEcml2ZXIvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkRyaXZl
ci9DaGFuZ2VMb2cKaW5kZXggNmFiMzRlZTk2M2QuLjZmNDkxN2U2Yzc0IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViRHJpdmVyL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViRHJpdmVyL0NoYW5nZUxv
ZwpAQCAtMSwzICsxLDE4IEBACisyMDE3LTExLTIxICBDYXJsb3MgR2FyY2lhIENhbXBvcyAgPGNn
YXJjaWFAaWdhbGlhLmNvbT4KKworICAgICAgICBXZWJEcml2ZXI6IGNyYXNoIGluIFNlc3Npb246
OmNvbXB1dGVFbGVtZW50TGF5b3V0IHdoZW4gY2FsbGVkIHdpdGhvdXQgYSBjdXJyZW50IGJyb3dz
aW5nIGNvbnRleHQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTE3OTkxNworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAg
ICAgIEluIHRoZSBjYXNlIG9mIGNvbXB1dGVFbGVtZW50TGF5b3V0IG1lc3NhZ2UsIHRoZSBmcmFt
ZUhhbmRsZSBwYXJhbWV0ZXIgaXMgbm90IG9wdGlvbmFsLCBidXQgd2Ugc3RpbGwgbmVlZCB0bwor
ICAgICAgICBwcm92aWRlIGEgdmFsaWQgdmFsdWUgKGVtcHR5IHN0cmluZyBtZWFucyB0aGUgZGVm
YXVsdCBmcmFtZSkgd2hlbiBtX2N1cnJlbnRCcm93c2luZ0NvbnRleHQgaXMgc3RkOjpudWxsb3B0
LiBUaGUKKyAgICAgICAgc2FtZSBhcHBsaWVzIHRvIHNlbGVjdE9wdGlvbkVsZW1lbnQuCisKKyAg
ICAgICAgKiBTZXNzaW9uLmNwcDoKKyAgICAgICAgKFdlYkRyaXZlcjo6U2Vzc2lvbjo6Y29tcHV0
ZUVsZW1lbnRMYXlvdXQpOgorICAgICAgICAoV2ViRHJpdmVyOjpTZXNzaW9uOjpzZWxlY3RPcHRp
b25FbGVtZW50KToKKwogMjAxNy0xMS0xNSAgQ2FybG9zIEdhcmNpYSBDYW1wb3MgIDxjZ2FyY2lh
QGlnYWxpYS5jb20+CiAKICAgICAgICAgW1dQRV0gQWRkIGluaXRpYWwgc3VwcG9ydCBmb3IgV2Vi
RHJpdmVyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViRHJpdmVyL1Nlc3Npb24uY3BwIGIvU291cmNl
L1dlYkRyaXZlci9TZXNzaW9uLmNwcAppbmRleCA0NDEzZjdmMGYxZC4uODM3ODg1ODg0NGUgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJEcml2ZXIvU2Vzc2lvbi5jcHAKKysrIGIvU291cmNlL1dlYkRy
aXZlci9TZXNzaW9uLmNwcApAQCAtODIyLDcgKzgyMiw3IEBAIHZvaWQgU2Vzc2lvbjo6Y29tcHV0
ZUVsZW1lbnRMYXlvdXQoY29uc3QgU3RyaW5nJiBlbGVtZW50SUQsIE9wdGlvblNldDxFbGVtZW50
TGF5CiAKICAgICBSZWZQdHI8SW5zcGVjdG9yT2JqZWN0PiBwYXJhbWV0ZXJzID0gSW5zcGVjdG9y
T2JqZWN0OjpjcmVhdGUoKTsKICAgICBwYXJhbWV0ZXJzLT5zZXRTdHJpbmcoQVNDSUlMaXRlcmFs
KCJicm93c2luZ0NvbnRleHRIYW5kbGUiKSwgbV90b3BsZXZlbEJyb3dzaW5nQ29udGV4dC52YWx1
ZSgpKTsKLSAgICBwYXJhbWV0ZXJzLT5zZXRTdHJpbmcoQVNDSUlMaXRlcmFsKCJmcmFtZUhhbmRs
ZSIpLCBtX2N1cnJlbnRCcm93c2luZ0NvbnRleHQudmFsdWUoKSk7CisgICAgcGFyYW1ldGVycy0+
c2V0U3RyaW5nKEFTQ0lJTGl0ZXJhbCgiZnJhbWVIYW5kbGUiKSwgbV9jdXJyZW50QnJvd3NpbmdD
b250ZXh0LnZhbHVlX29yKGVtcHR5U3RyaW5nKCkpKTsKICAgICBwYXJhbWV0ZXJzLT5zZXRTdHJp
bmcoQVNDSUlMaXRlcmFsKCJub2RlSGFuZGxlIiksIGVsZW1lbnRJRCk7CiAgICAgcGFyYW1ldGVy
cy0+c2V0Qm9vbGVhbihBU0NJSUxpdGVyYWwoInNjcm9sbEludG9WaWV3SWZOZWVkZWQiKSwgb3B0
aW9ucy5jb250YWlucyhFbGVtZW50TGF5b3V0T3B0aW9uOjpTY3JvbGxJbnRvVmlld0lmTmVlZGVk
KSk7CiAgICAgcGFyYW1ldGVycy0+c2V0U3RyaW5nKEFTQ0lJTGl0ZXJhbCgiY29vcmRpbmF0ZVN5
c3RlbSIpLCBvcHRpb25zLmNvbnRhaW5zKEVsZW1lbnRMYXlvdXRPcHRpb246OlVzZVZpZXdwb3J0
Q29vcmRpbmF0ZXMpID8gQVNDSUlMaXRlcmFsKCJMYXlvdXRWaWV3cG9ydCIpIDogQVNDSUlMaXRl
cmFsKCJQYWdlIikpOwpAQCAtMTI4MCw3ICsxMjgwLDcgQEAgdm9pZCBTZXNzaW9uOjpzZWxlY3RP
cHRpb25FbGVtZW50KGNvbnN0IFN0cmluZyYgZWxlbWVudElELCBGdW5jdGlvbjx2b2lkIChDb21t
YW4KIHsKICAgICBSZWZQdHI8SW5zcGVjdG9yT2JqZWN0PiBwYXJhbWV0ZXJzID0gSW5zcGVjdG9y
T2JqZWN0OjpjcmVhdGUoKTsKICAgICBwYXJhbWV0ZXJzLT5zZXRTdHJpbmcoQVNDSUlMaXRlcmFs
KCJicm93c2luZ0NvbnRleHRIYW5kbGUiKSwgbV90b3BsZXZlbEJyb3dzaW5nQ29udGV4dC52YWx1
ZSgpKTsKLSAgICBwYXJhbWV0ZXJzLT5zZXRTdHJpbmcoQVNDSUlMaXRlcmFsKCJmcmFtZUhhbmRs
ZSIpLCBtX2N1cnJlbnRCcm93c2luZ0NvbnRleHQudmFsdWUoKSk7CisgICAgcGFyYW1ldGVycy0+
c2V0U3RyaW5nKEFTQ0lJTGl0ZXJhbCgiZnJhbWVIYW5kbGUiKSwgbV9jdXJyZW50QnJvd3NpbmdD
b250ZXh0LnZhbHVlX29yKGVtcHR5U3RyaW5nKCkpKTsKICAgICBwYXJhbWV0ZXJzLT5zZXRTdHJp
bmcoQVNDSUlMaXRlcmFsKCJub2RlSGFuZGxlIiksIGVsZW1lbnRJRCk7CiAgICAgbV9ob3N0LT5z
ZW5kQ29tbWFuZFRvQmFja2VuZChBU0NJSUxpdGVyYWwoInNlbGVjdE9wdGlvbkVsZW1lbnQiKSwg
V1RGTW92ZShwYXJhbWV0ZXJzKSwgW3RoaXMsIHByb3RlY3RlZFRoaXMgPSBtYWtlUmVmKCp0aGlz
KSwgY29tcGxldGlvbkhhbmRsZXIgPSBXVEZNb3ZlKGNvbXBsZXRpb25IYW5kbGVyKV0oU2Vzc2lv
bkhvc3Q6OkNvbW1hbmRSZXNwb25zZSYmIHJlc3BvbnNlKSB7CiAgICAgICAgIGlmIChyZXNwb25z
ZS5pc0Vycm9yKSB7Cg==
</data>
<flag name="review"
          id="346630"
          type_id="1"
          status="+"
          setter="darin"
    />
          </attachment>
      

    </bug>

</bugzilla>