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

Error: watch EMFILE - 0.0.33 #974

Closed
brandonparsons opened this issue Jun 11, 2014 · 70 comments
Closed

Error: watch EMFILE - 0.0.33 #974

brandonparsons opened this issue Jun 11, 2014 · 70 comments

Comments

@brandonparsons
Copy link

I've started getting the following error on upgrade from 0.0.28 to 0.0.33.

$ ember server
version: 0.0.33
Livereload server on port 35729
Serving on http://0.0.0.0:4200
fs.js:1051
    throw errnoException(process._errno, 'watch');
          ^
Error: watch EMFILE
  at errnoException (fs.js:1019:11)
  at FSWatcher.start (fs.js:1051:11)
  at Object.fs.watch (fs.js:1076:11)
  at Watcher.watchdir (/Users/brandon/projects/erp/ember/new-version-ember-app/node_modules/ember-cli/node_modules/broccoli-sane-watcher/node_modules/sane/index.js:184:20)
  at Walker.EventEmitter.emit (events.js:98:17)
  at /Users/brandon/projects/erp/ember/new-version-ember-app/node_modules/ember-cli/node_modules/broccoli-sane-watcher/node_modules/sane/node_modules/walker/lib/walker.js:69:16
  at ReaddirReq.Req.done (/Users/brandon/projects/erp/ember/new-version-ember-app/node_modules/ember-cli/node_modules/leek/node_modules/configstore/node_modules/graceful-fs/graceful-fs.js:143:5)
  at ReaddirReq.done (/Users/brandon/projects/erp/ember/new-version-ember-app/node_modules/ember-cli/node_modules/leek/node_modules/configstore/node_modules/graceful-fs/graceful-fs.js:90:22)
  at Object.oncomplete (fs.js:107:15)

I'm not sure if this is related to #513, but I don't think it has anything to do with #901 as I haven't installed anything by the name of ace-builds.

@stefanpenner
Copy link
Contributor

@brandonparsons i am fairly confident you are missing a file/folder, broccoli tells the watcher to watch a nonexistent file and then boom. like the watcher should not be informed, or for some reason a file did exist but was removed for some reason...

This isn't really enough information to go one, please provide steps to reproduce on master.

Clearly a better error message is needed.

@brandonparsons
Copy link
Author

rm -rf tmp/ && rm -rf node_modules && npm install didn't seem to work. Any way to tell what I'm missing?

@stefanpenner
Copy link
Contributor

bower install? Without more details or steps to reprouce its hard to help. Is suspect with some improved errors in broccoli filters and the watcher this problem could be made self obvious

@brandonparsons
Copy link
Author

bower install does not help.

@brandonparsons
Copy link
Author

I guess I could try ember init again and see if it comes up with any new files

@brandonparsons
Copy link
Author

Have there been any changes in the way Brocfile.js should be put together? I have added a bunch of libraries through there....

// All of this is added to the bottom of Brocfile.js

var pickFiles   = require('ember-cli/node_modules/broccoli-static-compiler');
var mergeTrees  = require('ember-cli/node_modules/broccoli-merge-trees');
var concatFiles = require('ember-cli/node_modules/broccoli-concat');

/* These are only compiled in development */
if (app.env !== 'production') {

  // Used for faking responses in tests
  app.import('vendor/route-recognizer/dist/route-recognizer.js');
  app.import('vendor/FakeXMLHttpRequest/fake_xml_http_request.js');
  app.import('vendor/pretender/pretender.js');

  // https://github.com/aexmachina/ember-debug
  app.import('vendor/ember-debug/ember-debug.js');
}
/* */


/* Additional Javascript libraries */
app.import('vendor/momentjs/moment.js');

app.import('vendor/ember-simple-auth/ember-simple-auth.js');

app.import('vendor/ember-google-analytics/ember-google-analytics.js');

app.import('vendor/ember-validations/index.js');

app.import('vendor/ember-forms/dist/ember_forms.js');

app.import('vendor/ember-spin-box/dist/ember-spin-box.js');
app.import('vendor/ember-date-picker/dist/ember-date-picker.js');

app.import('vendor/lodash/dist/lodash.min.js');

app.import('vendor/fastclick/lib/fastclick.js');

// Standard Bootstrap javascript
['transition.js', 'dropdown.js', 'collapse.js', 'modal.js', 'tooltip.js', 'popover.js'].forEach(function (path) {
  var fullPath = 'vendor/bootstrap-sass-official/vendor/assets/javascripts/bootstrap/' + path;
  app.import(fullPath);
});

// Bootstrap for ember
// Careful adding additional modules here - some require full handlebars.js, and by default ember-cli only includes runtime in production
['bs-core.min.js', 'bs-modal.min.js', 'bs-label.min.js', 'bs-button.min.js', 'bs-basic.min.js', 'bs-popover.min.js', 'bs-progressbar.min.js'].forEach(function (path) {
  var fullPath = 'vendor/ember-addons.bs_for_ember/dist/js/' + path;
  app.import(fullPath);
});
/* */


/* Additional CSS (goes to vendor.css) */
app.import('vendor/alertify.js/themes/alertify.core.css');
app.import('vendor/alertify.js/themes/alertify.default.css');

app.import('vendor/ember-spin-box/dist/ember-spin-box.css');
app.import('vendor/ember-date-picker/dist/ember-date-picker.css');

app.import('vendor/font-awesome/css/font-awesome.min.css');
/* */


/* Import fontawesome fonts */
var fontawesome = pickFiles('vendor/font-awesome/', {
  srcDir: '/fonts',
  // files: isn't strictly necessary (if left out will load all files), but
  // leaving in to be explicit.
  files: [
    'fontawesome-webfont.ttf',
    'fontawesome-webfont.woff',
    'fontawesome-webfont.eot',
    'FontAwesome.otf',
    'fontawesome-webfont.svg'
  ],
  destDir: '/fonts'
});
/* */



/* Import alertify (this is an un-named AMD module, just load into the window.) */
/* In the future, ember-cli may handle un-named modules. */
var alertifyJS = pickFiles('vendor/alertify.js', {
  srcDir:   '/lib',
  files:    ['alertify.min.js'],
  destDir:  '/assets/vendor'
});
/* */


/* Import hello.js (this is an un-named AMD module, just load into the window.) */
/* In the future, ember-cli may handle un-named modules. */
var helloJS = pickFiles('vendor/hello', {
  srcDir:   '/dist',
  files:    ['hello.all.min.js'],
  destDir: '/assets/vendor'
});
/* */


/* Import headroom.js (no AMD package, just load into the window.) */
var headroom = pickFiles('vendor', {
  srcDir:   '/',
  files:    ['headroom.min.js'],
  destDir: '/assets/vendor'
});
/* */


/* */
module.exports = mergeTrees([
  fontawesome,
  alertifyJS,
  helloJS,
  headroom,
  app.toTree() // module.exports = app.toTree();
]);
/* */

@brandonparsons
Copy link
Author

No dice either on npm update -g broccoli

@rwjblue
Copy link
Member

rwjblue commented Jun 11, 2014

broccolijs/broccoli-sane-watcher#8 should help a bit on watching missing files/folders.

@brandonparsons
Copy link
Author

I tried hacking this into my node_modules folder, but it doesn't appear to throw the error.

I even did a console.log to test it was running:

Watcher.prototype.addWatchDir = function Watcher_addWatchDir(dir) {
  if (this.watched[dir]) return;

  console.log("Here!");

  if (!fs.existsSync(dir)) {
    throw new Error('Attempting to watch missing directory: ' + dir);
  }

I see the console.log message, but no error is thrown

@andycrum
Copy link
Contributor

@brandonparsons when I've run into this kind of stuff, running npm cache clear and npm install again has usually solved them. Not a great solution, but maybe it would help...

@brandonparsons
Copy link
Author

rm -rf tmp/
rm -rf node_modules/
npm cache clear
npm install

Still errors out :( :(

ulimit -c unlimited

Still fails.

@brandonparsons
Copy link
Author

FWIW I get this using version: 0.0.33-master-675d2476f2 as well.

@alvincrespo
Copy link

@brandonparsons We were also encountering the same issue on one of my coworkers setup. I was on 0.0.29 and they had 0.0.33. I went through the upgrade process with them and the first thing we noticed was that the Brocfile was different and so was the package.json.

I would recommend doing an ember init in your project and then going through the process of overwriting those two files (Brocfile and package.json). Then use GitX or some other tool to stage the new changes and discard the the removed lines.

Once we went through this process, everything worked correctly. I hope this helps!

@brandonparsons
Copy link
Author

Hi @alvincrespo thanks for looking at this. I have done a full ember init in my project using 0.0.33 and diffed all of the new files and changes. I believe I am using the latest Brocfile & package.json formats.

@brandonparsons
Copy link
Author

// Brocfile.js

/* global require, module */

var EmberApp = require('ember-cli/lib/broccoli/ember-app');

var app = new EmberApp({
  name: require('./package.json').name,

  minifyCSS: {
    enabled: true,
    options: {}
  },

  getEnvJSON: require('./config/environment')
});

// Use `app.import` to add additional libraries to the generated
// output files.
//
// If you need to use different assets in different
// environments, specify an object as the first parameter. That
// object's keys should be the environment name and the values
// should be the asset to use in that environment.
//
// If the library that you are including contains AMD or ES6
// modules that you would like to import into your application
// please specify an object with the list of modules as keys
// along with the exports of each module as its value.

app.import({
  development: 'vendor/ember-data/ember-data.js',
  production:  'vendor/ember-data/ember-data.prod.js'
}, {
  'ember-data': [
    'default'
  ]
});

app.import('vendor/ic-ajax/dist/named-amd/main.js', {
  'ic-ajax': [
    'default',
    'defineFixture',
    'lookupFixture',
    'raw',
    'request',
  ]
});


// module.exports = app.toTree();


//            //
// BKP-CUSTOM //
//            //

var pickFiles   = require('ember-cli/node_modules/broccoli-static-compiler');
var mergeTrees  = require('ember-cli/node_modules/broccoli-merge-trees');
var concatFiles = require('ember-cli/node_modules/broccoli-concat');

/* These are only compiled in development */
if (app.env !== 'production') {

  // Used for faking responses in tests
  app.import('vendor/route-recognizer/dist/route-recognizer.js');
  app.import('vendor/FakeXMLHttpRequest/fake_xml_http_request.js');
  app.import('vendor/pretender/pretender.js');

  // https://github.com/aexmachina/ember-debug
  app.import('vendor/ember-debug/ember-debug.js');
}
/* */


/* Additional Javascript libraries */
app.import('vendor/momentjs/moment.js');

app.import('vendor/ember-simple-auth/ember-simple-auth.js');

app.import('vendor/ember-google-analytics/ember-google-analytics.js');

app.import('vendor/ember-validations/index.js');

app.import('vendor/ember-forms/dist/ember_forms.js');

app.import('vendor/ember-spin-box/dist/ember-spin-box.js');
app.import('vendor/ember-date-picker/dist/ember-date-picker.js');

app.import('vendor/lodash/dist/lodash.min.js');

app.import('vendor/fastclick/lib/fastclick.js');

// Standard Bootstrap javascript
['transition.js', 'dropdown.js', 'collapse.js', 'modal.js', 'tooltip.js', 'popover.js'].forEach(function (path) {
  var fullPath = 'vendor/bootstrap-sass-official/vendor/assets/javascripts/bootstrap/' + path;
  app.import(fullPath);
});

// Bootstrap for ember
// Careful adding additional modules here - some require full handlebars.js, and by default ember-cli only includes runtime in production
['bs-core.min.js', 'bs-modal.min.js', 'bs-label.min.js', 'bs-button.min.js', 'bs-basic.min.js', 'bs-popover.min.js', 'bs-progressbar.min.js'].forEach(function (path) {
  var fullPath = 'vendor/ember-addons.bs_for_ember/dist/js/' + path;
  app.import(fullPath);
});
/* */


/* Additional CSS (goes to vendor.css) */
app.import('vendor/alertify.js/themes/alertify.core.css');
app.import('vendor/alertify.js/themes/alertify.default.css');

app.import('vendor/ember-spin-box/dist/ember-spin-box.css');
app.import('vendor/ember-date-picker/dist/ember-date-picker.css');

app.import('vendor/font-awesome/css/font-awesome.min.css');
/* */


/* Import fontawesome fonts */
var fontawesome = pickFiles('vendor/font-awesome/', {
  srcDir: '/fonts',
  // files: isn't strictly necessary (if left out will load all files), but
  // leaving in to be explicit.
  files: [
    'fontawesome-webfont.ttf',
    'fontawesome-webfont.woff',
    'fontawesome-webfont.eot',
    'FontAwesome.otf',
    'fontawesome-webfont.svg'
  ],
  destDir: '/fonts'
});
/* */



/* Import alertify (this is an un-named AMD module, just load into the window.) */
/* In the future, ember-cli may handle un-named modules. */
var alertifyJS = pickFiles('vendor/alertify.js', {
  srcDir:   '/lib',
  files:    ['alertify.min.js'],
  destDir:  '/assets/vendor'
});
/* */


/* Import hello.js (this is an un-named AMD module, just load into the window.) */
/* In the future, ember-cli may handle un-named modules. */
var helloJS = pickFiles('vendor/hello', {
  srcDir:   '/dist',
  files:    ['hello.all.min.js'],
  destDir: '/assets/vendor'
});
/* */


/* Import headroom.js (no AMD package, just load into the window.) */
var headroom = pickFiles('vendor', {
  srcDir:   '/',
  files:    ['headroom.min.js'],
  destDir: '/assets/vendor'
});
/* */


/* */
module.exports = mergeTrees([
  fontawesome,
  alertifyJS,
  helloJS,
  headroom,
  app.toTree() // module.exports = app.toTree();
]);
/* */
// package.json

{
  "name": "myapp",
  "version": "0.0.0",
  "private": true,
  "directories": {
    "doc": "doc",
    "test": "test"
  },
  "scripts": {
    "start": "ember server",
    "build": "ember build",
    "test": "ember test"
  },
  "repository": "https://bitbucket.org/myapp",
  "engines": {
    "node": ">= 0.10.0"
  },
  "author": "Brandon Parsons",
  "license": "",
  "devDependencies": {
    "ember-cli": "0.0.33",
    "originate": "0.1.5",
    "broccoli-ember-hbs-template-compiler": "^1.5.0",
    "express": "^4.1.1",
    "body-parser": "^1.2.0",
    "glob": "^3.2.9",
    "broccoli-coffee": "^0.1.0",
    "broccoli-sass": "^0.1.4"
  }
}

@alvincrespo
Copy link

@brandonparsons Can you paste in your bower.json as well?

@brandonparsons
Copy link
Author

// bower.json

{
  "name": "myapp",
  "dependencies": {
    "handlebars": "~1.3.0",
    "jquery": "^1.11.1",
    "qunit": "~1.12.0",
    "ember-qunit": "~0.1.5",
    "ember": "1.5.1",
    "ember-data": "1.0.0-beta.8",
    "ember-resolver": "~0.1.1",
    "ic-ajax": "~1.x",
    "loader": "stefanpenner/loader.js#1.0.0",
    "ember-cli-shims": "stefanpenner/ember-cli-shims#0.0.2",
    "ember-load-initializers": "stefanpenner/ember-load-initializers#0.0.2",
    "ember-qunit-notifications": "^0.0.1",
    "ember-cli-test-loader": "rjackson/ember-cli-test-loader#0.0.2",
    "pretender": "~0.0.5",
    "bootstrap-sass-official": "~3.1.1+2",
    "fastclick": "~1.0.1",
    "ember-simple-auth": "~0.4.0",
    "alertify.js": "~0.3.11",
    "ember-google-analytics": "*",
    "ember-addons.bs_for_ember": "~0.7.0",
    "lodash": "~2.4.1",
    "hello": "~0.2.6",
    "ember-debug": "~0.3.0",
    "ember-validations": "http://builds.dockyard.com.s3.amazonaws.com/ember-validations/ember-validations-latest.js",
    "ember-forms": "brandonparsons/ember-forms",
    "ember-date-picker": "~0.0.4",
    "momentjs": "~2.6.0"
  }
}

@stefanpenner
Copy link
Contributor

v0.0.34 (just released) may provide better errors for you

@brandonparsons
Copy link
Author

Thanks @stefanpenner - I will try that out tonight when I get home.

@brandonparsons
Copy link
Author

@stefanpenner @alvincrespo @rjackson No go on 0.0.34 - it doesn't tell me why it is failing. I've done a full ember init again in my project and nothing seems awry.

$ ember server
version: 0.0.34
Livereload server on port 35729
Serving on http://0.0.0.0:4200

fs.js:1051
    throw errnoException(process._errno, 'watch');
          ^
Error: watch EMFILE
  at errnoException (fs.js:1019:11)
  at FSWatcher.start (fs.js:1051:11)
  at Object.fs.watch (fs.js:1076:11)
  at Watcher.watchdir (/Users/brandon/projects/erp/ember/new-version-ember-app/node_modules/ember-cli/node_modules/broccoli-sane-watcher/node_modules/sane/index.js:184:20)
  at Walker.EventEmitter.emit (events.js:98:17)
  at /Users/brandon/projects/erp/ember/new-version-ember-app/node_modules/ember-cli/node_modules/broccoli-sane-watcher/node_modules/sane/node_modules/walker/lib/walker.js:69:16
  at Object.oncomplete (fs.js:107:15)

A fresh, brand-new app works just fine in 0.0.34. There's something in my project that worked in 0.0.28 but is now borked. Do you have any other suggestions?

@rwjblue
Copy link
Member

rwjblue commented Jun 12, 2014

@brandonparsons - Generally, EMFILE means too many files (see article). It is possible that we are keeping more file handles around with the new broccoli-sane-watcher than we previously did.

How many files are in your project? (preferably broken down by app/, tests/, vendor/, and other)

@brandonparsons
Copy link
Author

@rjackson

Total: 22904
app: 106
tests: 11
vendor: 813
tmp: 0 / 4879 (I tried clearing tmp before running)
node_modules: 15647

@brandonparsons
Copy link
Author

Interesting tidbit - the app will build without error ember build --env=(production|development). I suppose this whittles it down to watching, but you already probably knew that :)

@rwjblue
Copy link
Member

rwjblue commented Jun 12, 2014

yes, the stack trace indicate that the EMFILE is thrown when sane calls fs.watch here.

@rwjblue
Copy link
Member

rwjblue commented Jun 12, 2014

@brandonparsons - Update to 0.0.34 and try ember server --watcher=polling. That should allow you to bypass sane for now and use the old built-in broccoli Watcher.

@brandonparsons
Copy link
Author

Yep that works without error. I'll leave it up to you if you want to close this for now, or keep it open for reference.

Thanks for the suggestion! I was really hoping to upgrade to 0.0.3x to get the fingerprinting and split asset files 👍

@stefanpenner
Copy link
Contributor

so, we shouldn't be watching node_modules at all.

@rwjblue
Copy link
Member

rwjblue commented Jun 12, 2014

@stefanpenner - We aren't. That was just a breakdown of files in project I believe.

@brandonparsons
Copy link
Author

Yeah - i just counted up the files in some of the (what I assumed to be relevant) directories.

@stefanpenner
Copy link
Contributor

Sane has been tested on super massive facebook code bases, so i am wondering if that is the problem.

@rjackson we actually use sane for both polling, and watching. -> 52ebf62

If we can demonstrate an repro issue with sane @amasad will likely be interested in knowing.

@brandonparsons is there a way to share this project with us privately?

@amasad
Copy link

amasad commented Jun 24, 2014

Are any of the projects that this is failing on open source? so I can try debugging

@stefanpenner
Copy link
Contributor

@WMeldon can you open an issue on broccoli re: that?

@stefanpenner
Copy link
Contributor

@amasad unfortunately most OSS ember-cli projects are tiny, and likely don't suffer from it. Honestly neither do any of my larger apps. I suspect some large graph can be created in a demo app. I'll see if i can through together an example app this evening. @WMeldon maybe you have time before me?

maybe @lukemelia or @krisselden have an example?

@WMeldon
Copy link
Contributor

WMeldon commented Jun 24, 2014

@stefanpenner I'll give it a shot today and let you know if I make any progress. But I've tried bloating todos and I couldn't replicate it. Might have better luck now that I understand some of this stuff better though.

@maxbritto
Copy link

Wouldn't this be related to the OSX simultaneous opened files limit ? (Example : https://github.com/Banno/grunt-coffeeify/issues/6)

I've had the same issue when adding ckeditor as a dependency and trying to move its folder user pickFiles and mergeTrees.

@joostdevries
Copy link
Member

The issue for me was doing pickFiles('vendor', ...);.. I'm absolutely not sure what exactly happens but I can only imagine it causes all files under 'vendor' to be opened during build (maybe even multiple times if they're also in other trees)..

Doing pickFiles('vendor/some-path') fixed this issue for me.

@maxbritto
Copy link

Is there any way we can use pickFiles without watching the folder we picked from ? We usually do not modify vendor files after we updated bower and launched the server so watching those seems like wasting resources, doesn't it ?

@joostdevries
Copy link
Member

in https://github.com/stefanpenner/ember-cli/blob/master/lib/broccoli/ember-app.js#L145

    // do not watch vendor/ by default
    vendor: unwatchedTree(this.project.pathTo('vendor')),

Can confirm this works (provided you add broccoli-unwatched-tree to package.json):

var unwatchedTree    = require('broccoli-unwatched-tree');
var testSuite = pickFiles(unwatchedTree('vendor'), {
   srcDir: '/',
   files: [...],
   destDir: '/assets'
});

module.exports = mergeTrees([app.toTree(), testSuite]);

@joostdevries
Copy link
Member

#1358

@maxbritto
Copy link

This doesn't work for me :(
The mergeTrees() function doesn't watch the trees it receives, does it ?
I did it like this :

var unwatchedTree    = require('broccoli-unwatched-tree');
// Import Ckeditor
var ckeditorFiles = pickFiles(unwatchedTree('vendor/ckeditor'), {
    srcDir: '/',
    destDir: 'ckeditor/'
});
var ckeditorPlugins = pickFiles(unwatchedTree('vendor/ckeditor'), {
    srcDir: '/plugins',
    destDir: 'ckeditor/plugins'
});
var ckeditorSkins = pickFiles(unwatchedTree('vendor/ckeditor'), {
    srcDir: '/skins',
    destDir: 'ckeditor/skins'
});
var ckeditor = mergeTrees([
    ckeditorFiles,
    ckeditorPlugins,
    ckeditorSkins
]);
module.exports = mergeTrees([
    app.toTree(),
    ckeditor
]);

As long as ckeditor is picked and merged, I can't launch the server without adding --watcher=polling

@joostdevries
Copy link
Member

It shouldn't.. You don't have an app.import() somewhere including the vendor/ckeditor tree?

@maxbritto
Copy link

I have 3 imports for 3 .js files inside the ckeditor tree but I don't import the whole tree :

app.import('vendor/ckeditor/ckeditor.js', {
    exports: {
      ember: ['default']
    }
  });
app.import('vendor/ckeditor/lang/fr.js', {
    exports: {
      ember: ['default']
    }
  });
app.import('vendor/ckeditor/styles.js', {
    exports: {
      ember: ['default']
    }
  });

But if I comment those, it works. I don't understand, when I import one .js file it watches the containing folder ?

@thejchap
Copy link
Contributor

thejchap commented Aug 2, 2014

Just stumbled across this...encountered the same thing with ckeditor

@ashrafhasson
Copy link

Having the same issue on OSX 10.9 but the same branch on my Ubuntu machine works fine. I'm using ember-cli 0.0.40 and pickFiles set to only a selected few vendor libs.

@stefanpenner
Copy link
Contributor

bumping the ulimit fixes it. We have to find some time to align broccoli + sane better to resolve this.

@ashrafhasson
Copy link

hmm, ulimit was unlimited on both systems but a couple of restarts on OSX and the build stopped complaining, I know a bit unintelligent but this issue seems intermittent in nature.

@ritesh83
Copy link

I ran into this issue yesterday.

2014-09-11 10:37 ember 34170 CarbonCore . framework FSEventStreamStart: register_with_server: ERROR: f2d_register_rpc() => (null) (-21)

Using 'ember server --watcher=polling' makes it go away.

I'm using ember-cli 0.0.40

@rwjblue
Copy link
Member

rwjblue commented Sep 11, 2014

@ritesh83 - Please update to the latest version, many things have been fixed. We really cannot help much with issues on older versions.

@ritesh83
Copy link

Hi Robert,

Thanks for the reply.

Actually I had updated to 0.0.44 and ran into the same problem but I was also getting an error with my bootstrap file:
ENOENT, no such file or directory '/..../tmp/tree_merger-tmp_dest_dir-3V7vi7yb.tmp/bootstrap.js'

So I reverted back to 0.0.40.
I tried all the steps on https://github.com/stefanpenner/ember-cli/releases but didn't help.

It doesn't happen with a new ember-cli project. So there must be something in our Brocfile.js thats breaking things.

I can post my Brocfile here or on a separate appropriate thread if you want.

At this point things are working with the '--watcher=polling" option and version 0.0.40, so its fine for now.

@stefanpenner
Copy link
Contributor

Seems like you are rewhatcing the route directory

@shwoodard
Copy link

@stefanpenner Can you link to line numbers in ember-cli repo where this is happening? Maybe I can help with a patch.

@stefanpenner
Copy link
Contributor

@shwoodard i don't think its in ember-cli proper rather a custom broccoli filter or misconfigured/misbehaving add-on.

The meta-issue is sane watcher and broccoli are slightly mis-aligned. Sane actually guards against this if used correctly, but broccoli has no concept of top-level root (which is what sane needs to guard against this) (cc @amasad, you should sanity check my above paragraph)

@stefanpenner
Copy link
Contributor

between broccoli improvements and watchman, we should be fine here.

@thejchap
Copy link
Contributor

@stefanpenner I'm still getting this on 0.1.2-master-1fa7b8a9bf

@stefanpenner
Copy link
Contributor

@thejchap please review the watchman branch and PR. Also providing no other information makes your comment entirely un-actionable for me.

@thejchap
Copy link
Contributor

Linking to said pr for other people who encounter this prior to it being merged: #2458

@stefanpenner
Copy link
Contributor

ah thanks for the link.

Me and my team have been running with that branch for that last week or two, and its been great. I have some cleanup to do and but it will make it out in the next release.

@thejchap
Copy link
Contributor

Awesome. Yup just switched over and it seems to be working great. Thanks for the work. Using it every day

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

No branches or pull requests