Vscode-ng-language-service: Le service de langue plante (sur Angular 4.1.2) : JavaScript manque de mémoire

Créé le 14 mai 2017  ·  5Commentaires  ·  Source: angular/vscode-ng-language-service

J'ai récemment remarqué que le service de langue a cessé de fonctionner et a commencé à voir ce qui suit dans la console :


ERREUR FATAL : Échec de l'allocation CALL_AND_RETRY_LAST - mémoire JavaScript insuffisante

 Service linguistique angulaire : 4.1.2
 TypeScript : 2.1.6
 ERREUR FATAL : Échec de l'allocation de CALL_AND_RETRY_LAST – Le tas JavaScript manque de mémoire
 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/Libraries/libnode.dylib]
 11 : 0x2c0596f843a7
 12 : 0x2c05971a4765
 13 : 0x2c0597196a67
 [Info - 22:12:40] La connexion au serveur a été fermée. Le serveur va redémarrer.


C'était après la mise à niveau vers Angular 4.1.1 ou 4.1.2 , peut-être que d'autres facteurs ont également joué un rôle.

Le problème est facilement résolu en mettant à niveau les dépendances :

cd ~/.vscode/extensions/Angular.ng-template-0.1.3
yarn upgrade @angular/language-service typescript vscode-languageserver

J'avais également mis à niveau les deps dans Angular.ng-template-0.1.3 mais cela seul n'a pas résolu le problème, je n'ai pas non plus annulé la modification :

cd ~/.vscode/extensions/Angular.ng-template-0.1.3/server
yarn upgrade vscode-languageclient vscode typescript
bug

Commentaire le plus utile

@mafredri Les erreurs dans le deuxième commentaire peuvent être attribuées à la mise à jour de TypeScript après 2.1. Le editorServices.ts nécessite des modifications importantes pour passer à la version 2.1, c'est pourquoi ce plugin utilise actuellement la 2.1.5.

Le premier commentaire, je n'en ai aucune idée.

Si vous en avez un, envisagez de supprimer la dépendance de développement sur @angular/language-service de votre projet afin qu'il revienne à l'utilisation de la version intégrée du service de langue. Si vous n'en avez pas, pensez à en ajouter un au plus récent @angular/language-service .

Tous les 5 commentaires

Après avoir effectué la mise à niveau de deps ci-dessus, j'ai remarqué quelques erreurs dans la sortie de l'extension, en les ajoutant ici au cas où elles pourraient être utiles :


Erreur : longueur < 0

 /Users/mafredri/.vscode/extensions/Angular.ng-template-0.1.3/server/node_modules/typescript/lib/typescript.js:10600
 jeter une nouvelle erreur("longueur < 0");
 ^

 Erreur : longueur < 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)
 à AcquisitionOrUpdateDocument (/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 [as 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)
 [Info - 11:19:08] La connexion au serveur a été fermée. Le serveur va redémarrer.


TypeError : impossible de lire la propriété 'kind' non définie

 /Users/mafredri/ng2-project/node_modules/@angular/language-service/bundles/language-service.umd.js:43244
 switch (node.kind) {
 ^

 TypeError : impossible de lire la propriété 'kind' non définie
 à 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
 sur Array.map (natif)
 à 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)
 [Info - 11:15:20] La connexion au serveur a été fermée. Le serveur va redémarrer.


TypeError : impossible de lire la propriété 'métadonnées' de 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 : impossible de lire la propriété 'métadonnées' de null
 sur TypeScriptServiceHost.ensureTemplateMap (/Users/mafredri/ng2-project/node_modules/@angular/language-service/bundles/language-service.umd.js:48425:113)
 sur 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
 à la fois (/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)
 sur Project.updateFileMap (/Users/mafredri/.vscode/extensions/Angular.ng-template-0.1.3/server/editorServices.js:788:62)
 sur 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)
 [Info - 11:14:33] La connexion au serveur a été fermée. Le serveur va redémarrer.


ERREUR DE SERVEUR : impossible de lire la propriété 'charCount' d'undefined

 ERREUR DE SERVEUR : impossible de lire la propriété 'charCount' d'undefined
 TypeError : impossible de lire la propriété 'charCount' d'undefined
 à LineNode.walk (/Users/mafredri/.vscode/extensions/Angular.ng-template-0.1.3/server/editorServices.js:2439:39)
 sur LineIndex.edit (/Users/mafredri/.vscode/extensions/Angular.ng-template-0.1.3/server/editorServices.js:2304:27)
 sur ScriptVersionCache.getSnapshot (/Users/mafredri/.vscode/extensions/Angular.ng-template-0.1.3/server/editorServices.js:2086:39)
 sur 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
 sur Array.map (natif)
 à 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)
 [Erreur - 11:19:44 AM] Le gestionnaire de notification 'textDocument/didChange' a échoué avec le message : Impossible de lire la propriété 'charCount' de non défini


Le gestionnaire de notification 'textDocument/didChange' a échoué avec le message : impossible de lire la propriété 'charCount' de non défini

 [Erreur - 11:42:51 AM] Le gestionnaire de notification 'textDocument/didChange' a échoué avec le message : Impossible de lire la propriété 'charCount' de non défini
 /Users/mafredri/.vscode/extensions/Angular.ng-template-0.1.3/server/editorServices.js:2431
 childCharCount = child.charCount();
 ^

 TypeError : impossible de lire la propriété 'charCount' d'undefined
 à LineNode.walk (/Users/mafredri/.vscode/extensions/Angular.ng-template-0.1.3/server/editorServices.js:2431:35)
 sur LineIndex.edit (/Users/mafredri/.vscode/extensions/Angular.ng-template-0.1.3/server/editorServices.js:2304:27)
 sur 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)
 sur 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
 à la fois (/Users/mafredri/.vscode/extensions/Angular.ng-template-0.1.3/server/editorServices.js:2677:22)
 sur Object.getDiagnostics (/Users/mafredri/.vscode/extensions/Angular.ng-template-0.1.3/server/editorServices.js:2686:20)
 [Info - 11:42:51 AM] La connexion au serveur a été fermée. Le serveur va redémarrer.

@mafredri Les erreurs dans le deuxième commentaire peuvent être attribuées à la mise à jour de TypeScript après 2.1. Le editorServices.ts nécessite des modifications importantes pour passer à la version 2.1, c'est pourquoi ce plugin utilise actuellement la 2.1.5.

Le premier commentaire, je n'en ai aucune idée.

Si vous en avez un, envisagez de supprimer la dépendance de développement sur @angular/language-service de votre projet afin qu'il revienne à l'utilisation de la version intégrée du service de langue. Si vous n'en avez pas, pensez à en ajouter un au plus récent @angular/language-service .

Le editorServices.ts nécessite des modifications importantes pour passer au-delà de la 2.1, c'est pourquoi ce plugin utilise actuellement la 2.1.5.

@chuckjaz Je n'ai pas trouvé que ce soit le cas (comme on peut le voir dans mon PR #105). Mais je ne peux pas être sûr de ne pas avoir oublié quelque chose.

Si vous en avez un, envisagez de supprimer la dépendance de développement sur @angular/language-service de votre projet afin qu'il revienne à l'utilisation de la version intégrée du service de langue.

Je l'ai en tant que dépendance de développement, cependant, ma branche de relations publiques fonctionne correctement, je préfère donc ne pas revenir à une ancienne version du service de langue.

Comment configurer ce plugin " Ne pas regarder " dans des dossiers spécifiques. Actuellement, il génère des erreurs de tous les fichiers du fournisseur (html et css) auxquels je fais simplement référence dans mon projet.
S'il vous plaît aider

Ce problème a été automatiquement verrouillé en raison de l'inactivité.
Veuillez déposer un nouveau problème si vous rencontrez un problème similaire ou connexe.

En savoir plus sur notre politique de verrouillage automatique des conversations .

_Cette action a été effectuée automatiquement par un bot._

Cette page vous a été utile?
0 / 5 - 0 notes