-
Notifications
You must be signed in to change notification settings - Fork 11.9k
Description
Bug Report
- [x] bug report -> please search issues before submitting
- [ ] feature request
When running ng serve
with --aot
, subsequent outputs will break occasionally with the following, likely due to ngFactory
files being regenerated and being accessed during that time frame.
This may be connected to #11217 since the result is the same EOENT, however it seems that this is one is not connected to aot.
Area
- [x] devkit
- [ ] schematics
Versions
Angular CLI: 6.0.8 (tested upgrade to v6.1.0-rc.0, same issue)
Node: 8.11.1 (npm: 6.1.0)
OS: linux x64 (Ubuntu 18.04)
Angular: 6.0.0
... animations, cdk, common, compiler, compiler-cli, core, forms
... http, language-service, platform-browser
... platform-browser-dynamic, router
Package Version
-----------------------------------------------------------
@angular-devkit/architect 0.6.0
@angular-devkit/build-angular 0.6.0
@angular-devkit/build-optimizer 0.6.0
@angular-devkit/core 0.6.0
@angular-devkit/schematics 0.6.8
@angular/cli 6.0.8
@ngtools/webpack 6.0.0
@schematics/angular 0.6.8
@schematics/update 0.6.8
rxjs 6.1.0
typescript 2.7.2
webpack 4.12.0
Repro steps
git clone https://github.com/opf/openproject --branch dev --depth 1
cd openproject/frontend
npm i
npm run serve (alias to ng serve --aot with npm prehook)
# And then simply touch one file multiple times
# When running these steps, the second touch resulted in the error
touch src/app/globals/openproject.ts
The log given by the failure
> ng serve
** Angular Live Development Server is listening on localhost: 4200, open your browser on http://localhost:4200/ **
10% building modules 3/3 modules 0 active[HPM] Proxy created: [ '/**' ] -> http://localhost:3000
Date: 2018-06-27T05:56:55.145Z
Hash: 64f61328b7635bd68864
Time: 19890ms
chunk {main} main.js, main.js.map (main) 3.79 MB [initial] [rendered]
chunk {polyfills} polyfills.js, polyfills.js.map (polyfills) 223 kB [initial] [rendered]
chunk {runtime} runtime.js, runtime.js.map (runtime) 5.4 kB [entry] [rendered]
chunk {styles} styles.js, styles.js.map (styles) 57.6 kB [initial] [rendered]
chunk {vendor} vendor.js, vendor.js.map (vendor) 6 MB [initial] [rendered]
ℹ 「wdm」: Compiled successfully.
ℹ 「wdm」: Compiling...
Date: 2018-06-27T05:57:22.594Z - Hash: 03871495b16f20982ecc - Time: 10849ms
4 unchanged chunks
chunk {main} main.js, main.js.map (main) 3.89 MB [initial] [rendered]
ℹ 「wdm」: Compiled successfully.
#
# ... after updating any file
#
ℹ 「wdm」: Compiling...
/tmp/openproject/frontend/node_modules/@angular-devkit/build-angular/node_modules/enhanced-resolve/lib/CachedInputFileSystem.js:101
throw e;
^
Error: ENOENT: no such file or directory, stat '/tmp/openproject/frontend/src/app/globals/augmenting/modal-wrapper.augment.service.ngfactory.js'
at Object.fs.statSync (fs.js:948:11)
at Object.statSync (/tmp/openproject/frontend/node_modules/graceful-fs/polyfills.js:297:22)
at Storage.provideSync (/tmp/openproject/frontend/node_modules/@angular-devkit/build-angular/node_modules/enhanced-resolve/lib/CachedInputFileSystem.js:98:13)
at CachedInputFileSystem.statSync (/tmp/openproject/frontend/node_modules/@angular-devkit/build-angular/node_modules/enhanced-resolve/lib/CachedInputFileSystem.js:251:28)
at VirtualFileSystemDecorator.statSync (/tmp/openproject/frontend/node_modules/@ngtools/webpack/src/virtual_file_system_decorator.js:54:48)
at virtualFilesStats._virtualInputFileSystem.getVirtualFilesPaths.map (/tmp/openproject/frontend/node_modules/@ngtools/webpack/src/virtual_file_system_decorator.js:103:54)
at Array.map (<anonymous>)
at newCallback (/tmp/openproject/frontend/node_modules/@ngtools/webpack/src/virtual_file_system_decorator.js:101:18)
at Watchpack.watcher.once (/tmp/openproject/frontend/node_modules/webpack/lib/node/NodeWatchFileSystem.js:54:4)
at Object.onceWrapper (events.js:317:30)
at emitTwo (events.js:126:13)
at Watchpack.emit (events.js:214:7)
at Watchpack._onTimeout (/tmp/openproject/frontend/node_modules/watchpack/lib/watchpack.js:144:7)
at ontimeout (timers.js:482:11)
at tryOnTimeout (timers.js:317:5)
at Timer.listOnTimeout (timers.js:277:5)
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! openproject-frontend@0.1.0 serve: `ng serve`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the openproject-frontend@0.1.0 serve script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.
npm ERR! A complete log of this run can be found in:
npm ERR! /home/oliver/.npm/_logs/2018-06-27T05_57_24_488Z-debug.log
Desired functionality
We're running ng serve with AOT due to a strict CSP even during development. Apart from these undeterministic, yet persistent errors, serving with AOT runs fine and is a breeze (thanks for all your work making this possible!)
Mention any other details that might be useful
This occurs in the isolated Angular frontend of our Rails/angular hybrid project management project OpenProject. Thus I believe the best way to reproduce is simply cloning the whole project and running the steps above. No dependencies on Ruby/Rails need to be installed to reproduce it.