Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Spurious FSEventStreamStart log messages on OS X #248

Closed
aaronc opened this issue Jul 10, 2015 · 16 comments
Closed

Spurious FSEventStreamStart log messages on OS X #248

aaronc opened this issue Jul 10, 2015 · 16 comments

Comments

@aaronc
Copy link

aaronc commented Jul 10, 2015

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

@alandipert alandipert added this to the future milestone Jul 11, 2015
@alandipert
Copy link
Contributor

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

@aaronc
Copy link
Author

aaronc commented Jul 11, 2015

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
Copy link
Contributor

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

@drakezhard
Copy link

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
Copy link

kirked commented Sep 26, 2015

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
Copy link

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
Copy link
Contributor

piranha commented Oct 14, 2015

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
Copy link

cigitia commented Oct 22, 2015

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
Copy link

cigitia commented Oct 22, 2015

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
Copy link
Member

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
Copy link
Contributor

micha commented Oct 22, 2015

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
Copy link

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 martinklepsch added macOS and removed mac labels Dec 22, 2017
@martinklepsch
Copy link
Member

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

@martinklepsch
Copy link
Member

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
Copy link
Contributor

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

@burn2delete
Copy link
Contributor

Closing for now, please reopen if still an issue.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

10 participants