2015-05-19 10 views
6

considerare i due programmi seguenti:Perché il nodo a volte si blocca durante l'allocazione di Int8Array?

// works.js 
var buffer = new ArrayBuffer(16777216); 
var HEAP8 = new Int8Array(buffer); 

e

// fails.js 
var HEAP8; 
var buffer = new ArrayBuffer(16777216); 
HEAP8 = new Int8Array(buffer); 

Esegui node quindi immettere .load works.js. Tutto sembra felice. Ora uscita node.

Eseguire di nuovo node e immettere .load fails.js.

Sulla mia macchina in caricamento fails.js conduce interattivamente il processo node a consumare oltre 1 GB di RAM e CPU al 100% e l'istruzione finale blocca l'interprete per sempre. works.js esegue e restituisce semplicemente come previsto.

C'è qualche buona ragione per la differenza? O dovrei scrivere un bug report?

Curiosamente, in esecuzione o script direttamente dalla linea di comando funziona bene:

node works.js # exits normally 
node fails.js # exits normally 

UPDATE: sto usando nodo 0.12.0 su OS X 10.9.5

+0

Ottenuto lo stesso risultato su OSX con iojs v2.2.1 –

risposta

1

Is c'è qualche buona ragione per la differenza? O dovrei scrivere un bug report?

Dubito che ci sia una buona ragione per questo, si dovrebbe file a bug.

Problemi correlati