Vm2: Bucle infinito en Promise. Luego cuelga todo el proceso

Creado en 12 ene. 2018  ·  4Comentarios  ·  Fuente: patriksimek/vm2

Este código ignora el tiempo de espera y bloquea el proceso:

'use strict'

const {VM} = require('vm2')

const vm = new VM({
    timeout: 5000,
})

console.log('Runs')

vm.run('Promise.resolve(42).then(() => {while(true) {}})') // hangs the process

setImmediate(console.log, 'Will never run')

Y Promise no se puede desactivar fácilmente: #74.

stale

Todos 4 comentarios

Léame.md

IMPORTANTE: el tiempo de espera no es efectivo para NodeVM, por lo que no es inmune a while (true) {} o mal similar.

@awiebe excepto que estoy usando VM , no NodeVM .

Desafortunadamente, esta es otra limitación de la función de tiempo de espera del nodo: no funciona para llamadas asincrónicas, incluso si se ejecutan en la zona de pruebas.

Este problema se ha marcado automáticamente como obsoleto porque no ha tenido actividad reciente. Se cerrará si no se produce más actividad. Gracias por sus aportaciones.

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

Temas relacionados

seanc picture seanc  ·  3Comentarios

somebody1234 picture somebody1234  ·  4Comentarios

keyosk picture keyosk  ·  64Comentarios

vshymanskyy picture vshymanskyy  ·  8Comentarios

wintertime-inc picture wintertime-inc  ·  5Comentarios