私のnodejs(6.10.2)ベースのアプリケーションのためのmocha/chai(3.2.0/3.5.0)ベースのテストケースをmacOS 10.12で実行しています.4、 "Segmentation fault:11"というエラーが発生しています。nodejs、macosの "Segmentation fault:11"で失敗しました
これまでのところ、私が試してみました:
- を私node_modulesフォルダを消去し、時代遅れの依存関係の確認とnodejsバージョン(6.7.0を使用していた)のアップグレード彼らに
- をアップグレードする新しい
npm install
- をやって、 via
sudo port upgrade nodejs6
私にとって失敗したコードは次のとおりです。私は別にfs.readFileSync(filepath)
を試してみました
.attach('file', fs.readFileSync(filepath), filename)
と私は問題が発生していない:私は「添付」行を削除すると
chai.request(url)
.post(`/api/filestore?token=${token}`)
.timeout(20000)
.attach('file', fs.readFileSync(filepath), filename)
.field('name', data.name)
.field('description', data.description)
.field('keywords', data.keywords)
.end(function(err, res) {
if (err) { done(err); }
res.should.have.status(200);
res.should.be.json;
res.body.should.have.property('name');
res.body.should.have.property('description');
res.body.should.have.property('categories');
res.body.keywords.should.be.a('array');
res.body.keywords.join(',').should.be.equal(data.keywords);
done();
});
セグメンテーションフォールト
が消えます。これは過去の問題ではなく、最近問題になっただけです。私はそれがOSのアップグレードと一致するかどうか疑問に思っていますが、わかりません。テストファイルのサイズはわずか34Kです。
誰にも提案はありますか?
編集:Ubuntuのテストマシンでセグメンテーションエラーが発生していると失敗します。
奇妙なこと...多分読み込みの問題ですか?テストの前に 'fs.readFileSync()'ビットを実行した場合は、ファイルオブジェクトを 'attach()'メソッドに渡します。同じ方法がありますか?これは、それがsegfaultsであるreadFileかattachかどうかを伝えます。 – jakerella