Articles of 无限循环

node.js – JSONStream期间的无限循环

我有一个在生产中冻结的node.js服务器,它似乎是由JSONStream内部的无限循环引起的。 以下是从冻结服务器的核心转储中捕获的​​堆栈跟踪: 1: toString [buffer.js:~392] (this=0x1e28fb6d25c9 <a Buffer>#1#,encoding=0x266ee104121 <undefined>,start=0x266ee104121 <undefined>,end=0x266ee104121 <undefined>) 2: arguments adaptor frame: 0->3 3: write [/home/deploy/node_modules/JSONStream/node_modules/jsonparse/jsonparse.js:136] (this=0x32cc8dd5a999 <a Parser>#2#,buffer=0x32cc8dd5aa49 <a Buffer>#3#) 4: /* anonymous */ [/home/deploy/node_modules/JSONStream/index.js:~17] (this=0x32cc8dd5ab11 <a Stream>#4#,chunk=0x32cc8dd5aa49 <a Buffer>#3#) 5: write [/home/deploy/node_modules/JSONStream/node_modules/through/index.js:~24] (this=0x32cc8dd5ab11 <a Stream>#4#,data=0x32cc8dd5aa49 <a Buffer>#3#) 6: write [_stream_readable.js:~582] (this=0x266ee106c91 <JS Global Object>#5#,dest=0x32cc8dd5ab11 <a Stream>#4#,i=0,list=0x266ee104101 <null>) 7: flow [_stream_readable.js:592] […]

JavaScript停止无限循环

这是node.js。 我有一个函数可能会成为一个无限循环,如果满足几个条件。 不可信用户为了这个问题设置了这些条件,请假设无限循环是不可修复的。 我仍然需要一种方法来阻止无限循环。 这里是我想要做的一些示例代码: var infiniteloop = false; var condition = true function loop () { while (condition) { console.log('hi') if (infiniteloop) { condition = false console.log('oh last one') } } } loop() 所以基于我想要做的几个问题。 如果infiniteloopvariables设置为true,循环将停止? 我如何检测无限循环? 每3秒检查一次会很好。 如果infiniteloopvariables处于同一个进程中,则该variables在循环中不能更改。 我必须将variables存储在不同的进程中? 无论检测到无限循环需要生活在一个不同的过程? 理想情况下,同样的过程将是很好,但无论工程? 谢谢你的帮助。

为什么这个代码卡住node.js – 在Javascript上的错误?

我试图运行这个正则expression式,但它卡住了我的控制台。 为什么? var str = "Шедевры православной музыки – 20 золотых православных песен"; str.match(/^(([\u00C0-\u1FFF\u2C00-\uD7FF]+[^az\u00C0-\u1FFF\u2C00-\uD7FF]*)+) [az]+[^\u00C0-\u1FFF\u2C00-\uD7FF]*$/i);

NodeJS内存消耗在无限循环中

我不知道这是一个与节点或V8的错误,但如果我运行下面的代码节点进程泄漏内存。 GC似乎从来没有踢过,在几秒钟内它消耗> 1GB的内存。 这是意想不到的行为。 我错过了什么吗? 代码如下: for(;;) { console.log(1+1); } 很显然,这是一个有点人为的情况,但我可以看到一个长期运行的过程永远不会释放内存的问题。 编辑:我试了v0.5.10(不稳定)和v0.4.12(稳定),不稳定的版本performance更好一点 – 稳定版本只是停止输出到控制台,但继续消耗内存,而稳定版本继续执行并消耗内存而不会暂停。