<?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>179909</bug_id>
          
          <creation_ts>2017-11-21 01:12:36 -0800</creation_ts>
          <short_desc>[GLIB] Test FileMonitorTest.DetectChangeAndThenDelete sometimes crashes</short_desc>
          <delta_ts>2017-12-22 14:22:41 -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>Platform</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          <see_also>https://bugs.webkit.org/show_bug.cgi?id=181138</see_also>
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>Gtk, 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>bugs-noreply</cc>
    
    <cc>mcatanzaro</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1373943</commentid>
    <comment_count>0</comment_count>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2017-11-21 01:12:36 -0800</bug_when>
    <thetext>#0  _ih_sub_free (sub=0xaaaaaaaaaaaaaaaa) at inotify-sub.c:67
#1  0x00007f7346d8925e in g_inotify_file_monitor_cancel (monitor=&lt;optimized out&gt;) at ginotifyfilemonitor.c:76
#2  0x00007f7346ccda33 in g_file_monitor_cancel (monitor=0x5581b1bac380) at gfilemonitor.c:237
#3  0x00007f7346ccdabc in g_file_monitor_dispose (object=0x5581b1bac380) at gfilemonitor.c:122
#4  0x00007f7346d5c071 in g_local_file_monitor_dispose (object=0x5581b1bac380) at glocalfilemonitor.c:791
#5  0x00007f7347e61353 in g_object_unref (_object=0x5581b1bac380) at gobject.c:3293
#6  0x00005581af86e183 in WTF::RunLoop::performWork() ()
#7  0x00005581af8adab9 in WTF::RunLoop::RunLoop()::{lambda(void*)#1}::_FUN(void*) ()
#8  0x00007f7347b85405 in g_main_dispatch (context=0x7f73240008c0) at gmain.c:3148
#9  g_main_context_dispatch (context=context@entry=0x7f73240008c0) at gmain.c:3813
#10 0x00007f7347b857a8 in g_main_context_iterate (context=0x7f73240008c0, block=block@entry=1, dispatch=dispatch@entry=1, self=&lt;optimized out&gt;) at gmain.c:3886
#11 0x00007f7347b85ab2 in g_main_loop_run (loop=0x7f7324001200) at gmain.c:4082
#12 0x00005581af8ae488 in WTF::RunLoop::run() ()
#13 0x00005581af8ad452 in WTF::Function&lt;void ()&gt;::CallableWrapper&lt;WTF::WorkQueue::platformInitialize(char const*, WTF::WorkQueue::Type, WTF::WorkQueue::QOS)::{lambda()#1}&gt;::call() ()
#14 0x00005581af86f83b in WTF::Thread::entryPoint(WTF::Thread::NewThreadContext*) ()
#15 0x00005581af8ac5c9 in WTF::wtfThreadEntryPoint(void*) ()
#16 0x00007f7342c6f494 in start_thread (arg=0x7f732b1ff700) at pthread_create.c:333
#17 0x00007f733cb6fabf in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:97

I think the problem is that the GFileMonitor is created in the main thread, but destroyed in the work queue thread.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1373945</commentid>
    <comment_count>1</comment_count>
      <attachid>327393</attachid>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2017-11-21 01:16:32 -0800</bug_when>
    <thetext>Created attachment 327393
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1374022</commentid>
    <comment_count>2</comment_count>
      <attachid>327393</attachid>
    <who name="Michael Catanzaro">mcatanzaro</who>
    <bug_when>2017-11-21 08:25:53 -0800</bug_when>
    <thetext>Comment on attachment 327393
Patch

Aaah, this one had stumped me.

I think it&apos;s correct.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1374035</commentid>
    <comment_count>3</comment_count>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2017-11-21 08:53:50 -0800</bug_when>
    <thetext>Committed r225081: &lt;https://trac.webkit.org/changeset/225081&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1374036</commentid>
    <comment_count>4</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2017-11-21 08:54:23 -0800</bug_when>
    <thetext>&lt;rdar://problem/35658262&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>327393</attachid>
            <date>2017-11-21 01:16:32 -0800</date>
            <delta_ts>2017-11-21 08:25:53 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>wp-file-monitor.diff</filename>
            <type>text/plain</type>
            <size>3997</size>
            <attacher name="Carlos Garcia Campos">cgarcia</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZwppbmRleCAxNTQyODZiNWZkNS4uNGI4MDZhM2Q1ZTcgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwyMCBAQAorMjAxNy0xMS0yMSAgQ2FybG9zIEdhcmNpYSBDYW1wb3MgIDxjZ2FyY2lhQGln
YWxpYS5jb20+CisKKyAgICAgICAgW0dMSUJdIFRlc3QgRmlsZU1vbml0b3JUZXN0LkRldGVjdENo
YW5nZUFuZFRoZW5EZWxldGUgc29tZXRpbWVzIGNyYXNoZXMKKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE3OTkwOQorCisgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFRoZSBwcm9ibGVtIHNlbXMgdG8gYmUgdGhhdCB0
aGUgR0ZpbGVNb25pdG9yIGlzIGNyZWF0ZWQgaW4gdGhlIG1haW4gdGhyZWFkLCBidXQgZGVzdHJv
eWVkIGluIHRoZSBXb3JrUXVldWUKKyAgICAgICAgdGhyZWFkLiBXZSBjYW4gY3JlYXRlIHRoZSBt
b25pdG9yIGluIHRoZSBXb3JrUXVldWUgdGhyZWFkIGFuZCBkbyB0aGUgbW9uaXRvcmluZyB0aGVy
ZS4KKworICAgICAgICBGaXhlcyB1bml0IHRlc3QgRmlsZU1vbml0b3JUZXN0LkRldGVjdENoYW5n
ZUFuZFRoZW5EZWxldGUuCisKKyAgICAgICAgKiBwbGF0Zm9ybS9nbGliL0ZpbGVNb25pdG9yR0xp
Yi5jcHA6CisgICAgICAgIChXZWJDb3JlOjpGaWxlTW9uaXRvcjo6RmlsZU1vbml0b3IpOiBDcmVh
dGUgdGhlIEdGaWxlTW9uaXRvciBpbiB0aGUgV29ya1F1ZXVlLgorICAgICAgICAoV2ViQ29yZTo6
RmlsZU1vbml0b3I6OmRpZENoYW5nZSk6IE5vIG5lZWQgdG8gZGlzcGF0Y2ggdGhlIGhhbmRsZXIg
aW4gdGhlIFdvcmtRdWV1ZSwgc2luY2UgdGhpcyBpcyBub3cgY2FsbGVkIGluCisgICAgICAgIHRo
ZSBXb3JrUXVldWUuCisKIDIwMTctMTEtMjAgIE1hcmlvIFNhbmNoZXogUHJhZGEgIDxtYXJpb0Bl
bmRsZXNzbS5jb20+CiAKICAgICAgICAgW0dUS10gTmV3IEFQSSB0byBhZGQsIHJldHJpZXZlIGFu
ZCBkZWxldGUgY29va2llcyB2aWEgV2ViS2l0Q29va2llTWFuYWdlcgpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ2xpYi9GaWxlTW9uaXRvckdMaWIuY3BwIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ2xpYi9GaWxlTW9uaXRvckdMaWIuY3BwCmluZGV4IDk0OTI0ZTYxZGJm
Li44NGQ0OTZhNzQ4MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ2xpYi9G
aWxlTW9uaXRvckdMaWIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dsaWIvRmls
ZU1vbml0b3JHTGliLmNwcApAQCAtMzMsMjEgKzMzLDI0IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsK
IAogRmlsZU1vbml0b3I6OkZpbGVNb25pdG9yKGNvbnN0IFN0cmluZyYgcGF0aCwgUmVmPFdvcmtR
dWV1ZT4mJiBoYW5kbGVyUXVldWUsIFdURjo6RnVuY3Rpb248dm9pZChGaWxlQ2hhbmdlVHlwZSk+
JiYgbW9kaWZpY2F0aW9uSGFuZGxlcikKICAgICA6IG1faGFuZGxlclF1ZXVlKFdURk1vdmUoaGFu
ZGxlclF1ZXVlKSkKKyAgICAsIG1fbW9kaWZpY2F0aW9uSGFuZGxlcihXVEZNb3ZlKG1vZGlmaWNh
dGlvbkhhbmRsZXIpKQogewotICAgIGlmIChwYXRoLmlzRW1wdHkoKSB8fCAhbW9kaWZpY2F0aW9u
SGFuZGxlcikKKyAgICBpZiAocGF0aC5pc0VtcHR5KCkgfHwgIW1fbW9kaWZpY2F0aW9uSGFuZGxl
cikKICAgICAgICAgcmV0dXJuOwogCi0gICAgYXV0byBmaWxlID0gYWRvcHRHUmVmKGdfZmlsZV9u
ZXdfZm9yX3BhdGgoRmlsZVN5c3RlbTo6ZmlsZVN5c3RlbVJlcHJlc2VudGF0aW9uKHBhdGgpLmRh
dGEoKSkpOwogICAgIG1fY2FuY2VsbGFibGUgPSBhZG9wdEdSZWYoZ19jYW5jZWxsYWJsZV9uZXco
KSk7Ci0gICAgR1VuaXF1ZU91dFB0cjxHRXJyb3I+IGVycm9yOwotICAgIG1fcGxhdGZvcm1Nb25p
dG9yID0gYWRvcHRHUmVmKGdfZmlsZV9tb25pdG9yKGZpbGUuZ2V0KCksIEdfRklMRV9NT05JVE9S
X05PTkUsIG1fY2FuY2VsbGFibGUuZ2V0KCksICZlcnJvci5vdXRQdHIoKSkpOwotICAgIGlmICgh
bV9wbGF0Zm9ybU1vbml0b3IpIHsKLSAgICAgICAgV1RGTG9nQWx3YXlzKCJGYWlsZWQgdG8gY3Jl
YXRlIGEgbW9uaXRvciBmb3IgcGF0aCAlczogJXMiLCBwYXRoLnV0ZjgoKS5kYXRhKCksIGVycm9y
LT5tZXNzYWdlKTsKLSAgICAgICAgcmV0dXJuOwotICAgIH0KLQotICAgIG1fbW9kaWZpY2F0aW9u
SGFuZGxlciA9IFdURk1vdmUobW9kaWZpY2F0aW9uSGFuZGxlcik7Ci0gICAgZ19zaWduYWxfY29u
bmVjdChtX3BsYXRmb3JtTW9uaXRvci5nZXQoKSwgImNoYW5nZWQiLCBHX0NBTExCQUNLKGZpbGVD
aGFuZ2VkQ2FsbGJhY2spLCB0aGlzKTsKKyAgICBtX2hhbmRsZXJRdWV1ZS0+ZGlzcGF0Y2goW3Ro
aXMsIGNhbmNlbGxhYmxlID0gbV9jYW5jZWxsYWJsZSwgcGF0aCA9IHBhdGguaXNvbGF0ZWRDb3B5
KCldIHsKKyAgICAgICAgaWYgKGdfY2FuY2VsbGFibGVfaXNfY2FuY2VsbGVkKGNhbmNlbGxhYmxl
LmdldCgpKSkKKyAgICAgICAgICAgIHJldHVybjsKKyAgICAgICAgYXV0byBmaWxlID0gYWRvcHRH
UmVmKGdfZmlsZV9uZXdfZm9yX3BhdGgoRmlsZVN5c3RlbTo6ZmlsZVN5c3RlbVJlcHJlc2VudGF0
aW9uKHBhdGgpLmRhdGEoKSkpOworICAgICAgICBHVW5pcXVlT3V0UHRyPEdFcnJvcj4gZXJyb3I7
CisgICAgICAgIG1fcGxhdGZvcm1Nb25pdG9yID0gYWRvcHRHUmVmKGdfZmlsZV9tb25pdG9yKGZp
bGUuZ2V0KCksIEdfRklMRV9NT05JVE9SX05PTkUsIG1fY2FuY2VsbGFibGUuZ2V0KCksICZlcnJv
ci5vdXRQdHIoKSkpOworICAgICAgICBpZiAoIW1fcGxhdGZvcm1Nb25pdG9yKSB7CisgICAgICAg
ICAgICBXVEZMb2dBbHdheXMoIkZhaWxlZCB0byBjcmVhdGUgYSBtb25pdG9yIGZvciBwYXRoICVz
OiAlcyIsIHBhdGgudXRmOCgpLmRhdGEoKSwgZXJyb3ItPm1lc3NhZ2UpOworICAgICAgICAgICAg
cmV0dXJuOworICAgICAgICB9CisgICAgICAgIGdfc2lnbmFsX2Nvbm5lY3QobV9wbGF0Zm9ybU1v
bml0b3IuZ2V0KCksICJjaGFuZ2VkIiwgR19DQUxMQkFDSyhmaWxlQ2hhbmdlZENhbGxiYWNrKSwg
dGhpcyk7CisgICAgfSk7CiB9CiAKIEZpbGVNb25pdG9yOjp+RmlsZU1vbml0b3IoKQpAQCAtNzIs
MTUgKzc1LDE1IEBAIHZvaWQgRmlsZU1vbml0b3I6OmZpbGVDaGFuZ2VkQ2FsbGJhY2soR0ZpbGVN
b25pdG9yKiwgR0ZpbGUqLCBHRmlsZSosIEdGaWxlTW9uaXRvCiAKIHZvaWQgRmlsZU1vbml0b3I6
OmRpZENoYW5nZShGaWxlQ2hhbmdlVHlwZSB0eXBlKQogewotICAgIG1faGFuZGxlclF1ZXVlLT5k
aXNwYXRjaChbdGhpcywgY2FuY2VsbGFibGUgPSBtX2NhbmNlbGxhYmxlLCB0eXBlXSB7Ci0gICAg
ICAgIGlmIChnX2NhbmNlbGxhYmxlX2lzX2NhbmNlbGxlZChjYW5jZWxsYWJsZS5nZXQoKSkpCi0g
ICAgICAgICAgICByZXR1cm47Ci0gICAgICAgIG1fbW9kaWZpY2F0aW9uSGFuZGxlcih0eXBlKTsK
LSAgICAgICAgaWYgKHR5cGUgPT0gRmlsZUNoYW5nZVR5cGU6OlJlbW92YWwpIHsKLSAgICAgICAg
ICAgIGdfY2FuY2VsbGFibGVfY2FuY2VsKG1fY2FuY2VsbGFibGUuZ2V0KCkpOwotICAgICAgICAg
ICAgbV9wbGF0Zm9ybU1vbml0b3IgPSBudWxscHRyOwotICAgICAgICB9Ci0gICAgfSk7CisgICAg
QVNTRVJUKCFpc01haW5UaHJlYWQoKSk7CisgICAgaWYgKGdfY2FuY2VsbGFibGVfaXNfY2FuY2Vs
bGVkKG1fY2FuY2VsbGFibGUuZ2V0KCkpKSB7CisgICAgICAgIG1fcGxhdGZvcm1Nb25pdG9yID0g
bnVsbHB0cjsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKworICAgIG1fbW9kaWZpY2F0aW9uSGFu
ZGxlcih0eXBlKTsKKyAgICBpZiAodHlwZSA9PSBGaWxlQ2hhbmdlVHlwZTo6UmVtb3ZhbCkKKyAg
ICAgICAgbV9wbGF0Zm9ybU1vbml0b3IgPSBudWxscHRyOwogfQogCiB9IC8vIG5hbWVzcGFjZSBX
ZWJDb3JlCg==
</data>
<flag name="review"
          id="346625"
          type_id="1"
          status="+"
          setter="mcatanzaro"
    />
          </attachment>
      

    </bug>

</bugzilla>