boot-clj / boot

Build tooling for Clojure.
https://boot-clj.github.io/
Eclipse Public License 1.0
1.75k stars 180 forks source link

Spurious FSEventStreamStart log messages on OS X #248

Closed aaronc closed 5 years ago

aaronc commented 9 years ago

See this thread for details: https://groups.google.com/forum/#!topic/clojurescript/KUcELEvX18A

alandipert commented 9 years ago

Can you please provide the corresponding OS X point version and boot -V output?

aaronc commented 9 years ago

OS X 10.10.3 (14D136)

#https://github.com/boot-clj/boot
#Fri Jul 10 21:42:45 EDT 2015
BOOT_CLOJURE_VERSION=1.7.0
BOOT_VERSION=2.1.2
#App version: 2.0.0

There is a pending update to 10.10.4 from the App Store - maybe I should install that.

alandipert commented 9 years ago

@aaronc Thanks, and yes if you can test on 10.10.4 that would be helpful as well.

drakezhard commented 8 years ago

I have the same problem with the same boot version and OS X version. The update to 10.10.4 didn't fix it.

kirked commented 8 years ago

Replied in the group thread, but I found this PR for libuv from 2013 when they had the issue, and an older post that describe the problem.

Apparently there are too many filesystem-change watch processes with large file sets on the same device. The fix implemented in libuv appears to be to use a single watcher for a device and filter the changes on notification to the ones you're really interested in.

drakezhard commented 8 years ago

Yeah I figured it out myself just now, I added "target" to resources to serve files properly with pedestal, and triggered an infinite watch loop. (set-env! :resource-paths #(disj % "target")) before the development task fixed it. Thanks anyway kirked.

piranha commented 8 years ago

Same thing for me when I'm building uberjar! Though removing "target" from :resource-paths doesn't really help, I'm pointing to different :target-path when building uberjar now.

cigitia commented 8 years ago

I’m encountering the same problem for all boot tasks, including boot only and boot repl. No tasks are able to run at all. The error’s output is identical with that in the Google Groups thread.

Restarting my computer does not resolve the problem; clearing the build.boot file does not resolve the problem. I was able temporarily to resolve the problem by clearing all files from ~/.boot/tmp and clearing my build.boot file to have blank content, but restoring my old build.boot file made the problem reoccur.

I'm using OS X 10.11 (15A284). boot -v outputs:

#https://github.com/boot-clj/boot
BOOT_CLOJURE_VERSION=1.7.0
BOOT_VERSION=2.3.0
#App version: 2.2.0
cigitia commented 8 years ago

I've determined the problem after finding a related node.js issue. Three days ago, I installed two NPM modules into a node_modules subfolder within my source tree, in order to have them appear in my target directory. Removing the node_modules folder and, once more, clearing ~/.boot/tmp together solved my issue: it probably is due to how many files the NPM modules contain. As a stopgap, it possible to exclude specific source subfolders from Boot’s file monitoring?

martinklepsch commented 8 years ago

As a stopgap, it possible to exclude specific source subfolders from Boot’s file monitoring?

I'm looking into this right now and it seems very much possible.

micha commented 8 years ago

Wouldn't the best fix be to prevent watching directories that contain too many files? Rather than forcing the user to explicitly exclude them?

thedavidmeister commented 7 years ago

FYI i'm seeing this on OS X 10.12.3

$ boot -V
#http://boot-clj.com
#Fri Mar 24 12:58:43 AEDT 2017
BOOT_CLOJURE_NAME=org.clojure/clojure
BOOT_CLOJURE_VERSION=1.8.0
BOOT_VERSION=2.5.5
martinklepsch commented 6 years ago

This PR allows exclusion of certain directories from being watched. These changes could probably affect the issues outlined here.

martinklepsch commented 6 years ago

Apparently there are too many filesystem-change watch processes with large file sets on the same device. The fix implemented in libuv appears to be to use a single watcher for a device and filter the changes on notification to the ones you're really interested in.

FWIW this also seems like an interesting observation but not sure how applicable that is to Boot.

burn2delete commented 5 years ago

Is this happening for anyone? I am on 10.14.2 with no issues and large directories.

burn2delete commented 5 years ago

Closing for now, please reopen if still an issue.