Closed vinkaga closed 9 years ago
That's definitely not good! A little hard to know exactly what's going on here, but let's try and narrow it down. A few initial questions jump to mind:
cURL
-ing through the same steps taken by the test suite reproduce the error?) This seems unlikely given the error arose after changing dependencies, but if any other libs (or code) have changed recently it's worth ruling an environment-agnostic issue out.--max-old-space-size
will get it through.The issue is purely related to supertest and/or supertest-session. Normal server environment works OK.
I was able to produce what perhaps is the problem leading to 'out of memory' error in a 'hello world' app. But since the app is very simple, it just produces a very large error output (too large to paste here).
To see, what I think is precursor to the memory problem, run
mocha test
You will see a very large error output. The error goes away if you
package.json
{
"name": "",
"version": "1.0.0",
"private": true,
"dependencies": {
"express": "latest"
},
"devDependencies": {
"mocha": "latest",
"should": "latest",
"supertest-session": "latest"
}
}
app.js
var express = require('express');
var app = module.exports = express();
app.all('/', function (req, res) {
res.status(400).json({"hello":"world"});
});
var server = app.listen(3000, function () {
var host = server.address().address;
var port = server.address().port;
console.log('Example app listening at http://%s:%s', host, port);
});
test.js
"use strict";
var should = require('should');
var app = require('./app');
var Session = require('supertest-session')({app: app});
var asess1 = new Session();
describe('Test', function() {
describe('Test:', function() {
it('should fail on unexpected changes', function(done) {
asess1.get('/').end(function(err, res) {
should.not.exist(err);
done();
});
});
});
});
I just realized that I wasn't even using session in this test. I will report this issue upstream to supertest.
After updating to 1.0.0 from 0.0.7, I get the following error
FATAL ERROR: CALL_AND_RETRY_LAST Allocation failed - process out of memory
I noticed this error when then the HTTP status was set to 400 or 500 in some rather complex tests.