Vscode-ng-language-service: El servicio de idiomas se bloquea (en Angular 4.1.2): pila de JavaScript sin memoria

Creado en 14 may. 2017  ·  5Comentarios  ·  Fuente: angular/vscode-ng-language-service

Recientemente noté que el servicio de idiomas dejó de funcionar y comencé a ver lo siguiente en la consola:


ERROR FATAL: CALL_AND_RETRY_LAST Error en la asignación: pila de JavaScript sin memoria

 Servicio de lenguaje angular: 4.1.2
 TypeScript: 2.1.6
 ERROR FATAL: CALL_AND_RETRY_LAST Error en la asignación: pila de JavaScript sin memoria
 1: nodo :: Abort () [/ Aplicaciones / Visual Studio Code.app/Contents/Frameworks/Electron Framework.framework / Versions / A / Libraries / libnode.dylib]
 2: node :: DLOpen (v8 :: FunctionCallbackInfo <: value i = "9"> const &) [/ Aplicaciones / Visual Studio Code.app/Contents/Frameworks/Electron Framework.framework / Versions / A / Libraries / libnode.dylib ]
 3: v8 :: internal :: FatalProcessOutOfMemory (char const *) [/ Aplicaciones / Visual Studio Code.app/Contents/Frameworks/Electron Framework.framework / Versions / A / Libraries / libnode.dylib]
 4: v8 :: internal :: FatalProcessOutOfMemory (char const *) [/ Aplicaciones / Visual Studio Code.app/Contents/Frameworks/Electron Framework.framework / Versions / A / Libraries / libnode.dylib]
 5: v8 :: internal :: Factory :: NewFixedArray (int, v8 :: internal :: PretenureFlag) [/ Aplicaciones / 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) [/ Aplicaciones / 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">) [/ Aplicaciones / Visual Studio Code.app/Contents/Frameworks/Electron Framework.framework / Versions / A / Libraries / libnode.dylib]
 8: v8 :: internal :: EhFrameIterator :: DecodeSLeb128 (unsigned char const *, int *) [/ Aplicaciones / Visual Studio Code.app/Contents/Frameworks/Electron Framework.framework / Versions / A / Libraries / libnode.dylib]
 9: v8 :: internal :: HeapNumber :: HeapNumberPrint (std :: __ 1 :: basic_ostream> &) [/ Aplicaciones / 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 [/ Aplicaciones / Visual Studio Code.app/Contents/Frameworks/Electron Framework .framework / Versions / A / Libraries / libnode.dylib]
 11: 0x2c0596f843a7
 12: 0x2c05971a4765
 13: 0x2c0597196a67
 [Información - 10:12:40 PM] Se cerró la conexión al servidor. El servidor se reiniciará.


Esto fue después de actualizar a Angular 4.1.1 o 4.1.2 , quizás otros factores también influyeron.

El problema se resuelve fácilmente actualizando las dependencias:

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

También había actualizado los departamentos en Angular.ng-template-0.1.3 pero eso por sí solo no solucionó el problema, tampoco revertí el cambio:

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

Comentario más útil

@mafredri Los errores en el segundo comentario se pueden atribuir a la actualización de TypeScript más allá de 2.1. El editorServices.ts requiere cambios significativos para actualizar más allá de 2.1, por lo que este complemento actualmente usa 2.1.5.

El primer comentario del que no tengo ni idea.

Si tiene uno, considere eliminar la dependencia de desarrollo en @angular/language-service de su proyecto para que vuelva a usar la versión incrustada del servicio de idiomas. Si no tiene uno, considere agregar uno al último @angular/language-service .

Todos 5 comentarios

Después de realizar la actualización anterior de deps, noté algunos errores en la salida de la extensión, agregándolos aquí en caso de que puedan ser útiles:


Error: longitud <0

 /Users/mafredri/.vscode/extensions/Angular.ng-template-0.1.3/server/node_modules/typescript/lib/typescript.js:10600
 lanzar nuevo Error ("longitud <0");
 ^

 Error: longitud <0
 en Object.createTextSpan (/Users/mafredri/.vscode/extensions/Angular.ng-template-0.1.3/server/node_modules/typescript/lib/typescript.js:10600:19)
 en TextChange.getTextChangeRange (/Users/mafredri/.vscode/extensions/Angular.ng-template-0.1.3/server/editorServices.js:2024:44)
 en ScriptVersionCache.getTextChangesBetweenVersions (/Users/mafredri/.vscode/extensions/Angular.ng-template-0.1.3/server/editorServices.js:2112:80)
 en LineIndexSnapshot.getTextChangeRangeSinceVersion (/Users/mafredri/.vscode/extensions/Angular.ng-template-0.1.3/server/editorServices.js:2177:31)
 en LineIndexSnapshot.getChangeRange (/Users/mafredri/.vscode/extensions/Angular.ng-template-0.1.3/server/editorServices.js:2182:21)
 en adquirirOrUpdateDocument (/Users/mafredri/.vscode/extensions/Angular.ng-template-0.1.3/server/node_modules/typescript/lib/typescript.js:74378:133)
 en Object.updateDocumentWithKey (/Users/mafredri/.vscode/extensions/Angular.ng-template-0.1.3/server/node_modules/typescript/lib/typescript.js:74357:20)
 en Object.getOrCreateSourceFileByPath [como getSourceFileByPath] (/Users/mafredri/.vscode/extensions/Angular.ng-template-0.1.3/server/node_modules/typescript/lib/typescript.js:86043:49)
 en tryReuseStructureFromOldProgram (/Users/mafredri/.vscode/extensions/Angular.ng-template-0.1.3/server/node_modules/typescript/lib/typescript.js:67052:28)
 en Object.createProgram (/Users/mafredri/.vscode/extensions/Angular.ng-template-0.1.3/server/node_modules/typescript/lib/typescript.js:66824:14)
 [Información - 11:19:08 AM] Se cerró la conexión al servidor. El servidor se reiniciará.


TypeError: no se puede leer la propiedad 'tipo' de indefinido

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

 TypeError: no se puede leer la propiedad 'tipo' de indefinido
 en Evaluator.evaluateNode (/Users/mafredri/ng2-project/node_modules/@angular/language-service/bundles/language-service.umd.js:43244:21)
 en Evaluator.evaluateNode (/Users/mafredri/ng2-project/node_modules/@angular/language-service/bundles/language-service.umd.js:43383:34)
 en /Users/mafredri/ng2-project/node_modules/@angular/language-service/bundles/language-service.umd.js:43263:39
 en visitEachNode (/Users/mafredri/ng2-project/node_modules/typescript/lib/typescript.js:14724:30)
 en Object.forEachChild (/Users/mafredri/ng2-project/node_modules/typescript/lib/typescript.js:14840:24)
 en Evaluator.evaluateNode (/Users/mafredri/ng2-project/node_modules/@angular/language-service/bundles/language-service.umd.js:43248:22)
 en /Users/mafredri/ng2-project/node_modules/@angular/language-service/bundles/language-service.umd.js:43317:103
 en Array.map (nativo)
 en Evaluator.evaluateNode (/Users/mafredri/ng2-project/node_modules/@angular/language-service/bundles/language-service.umd.js:43317:69)
 en objFromDecorator (/Users/mafredri/ng2-project/node_modules/@angular/language-service/bundles/language-service.umd.js:43753:33)
 [Información - 11:15:20 AM] Se cerró la conexión al servidor. El servidor se reiniciará.


TypeError: no se puede leer la propiedad 'metadatos' de nulo

 /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: no se puede leer la propiedad 'metadatos' de nulo
 en TypeScriptServiceHost.ensureTemplateMap (/Users/mafredri/ng2-project/node_modules/@angular/language-service/bundles/language-service.umd.js:48425:113)
 en TypeScriptServiceHost.getTemplateReferences (/Users/mafredri/ng2-project/node_modules/@angular/language-service/bundles/language-service.umd.js:48265:14)
 en LanguageServiceImpl.getTemplateReferences (/Users/mafredri/ng2-project/node_modules/@angular/language-service/bundles/language-service.umd.js:47956:90)
 en /Users/mafredri/.vscode/extensions/Angular.ng-template-0.1.3/server/editorServices.js:2689:78
 en el momento (/Users/mafredri/.vscode/extensions/Angular.ng-template-0.1.3/server/editorServices.js:2677:22)
 en Object.getTemplateReferences (/Users/mafredri/.vscode/extensions/Angular.ng-template-0.1.3/server/editorServices.js:2689:20)
 en Project.updateFileMap (/Users/mafredri/.vscode/extensions/Angular.ng-template-0.1.3/server/editorServices.js:788:62)
 en Project.updateGraph (/Users/mafredri/.vscode/extensions/Angular.ng-template-0.1.3/server/editorServices.js:806:14)
 en Project.finishGraph (/Users/mafredri/.vscode/extensions/Angular.ng-template-0.1.3/server/editorServices.js:798:14)
 en ProjectService.updateConfiguredProject (/Users/mafredri/.vscode/extensions/Angular.ng-template-0.1.3/server/editorServices.js:1708:25)
 [Información - 11:14:33 AM] Se cerró la conexión al servidor. El servidor se reiniciará.


ERROR DE SERVIDOR: No se puede leer la propiedad 'charCount' de undefined

 ERROR DE SERVIDOR: No se puede leer la propiedad 'charCount' de undefined
 TypeError: no se puede leer la propiedad 'charCount' de undefined
 en LineNode.walk (/Users/mafredri/.vscode/extensions/Angular.ng-template-0.1.3/server/editorServices.js:2439:39)
 en LineIndex.edit (/Users/mafredri/.vscode/extensions/Angular.ng-template-0.1.3/server/editorServices.js:2304:27)
 en ScriptVersionCache.getSnapshot (/Users/mafredri/.vscode/extensions/Angular.ng-template-0.1.3/server/editorServices.js:2086:39)
 en ScriptInfo.snap (/Users/mafredri/.vscode/extensions/Angular.ng-template-0.1.3/server/editorServices.js:405:25)
 en LSHost.lineOffsetToPosition (/Users/mafredri/.vscode/extensions/Angular.ng-template-0.1.3/server/editorServices.js:649:28)
 en /Users/mafredri/.vscode/extensions/Angular.ng-template-0.1.3/server/editorServices.js:1439:86
 en Array.map (nativo)
 en ProjectService.lineOffsetsToPositions (/Users/mafredri/.vscode/extensions/Angular.ng-template-0.1.3/server/editorServices.js:1439:30)
 en /Users/mafredri/.vscode/extensions/Angular.ng-template-0.1.3/server/documents.js:151:56
 en TextDocuments.logErrors (/Users/mafredri/.vscode/extensions/Angular.ng-template-0.1.3/server/documents.js:234:13)
 [Error - 11:19:44 AM] El controlador de notificaciones 'textDocument / didChange' falló con el mensaje: No se puede leer la propiedad 'charCount' de undefined


El controlador de notificaciones 'textDocument / didChange' falló con el mensaje: No se puede leer la propiedad 'charCount' de undefined

 [Error - 11:42:51 AM] El controlador de notificaciones 'textDocument / didChange' falló con el mensaje: No se puede leer la propiedad 'charCount' de undefined
 /Users/mafredri/.vscode/extensions/Angular.ng-template-0.1.3/server/editorServices.js:2431
 childCharCount = child.charCount ();
 ^

 TypeError: no se puede leer la propiedad 'charCount' de undefined
 en LineNode.walk (/Users/mafredri/.vscode/extensions/Angular.ng-template-0.1.3/server/editorServices.js:2431:35)
 en LineIndex.edit (/Users/mafredri/.vscode/extensions/Angular.ng-template-0.1.3/server/editorServices.js:2304:27)
 en ScriptVersionCache.getSnapshot (/Users/mafredri/.vscode/extensions/Angular.ng-template-0.1.3/server/editorServices.js:2086:39)
 en ScriptVersionCache.latestVersion (/Users/mafredri/.vscode/extensions/Angular.ng-template-0.1.3/server/editorServices.js:2050:18)
 en LSHost.getScriptVersion (/Users/mafredri/.vscode/extensions/Angular.ng-template-0.1.3/server/editorServices.js:542:29)
 en TypeScriptServiceHost.getTemplates (/Users/mafredri/ng2-project/node_modules/@angular/language-service/bundles/language-service.umd.js:48312:39)
 en LanguageServiceImpl.getDiagnostics (/Users/mafredri/ng2-project/node_modules/@angular/language-service/bundles/language-service.umd.js:47959:35)
 en /Users/mafredri/.vscode/extensions/Angular.ng-template-0.1.3/server/editorServices.js:2686:72
 en el momento (/Users/mafredri/.vscode/extensions/Angular.ng-template-0.1.3/server/editorServices.js:2677:22)
 en Object.getDiagnostics (/Users/mafredri/.vscode/extensions/Angular.ng-template-0.1.3/server/editorServices.js:2686:20)
 [Información - 11:42:51 AM] Se cerró la conexión al servidor. El servidor se reiniciará.

@mafredri Los errores en el segundo comentario se pueden atribuir a la actualización de TypeScript más allá de 2.1. El editorServices.ts requiere cambios significativos para actualizar más allá de 2.1, por lo que este complemento actualmente usa 2.1.5.

El primer comentario del que no tengo ni idea.

Si tiene uno, considere eliminar la dependencia de desarrollo en @angular/language-service de su proyecto para que vuelva a usar la versión incrustada del servicio de idiomas. Si no tiene uno, considere agregar uno al último @angular/language-service .

El editorServices.ts requiere cambios significativos para actualizar más allá de 2.1, razón por la cual este complemento actualmente usa 2.1.5.

@chuckjaz No encontré que este fuera el caso (como se puede ver en mi PR # 105). Pero no puedo estar seguro de no haber pasado por alto algo.

Si tiene uno, considere eliminar la dependencia de desarrollo en @ angular / language-service de su proyecto para que vuelva a usar la versión incorporada del servicio de idioma.

Lo tengo como una dependencia de desarrollo, sin embargo, mi rama de relaciones públicas está funcionando bien, así que preferiría no volver a una versión anterior del servicio de idiomas.

¿Cómo configuro este complemento " No para " buscar en carpetas específicas. Actualmente arroja errores de todos los archivos de proveedores (html y css) a los que solo me refiero en mi proyecto.
Por favor ayuda

Este problema se ha bloqueado automáticamente debido a la inactividad.
Por favor, presente un nuevo problema si se encuentra con un problema similar o relacionado.

Obtenga más información sobre nuestra política de bloqueo automático de conversaciones .

_Esta acción ha sido realizada automáticamente por un bot._

¿Fue útil esta página
0 / 5 - 0 calificaciones