2014-12-30 5 views
1

NodeJS w/MongoDB에서 때때로 추적 할 수없는 오류가 발생하지만 내 프로젝트에 문제가있는 것 같습니다. 아주 산발적으로 발생합니다. 나는 @game.errorHandler.captureException e if e가 뭔가를 얻기 위해 시도해야, 거의 모든 콜백에서MongoDB/Node : 잘못된 인수

savePlayer: (player) -> 
    savePlayer = @buildPlayerSaveObject player 
    savePlayer.lastLogin = new Date() 
    @db.update { identifier: player.identifier }, savePlayer, {upsert: true}, (e) => 
     @game.errorHandler.captureException e if e 

하지만,이 오류가 MongoDB를 드라이버 자체에서 오는 것 같다 : 여기

는 몽고 호출 내 사용의 샘플입니다 .

나는 here 티켓을 게시했지만 응답을받지 못했습니다. Google에서는 this이 문자 그대로이 오류에 대한 유일한 다른 결과이기도하지만 OP 솔루션이 반드시 작동하지는 않습니다.

추가로이 오류를 진단하기 위해 할 수있는 일이 있습니까?

답변

0

불행하게도이 문제와 관련하여 MongoDB 팀으로부터 많은 라디오 침묵이 있었지만 마침내이 오류가 발생하는 이유가 발생했습니다. 내 몽고 콜백 중 하나에 문제가 발생했습니다. 예외. Mongo가 오류를 잡아 내고이 비 설명 오류를 내게 던졌습니다. 기록을 위해, (물론 질문에 링크에 게시) 오류에 대한 스택 추적은 다음과 같다 :

MongoError: Incorrect arguments 
at Object.toError (/home/admin/idlebot/src/modules/idle/node_modules/mongodb/lib/mongodb/utils.js:114:11) 
at Server.Base._callHandler (/home/admin/idlebot/src/modules/idle/node_modules/mongodb/lib/mongodb/connection/base.js:455:65) 
at /home/admin/idlebot/src/modules/idle/node_modules/mongodb/lib/mongodb/connection/server.js:481:18 
at [object Object].MongoReply.parseBody (/home/admin/idlebot/src/modules/idle/node_modules/mongodb/lib/mongodb/responses/mongo_reply.js:68:5) 
at [object Object].<anonymous> (/home/admin/idlebot/src/modules/idle/node_modules/mongodb/lib/mongodb/connection/server.js:439:20) 
at [object Object].emit (events.js:95:17) 
at [object Object].<anonymous> (/home/admin/idlebot/src/modules/idle/node_modules/mongodb/lib/mongodb/connection/connection_pool.js:201:13) 
at [object Object].emit (events.js:98:17) 
at Socket.<anonymous> (/home/admin/idlebot/src/modules/idle/node_modules/mongodb/lib/mongodb/connection/connection.js:440:22) 
at Socket.emit (events.js:95:17) 
at Socket.<anonymous> (_stream_readable.js:764:14) 
at Socket.emit (events.js:92:17) 
at emitReadable_ (_stream_readable.js:426:10) 
at emitReadable (_stream_readable.js:422:5) 
at readableAddChunk (_stream_readable.js:165:9) 
at Socket.Readable.push (_stream_readable.js:127:10) 
at TCP.onread (net.js:528:21) 

그래서, 당신이 얻을 가능한 한 짧은 시간 디버깅을 보내고 싶은 경우에, 모든 Mongo 콜백을 확인하십시오!