Недавно я заметил, что языковая служба перестала работать и в консоли начала видеть следующее:
FATAL ERROR: CALL_AND_RETRY_LAST Allocation failed - JavaScript heap out of memory
Угловая языковая служба: 4.1.2 TypeScript: 2.1.6 FATAL ERROR: CALL_AND_RETRY_LAST Allocation failed - JavaScript heap out of memory 1: node :: Abort () [/ Applications / Visual Studio Code.app/Contents/Frameworks/Electron Framework.framework / Versions / A / Libraries / libnode.dylib] 2: node :: DLOpen (v8 :: FunctionCallbackInfo <: value i = "9"> const &) [/ Applications / Visual Studio Code.app/Contents/Frameworks/Electron Framework.framework / Versions / A / Libraries / libnode.dylib ] 3: v8 :: internal :: FatalProcessOutOfMemory (char const *) [/ Applications / Visual Studio Code.app/Contents/Frameworks/Electron Framework.framework / Versions / A / Libraries / libnode.dylib] 4: v8 :: internal :: FatalProcessOutOfMemory (char const *) [/ Applications / Visual Studio Code.app/Contents/Frameworks/Electron Framework.framework / Versions / A / Libraries / libnode.dylib] 5: v8 :: internal :: Factory :: NewFixedArray (int, v8 :: internal :: PretenureFlag) [/ Applications / Visual Studio Code.app/Contents/Frameworks/Electron Framework.framework / Versions / A / Libraries / libnode. dylib] 6: v8 :: internal :: JSArrayBuffer :: Setup (v8 :: internal :: Handle <: internal :: jsarraybuffer i = "10">, v8 :: internal :: Isolate *, bool, void *, unsigned long, v8 :: internal :: SharedFlag) [/ Applications / Visual Studio Code.app/Contents/Frameworks/Electron Framework.framework / Versions / A / Libraries / libnode.dylib] 7: v8 :: internal :: JSRegExp :: New (v8 :: internal :: Handle <: internal :: string i = "11">, v8 :: base :: Flags <: internal :: jsregexp :: flag i = "12">) [/ Applications / Visual Studio Code.app/Contents/Frameworks/Electron Framework.framework / Versions / A / Libraries / libnode.dylib] 8: v8 :: internal :: EhFrameIterator :: DecodeSLeb128 (unsigned char const *, int *) [/ Applications / Visual Studio Code.app/Contents/Frameworks/Electron Framework.framework / Versions / A / Libraries / libnode.dylib] 9: v8 :: internal :: HeapNumber :: HeapNumberPrint (std :: __ 1 :: basic_ostream> &) [/ Applications / Visual Studio Code.app/Contents/Frameworks/Electron Framework.framework / Versions / A / Libraries / libnode.dylib] 10: v8 :: internal :: RegisterConfiguration :: AreAliases (v8 :: internal :: MachineRepresentation, int, v8 :: internal :: MachineRepresentation, int) const [/ Applications / Visual Studio Code.app/Contents/Frameworks/Electron Framework .framework / Versions / A / Библиотеки / libnode.dylib] 11: 0x2c0596f843a7 12: 0x2c05971a4765 13: 0x2c0597196a67 [Информация - 10:12:40 PM] Прервано соединение с сервером. Сервер перезапустится.
Это было после обновления до Angular 4.1.1
или 4.1.2
, возможно, сыграли роль и другие факторы.
Проблема легко решается обновлением зависимостей:
cd ~/.vscode/extensions/Angular.ng-template-0.1.3
yarn upgrade @angular/language-service typescript vscode-languageserver
Я также обновил deps в Angular.ng-template-0.1.3
но это само по себе не устранило проблему, я также не отменил изменение:
cd ~/.vscode/extensions/Angular.ng-template-0.1.3/server
yarn upgrade vscode-languageclient vscode typescript
После выполнения вышеуказанного обновления deps я заметил некоторые ошибки в выходных данных расширения, добавив их сюда на случай, если они могут быть полезны:
Ошибка: длина <0
/Users/mafredri/.vscode/extensions/Angular.ng-template-0.1.3/server/node_modules/typescript/lib/typescript.js:10600 выбросить новую ошибку ("длина <0"); ^ Ошибка: длина <0 в Object.createTextSpan (/Users/mafredri/.vscode/extensions/Angular.ng-template-0.1.3/server/node_modules/typescript/lib/typescript.js:10600:19) в TextChange.getTextChangeRange (/Users/mafredri/.vscode/extensions/Angular.ng-template-0.1.3/server/editorServices.js:2024:44) в ScriptVersionCache.getTextChangesBetweenVersions (/Users/mafredri/.vscode/extensions/Angular.ng-template-0.1.3/server/editorServices.js:2112:80) в LineIndexSnapshot.getTextChangeRangeSinceVersion (/Users/mafredri/.vscode/extensions/Angular.ng-template-0.1.3/server/editorServices.js:2177:31) в LineIndexSnapshot.getChangeRange (/Users/mafredri/.vscode/extensions/Angular.ng-template-0.1.3/server/editorServices.js:2182:21) в AcquireOrUpdateDocument (/Users/mafredri/.vscode/extensions/Angular.ng-template-0.1.3/server/node_modules/typescript/lib/typescript.js:74378:133) в Object.updateDocumentWithKey (/Users/mafredri/.vscode/extensions/Angular.ng-template-0.1.3/server/node_modules/typescript/lib/typescript.js:74357:20) в Object.getOrCreateSourceFileByPath [как getSourceFileByPath] (/Users/mafredri/.vscode/extensions/Angular.ng-template-0.1.3/server/node_modules/typescript/lib/typescript.js:86043:49) в tryReuseStructureFromOldProgram (/Users/mafredri/.vscode/extensions/Angular.ng-template-0.1.3/server/node_modules/typescript/lib/typescript.js:67052:28) в Object.createProgram (/Users/mafredri/.vscode/extensions/Angular.ng-template-0.1.3/server/node_modules/typescript/lib/typescript.js:66824:14) [Информация - 11:19:08] Соединение с сервером прервано. Сервер перезапустится.
TypeError: невозможно прочитать свойство "kind" undefined
/Users/mafredri/ng2-project/node_modules/@angular/language-service/bundles/language-service.umd.js:43244 switch (node.kind) { ^ TypeError: невозможно прочитать свойство "kind" undefined в Evaluator.evaluateNode (/Users/mafredri/ng2-project/node_modules/@angular/language-service/bundles/language-service.umd.js:43244:21) в Evaluator.evaluateNode (/Users/mafredri/ng2-project/node_modules/@angular/language-service/bundles/language-service.umd.js:43383:34) в /Users/mafredri/ng2-project/node_modules/@angular/language-service/bundles/language-service.umd.js:43263:39 в visitEachNode (/Users/mafredri/ng2-project/node_modules/typescript/lib/typescript.js:14724:30) в Object.forEachChild (/Users/mafredri/ng2-project/node_modules/typescript/lib/typescript.js:14840:24) в Evaluator.evaluateNode (/Users/mafredri/ng2-project/node_modules/@angular/language-service/bundles/language-service.umd.js:43248:22) в /Users/mafredri/ng2-project/node_modules/@angular/language-service/bundles/language-service.umd.js:43317:103 в Array.map (собственный) в Evaluator.evaluateNode (/Users/mafredri/ng2-project/node_modules/@angular/language-service/bundles/language-service.umd.js:43317:69) в objFromDecorator (/Users/mafredri/ng2-project/node_modules/@angular/language-service/bundles/language-service.umd.js:43753:33) [Информация - 11:15:20] Соединение с сервером прервано. Сервер перезапустится.
TypeError: невозможно прочитать метаданные свойства null
/Users/mafredri/ng2-project/node_modules/@angular/language-service/bundles/language-service.umd.js:48425 var _d = this.resolver.getNonNormalizedDirectiveMetadata (directive.reference), metadata = _d.metadata, annotation = _d.annotation; ^ TypeError: невозможно прочитать метаданные свойства null в TypeScriptServiceHost.ensureTemplateMap (/Users/mafredri/ng2-project/node_modules/@angular/language-service/bundles/language-service.umd.js:48425:113) в TypeScriptServiceHost.getTemplateReferences (/Users/mafredri/ng2-project/node_modules/@angular/language-service/bundles/language-service.umd.js:48265:14) в LanguageServiceImpl.getTemplateReferences (/Users/mafredri/ng2-project/node_modules/@angular/language-service/bundles/language-service.umd.js:47956:90) в /Users/mafredri/.vscode/extensions/Angular.ng-template-0.1.3/server/editorServices.js:2689:78 во время (/Users/mafredri/.vscode/extensions/Angular.ng-template-0.1.3/server/editorServices.js:2677:22) в Object.getTemplateReferences (/Users/mafredri/.vscode/extensions/Angular.ng-template-0.1.3/server/editorServices.js:2689:20) в Project.updateFileMap (/Users/mafredri/.vscode/extensions/Angular.ng-template-0.1.3/server/editorServices.js:788:62) в Project.updateGraph (/Users/mafredri/.vscode/extensions/Angular.ng-template-0.1.3/server/editorServices.js:806:14) в Project.finishGraph (/Users/mafredri/.vscode/extensions/Angular.ng-template-0.1.3/server/editorServices.js:798:14) в ProjectService.updateConfiguredProject (/Users/mafredri/.vscode/extensions/Angular.ng-template-0.1.3/server/editorServices.js:1708:25) [Информация - 11:14:33] Соединение с сервером прервано. Сервер перезапустится.
ОШИБКА СЕРВЕРА: невозможно прочитать свойство charCount из undefined
ОШИБКА СЕРВЕРА: невозможно прочитать свойство charCount из undefined TypeError: невозможно прочитать свойство charCount из undefined в LineNode.walk (/Users/mafredri/.vscode/extensions/Angular.ng-template-0.1.3/server/editorServices.js:2439:39) в LineIndex.edit (/Users/mafredri/.vscode/extensions/Angular.ng-template-0.1.3/server/editorServices.js:2304:27) в ScriptVersionCache.getSnapshot (/Users/mafredri/.vscode/extensions/Angular.ng-template-0.1.3/server/editorServices.js:2086:39) в ScriptInfo.snap (/Users/mafredri/.vscode/extensions/Angular.ng-template-0.1.3/server/editorServices.js:405:25) в LSHost.lineOffsetToPosition (/Users/mafredri/.vscode/extensions/Angular.ng-template-0.1.3/server/editorServices.js:649:28) в /Users/mafredri/.vscode/extensions/Angular.ng-template-0.1.3/server/editorServices.js:1439:86 в Array.map (собственный) в ProjectService.lineOffsetsToPositions (/Users/mafredri/.vscode/extensions/Angular.ng-template-0.1.3/server/editorServices.js:1439:30) в /Users/mafredri/.vscode/extensions/Angular.ng-template-0.1.3/server/documents.js:151:56 в TextDocuments.logErrors (/Users/mafredri/.vscode/extensions/Angular.ng-template-0.1.3/server/documents.js:234:13) [Ошибка - 11:19:44 AM] Обработчик уведомлений «textDocument / didChange» завершился ошибкой с сообщением: «Невозможно прочитать свойство charCount» неопределенного значения.
Обработчик уведомлений «textDocument / didChange» завершился ошибкой с сообщением: «Невозможно прочитать свойство charCount» неопределенного значения.
[Ошибка - 11:42:51 AM] Обработчик уведомлений textDocument / didChange завершился ошибкой с сообщением: не удалось прочитать свойство charCount из undefined. /Users/mafredri/.vscode/extensions/Angular.ng-template-0.1.3/server/editorServices.js:2431 childCharCount = child.charCount (); ^ TypeError: невозможно прочитать свойство charCount из undefined в LineNode.walk (/Users/mafredri/.vscode/extensions/Angular.ng-template-0.1.3/server/editorServices.js:2431:35) в LineIndex.edit (/Users/mafredri/.vscode/extensions/Angular.ng-template-0.1.3/server/editorServices.js:2304:27) в ScriptVersionCache.getSnapshot (/Users/mafredri/.vscode/extensions/Angular.ng-template-0.1.3/server/editorServices.js:2086:39) в ScriptVersionCache.latestVersion (/Users/mafredri/.vscode/extensions/Angular.ng-template-0.1.3/server/editorServices.js:2050:18) в LSHost.getScriptVersion (/Users/mafredri/.vscode/extensions/Angular.ng-template-0.1.3/server/editorServices.js:542:29) в TypeScriptServiceHost.getTemplates (/Users/mafredri/ng2-project/node_modules/@angular/language-service/bundles/language-service.umd.js:48312:39) в LanguageServiceImpl.getDiagnostics (/Users/mafredri/ng2-project/node_modules/@angular/language-service/bundles/language-service.umd.js:47959:35) в /Users/mafredri/.vscode/extensions/Angular.ng-template-0.1.3/server/editorServices.js:2686:72 во время (/Users/mafredri/.vscode/extensions/Angular.ng-template-0.1.3/server/editorServices.js:2677:22) в Object.getDiagnostics (/Users/mafredri/.vscode/extensions/Angular.ng-template-0.1.3/server/editorServices.js:2686:20) [Информация - 11:42:51] Соединение с сервером прервано. Сервер перезапустится.
@mafredri Ошибки во втором комментарии можно отнести к обновлению TypeScript версии 2.1. editorServices.ts
требует значительных изменений для обновления версии 2.1.5, поэтому этот плагин в настоящее время использует 2.1.5.
Первый комментарий, о котором я понятия не имею.
Если он у вас есть, рассмотрите возможность удаления зависимости разработчика от @angular/language-service
из вашего проекта, чтобы он вернулся к использованию встроенной версии языковой службы. Если у вас его нет, подумайте о том, чтобы добавить его в самый последний @angular/language-service
.
EditorServices.ts требует значительных изменений для обновления версии 2.1.5, поэтому этот плагин в настоящее время использует 2.1.5.
@chuckjaz Я не обнаружил, что это так (как видно из моего PR # 105). Но я не могу быть уверен, что что-то не упустил из виду.
Если он у вас есть, рассмотрите возможность удаления зависимости разработчика от @ angular / language-service из вашего проекта, чтобы он вернулся к использованию встроенной версии языковой службы.
У меня это есть зависимость от разработчиков, однако моя ветка PR работает нормально, поэтому я бы предпочел не возвращаться к более старой версии языковой службы.
Как мне настроить этот плагин « Не для » смотреть в определенных папках. В настоящее время он выдает ошибки из всех файлов поставщиков (html и css), о которых я только что упоминаю в своем проекте.
Пожалуйста помоги
Эта проблема была автоматически заблокирована из-за бездействия.
Сообщите о новой проблеме, если вы столкнулись с аналогичной или связанной проблемой.
Узнайте больше о нашей политике автоматической блокировки разговоров .
_Это действие было выполнено автоматически ботом. _
Самый полезный комментарий
@mafredri Ошибки во втором комментарии можно отнести к обновлению TypeScript версии 2.1.
editorServices.ts
требует значительных изменений для обновления версии 2.1.5, поэтому этот плагин в настоящее время использует 2.1.5.Первый комментарий, о котором я понятия не имею.
Если он у вас есть, рассмотрите возможность удаления зависимости разработчика от
@angular/language-service
из вашего проекта, чтобы он вернулся к использованию встроенной версии языковой службы. Если у вас его нет, подумайте о том, чтобы добавить его в самый последний@angular/language-service
.