<?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>167545</bug_id>
          
          <creation_ts>2017-01-28 01:01:55 -0800</creation_ts>
          <short_desc>[Threaded Compositor] Crash when deleting the compositor run loop</short_desc>
          <delta_ts>2017-01-28 23:17:05 -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>WebKitGTK</component>
          <version>WebKit Local 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</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>bugs-noreply</cc>
    
    <cc>commit-queue</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1270942</commentid>
    <comment_count>0</comment_count>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2017-01-28 01:01:55 -0800</bug_when>
    <thetext>I&apos;ve seen this in bots:

Thread 1 (Thread 0x7ff68447c940 (LWP 18142)):
#0  0x00007ff68a721067 in __GI_raise (sig=sig@entry=6) at ../nptl/sysdeps/unix/sysv/linux/raise.c:56
#1  0x00007ff68a722448 in __GI_abort () at abort.c:89
#2  0x00007ff68ccc1105 in g_assertion_message () at /home/slave/webkitgtk/gtk-linux-64-release-tests/build/WebKitBuild/DependenciesGTK/Source/glib-2.44.1/glib/gtestutils.c:2356
#3  0x00007ff68ccc118a in g_assertion_message_expr () at /home/slave/webkitgtk/gtk-linux-64-release-tests/build/WebKitBuild/DependenciesGTK/Source/glib-2.44.1/glib/gtestutils.c:2371
#4  0x00007ff68cc8b1be in g_hash_table_lookup_node () at /home/slave/webkitgtk/gtk-linux-64-release-tests/build/WebKitBuild/DependenciesGTK/Source/glib-2.44.1/glib/ghash.c:373
#5  g_hash_table_remove_internal () at /home/slave/webkitgtk/gtk-linux-64-release-tests/build/WebKitBuild/DependenciesGTK/Source/glib-2.44.1/glib/ghash.c:1352
#6  0x00007ff68cc991a8 in g_source_unref_internal () at /home/slave/webkitgtk/gtk-linux-64-release-tests/build/WebKitBuild/DependenciesGTK/Source/glib-2.44.1/glib/gmain.c:2009
#7  0x00007ff6936e2b9d in WebKit::CompositingRunLoop::~CompositingRunLoop() () from /home/slave/webkitgtk/gtk-linux-64-release/build/WebKitBuild/Release/lib/libwebkit2gtk-4.0.so.37
#8  0x00007ff6936e4734 in WebKit::ThreadedCompositor::invalidate() () from /home/slave/webkitgtk/gtk-linux-64-release/build/WebKitBuild/Release/lib/libwebkit2gtk-4.0.so.37
#9  0x00007ff6936ee350 in WebKit::ThreadedCoordinatedLayerTreeHost::invalidate() () from /home/slave/webkitgtk/gtk-linux-64-release/build/WebKitBuild/Release/lib/libwebkit2gtk-4.0.so.37
#10 0x00007ff6936d09bb in WebKit::DrawingAreaImpl::exitAcceleratedCompositingMode() () from /home/slave/webkitgtk/gtk-linux-64-release/build/WebKitBuild/Release/lib/libwebkit2gtk-4.0.so.37
#11 0x00007ff6913718aa in WTF::RunLoop::TimerBase::TimerBase(WTF::RunLoop&amp;)::{lambda(void*)#1}::_FUN(void*) () from /home/slave/webkitgtk/gtk-linux-64-release/build/WebKitBuild/Release/lib/libjavascriptcoregtk-4.0.so.18
#12 0x00007ff68cc9becd in g_main_dispatch () at /home/slave/webkitgtk/gtk-linux-64-release-tests/build/WebKitBuild/DependenciesGTK/Source/glib-2.44.1/glib/gmain.c:3122
#13 g_main_context_dispatch () at /home/slave/webkitgtk/gtk-linux-64-release-tests/build/WebKitBuild/DependenciesGTK/Source/glib-2.44.1/glib/gmain.c:3737
#14 0x00007ff68cc9c268 in g_main_context_iterate () at /home/slave/webkitgtk/gtk-linux-64-release-tests/build/WebKitBuild/DependenciesGTK/Source/glib-2.44.1/glib/gmain.c:3808
#15 0x00007ff68cc9c582 in g_main_loop_run () at /home/slave/webkitgtk/gtk-linux-64-release-tests/build/WebKitBuild/DependenciesGTK/Source/glib-2.44.1/glib/gmain.c:4002
#16 0x00007ff691371c50 in WTF::RunLoop::run() () from /home/slave/webkitgtk/gtk-linux-64-release/build/WebKitBuild/Release/lib/libjavascriptcoregtk-4.0.so.18
#17 0x00007ff6936d71e2 in WebProcessMainUnix () from /home/slave/webkitgtk/gtk-linux-64-release/build/WebKitBuild/Release/lib/libwebkit2gtk-4.0.so.37
#18 0x00007ff68a70db45 in __libc_start_main (main=0x400bf0 &lt;main&gt;, argc=2, argv=0x7fff81f67e88, init=&lt;optimized out&gt;, fini=&lt;optimized out&gt;, rtld_fini=&lt;optimized out&gt;, stack_end=0x7fff81f67e78) at libc-start.c:287
#19 0x0000000000400c45 in _start ()

The problem is that we are releasing the WorkQueue before the update timer that keeps a reference to the run loop, destroyed by the WorkQueue</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1270943</commentid>
    <comment_count>1</comment_count>
      <attachid>300012</attachid>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2017-01-28 01:13:56 -0800</bug_when>
    <thetext>Created attachment 300012
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1270944</commentid>
    <comment_count>2</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2017-01-28 01:15:56 -0800</bug_when>
    <thetext>Attachment 300012 did not pass style-queue:


ERROR: Source/WebKit2/Shared/CoordinatedGraphics/threadedcompositor/CompositingRunLoop.cpp:126:  More than one command on the same line  [whitespace/newline] [4]
Total errors found: 1 in 2 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1271041</commentid>
    <comment_count>3</comment_count>
      <attachid>300012</attachid>
    <who name="Michael Catanzaro">mcatanzaro</who>
    <bug_when>2017-01-28 12:38:33 -0800</bug_when>
    <thetext>Comment on attachment 300012
Patch

:/</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1271096</commentid>
    <comment_count>4</comment_count>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2017-01-28 23:17:05 -0800</bug_when>
    <thetext>Committed r211347: &lt;http://trac.webkit.org/changeset/211347&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>300012</attachid>
            <date>2017-01-28 01:13:56 -0800</date>
            <delta_ts>2017-01-28 12:38:33 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>wk2-compositing-loop-crash.diff</filename>
            <type>text/plain</type>
            <size>2035</size>
            <attacher name="Carlos Garcia Campos">cgarcia</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQyL0No
YW5nZUxvZwppbmRleCBmOTRiMTE2Y2YxMi4uNmU1MzFkZmUwYzggMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQyL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwxNyBAQAorMjAxNy0wMS0yOCAgQ2FybG9zIEdhcmNpYSBDYW1wb3MgIDxjZ2FyY2lhQGln
YWxpYS5jb20+CisKKyAgICAgICAgW1RocmVhZGVkIENvbXBvc2l0b3JdIENyYXNoIHdoZW4gZGVs
ZXRpbmcgdGhlIGNvbXBvc2l0b3IgcnVuIGxvb3AKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTE2NzU0NQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9E
WSAoT09QUyEpLgorCisgICAgICAgIFRoZSBwcm9ibGVtIGlzIHRoYXQgd2UgYXJlIHJlbGVhc2lu
ZyB0aGUgV29ya1F1ZXVlIGJlZm9yZSB0aGUgdXBkYXRlIHRpbWVyIHRoYXQga2VlcHMgYSByZWZl
cmVuY2UgdG8gdGhlIHJ1bgorICAgICAgICBsb29wLCBkZXN0cm95ZWQgYnkgdGhlIFdvcmtRdWV1
ZS4gU28sIGludmFsaWRhdGUgdGhlIFdvcmtRdWV1ZSBpbiB0aGUgbmV4dCBydW4gbG9vcCBpdGVy
YXRpb24gdG8gZW5zdXJlIGl0CisgICAgICAgIGhhcHBlbnMgYWZ0ZXIgdGhlIENvbXBvc2l0aW5n
UnVuTG9vcCBkZXN0cnVjdG9yLgorCisgICAgICAgICogU2hhcmVkL0Nvb3JkaW5hdGVkR3JhcGhp
Y3MvdGhyZWFkZWRjb21wb3NpdG9yL0NvbXBvc2l0aW5nUnVuTG9vcC5jcHA6CisgICAgICAgIChX
ZWJLaXQ6OkNvbXBvc2l0aW5nUnVuTG9vcDo6fkNvbXBvc2l0aW5nUnVuTG9vcCk6CisKIDIwMTct
MDEtMjcgIENhcmxvcyBHYXJjaWEgQ2FtcG9zICA8Y2dhcmNpYUBpZ2FsaWEuY29tPgogCiAgICAg
ICAgIFtHVEtdIEFkZCBBUEkgdG8gaGFuZGxlIHRoZSBhY2NlbGVyYXRlZCBjb21wb3NpdGluZyBw
b2xpY3kKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9Db29yZGluYXRlZEdyYXBo
aWNzL3RocmVhZGVkY29tcG9zaXRvci9Db21wb3NpdGluZ1J1bkxvb3AuY3BwIGIvU291cmNlL1dl
YktpdDIvU2hhcmVkL0Nvb3JkaW5hdGVkR3JhcGhpY3MvdGhyZWFkZWRjb21wb3NpdG9yL0NvbXBv
c2l0aW5nUnVuTG9vcC5jcHAKaW5kZXggNDBkYzRmNDQ1NmMuLmE2ZWVlM2ZkOWQ3IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvQ29vcmRpbmF0ZWRHcmFwaGljcy90aHJlYWRlZGNv
bXBvc2l0b3IvQ29tcG9zaXRpbmdSdW5Mb29wLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9TaGFy
ZWQvQ29vcmRpbmF0ZWRHcmFwaGljcy90aHJlYWRlZGNvbXBvc2l0b3IvQ29tcG9zaXRpbmdSdW5M
b29wLmNwcApAQCAtMTE5LDcgKzExOSwxMSBAQCBDb21wb3NpdGluZ1J1bkxvb3A6OkNvbXBvc2l0
aW5nUnVuTG9vcChzdGQ6OmZ1bmN0aW9uPHZvaWQgKCk+JiYgdXBkYXRlRnVuY3Rpb24pCiAKIENv
bXBvc2l0aW5nUnVuTG9vcDo6fkNvbXBvc2l0aW5nUnVuTG9vcCgpCiB7Ci0gICAgV29ya1F1ZXVl
UG9vbDo6c2luZ2xldG9uKCkuaW52YWxpZGF0ZSh0aGlzKTsKKyAgICBBU1NFUlQoaXNNYWluVGhy
ZWFkKCkpOworICAgIC8vIE1ha2Ugc3VyZSB0aGUgV29ya1F1ZXVlIGlzIGRlbGV0ZWQgYWZ0ZXIg
dGhlIENvbXBvc2l0aW5nUnVuTG9vcCwgYmVjYXVzZSBtX3VwZGF0ZVRpbWVyIGhhcyBhIHJlZmVy
ZW5jZQorICAgIC8vIG9mIHRoZSBXb3JrUXVldWUgcnVuIGxvb3AuIFBhc3NpbmcgdGhpcyBpcyBu
b3QgYSBwcm9ibGVtIGJlY2F1c2UgdGhlIHBvaW50ZXIgd2lsbCBvbmx5IGJlIHVzZWQgYXMgYQor
ICAgIC8vIEhhc2hNYXAga2V5IGJ5IFdvcmtRdWV1ZVBvb2wuCisgICAgUnVuTG9vcDo6bWFpbigp
LmRpc3BhdGNoKFtjb250ZXh0ID0gdGhpc10geyBXb3JrUXVldWVQb29sOjpzaW5nbGV0b24oKS5p
bnZhbGlkYXRlKGNvbnRleHQpOyB9KTsKIH0KIAogdm9pZCBDb21wb3NpdGluZ1J1bkxvb3A6OnBl
cmZvcm1UYXNrKEZ1bmN0aW9uPHZvaWQgKCk+JiYgZnVuY3Rpb24pCg==
</data>
<flag name="review"
          id="321936"
          type_id="1"
          status="+"
          setter="mcatanzaro"
    />
          </attachment>
      

    </bug>

</bugzilla>