xmppo / node-xmpp-bosh

An XMPP BOSH & WebSocket server (connection manager) written on node.js using Javascript
https://github.com/xmppo/node-xmpp-bosh
263 stars 85 forks source link

Node crashes after a while #114

Closed ebarbeito closed 2 years ago

ebarbeito commented 10 years ago

Hi,

I'm using node-xmpp-bosh in a production server hosting a webchat (IRC) project that uses websockets to connect to a IRC server via an XMPP server (ejabberd 2.1.10) through NXB. The webchat is written in javascript, using Strophe.js 1.1.3 (with the plugin strophe.muc.js) to handle the comunication with ejabberd. The infrastructure seems something like this:

.----------.                               .-----.     .----------------------.
|  webchat |  ws://server:5280/http-bind/  |     |     |                      |  |
|  client  | <---------------------------> | XNB | <-> | ejabberd <-> mod_irc | <|> IRC server
|__________|                               |_____|     |______________________|  |

Usually the minimum number of connected users at a time is between 10 and 50. There is always someone using it and the service has been used by almost two hundred people at a time. That is the current traffic.

Some user can join to more than one IRC channel. The most popular channels have several hundred of people with a very high activity of joins, parts, quits, messages, kicks, bans, etc. So the stanza exchange among the XMPP server (ejabberd) and NXB may be quite stressful.

Because NXB constantly crashes I'm using forever to run it, so every time it crashes forever raises it again.

I am using node v0.10.29 in a Ubuntu 12.04.

This is the error log at this moment (this is the result of several crashes):

/usr/lib/node_modules/node-xmpp-bosh/node_modules/ws/lib/Receiver.js:228
  if (!this.state.fragmentedOperation) this.unfragmentedBufferPool.reset(true)
                 ^
TypeError: Cannot read property 'fragmentedOperation' of null
    at Receiver.endPacket (/usr/lib/node_modules/node-xmpp-bosh/node_modules/ws/lib/Receiver.js:228:18)
    at Receiver.opcodes.1.finish (/usr/lib/node_modules/node-xmpp-bosh/node_modules/ws/lib/Receiver.js:400:12)
    at Receiver.<anonymous> (/usr/lib/node_modules/node-xmpp-bosh/node_modules/ws/lib/Receiver.js:378:33)
    at Receiver.add (/usr/lib/node_modules/node-xmpp-bosh/node_modules/ws/lib/Receiver.js:93:24)
    at Socket.firstHandler (/usr/lib/node_modules/node-xmpp-bosh/node_modules/ws/lib/WebSocket.js:662:22)
    at Socket.emit (events.js:95:17)
    at Socket.<anonymous> (_stream_readable.js:748:14)
    at Socket.emit (events.js:92:17)
    at emitReadable_ (_stream_readable.js:410:10)
    at emitReadable (_stream_readable.js:406:5)

/usr/lib/node_modules/node-xmpp-bosh/node_modules/ws/lib/Receiver.js:228
  if (!this.state.fragmentedOperation) this.unfragmentedBufferPool.reset(true)
                 ^
TypeError: Cannot read property 'fragmentedOperation' of null
    at Receiver.endPacket (/usr/lib/node_modules/node-xmpp-bosh/node_modules/ws/lib/Receiver.js:228:18)
    at Receiver.opcodes.1.finish (/usr/lib/node_modules/node-xmpp-bosh/node_modules/ws/lib/Receiver.js:400:12)
    at Receiver.<anonymous> (/usr/lib/node_modules/node-xmpp-bosh/node_modules/ws/lib/Receiver.js:378:33)
    at Receiver.add (/usr/lib/node_modules/node-xmpp-bosh/node_modules/ws/lib/Receiver.js:93:24)
    at Socket.firstHandler (/usr/lib/node_modules/node-xmpp-bosh/node_modules/ws/lib/WebSocket.js:662:22)
    at Socket.emit (events.js:95:17)
    at Socket.<anonymous> (_stream_readable.js:748:14)
    at Socket.emit (events.js:92:17)
    at emitReadable_ (_stream_readable.js:410:10)
    at emitReadable (_stream_readable.js:406:5)

/usr/lib/node_modules/node-xmpp-bosh/node_modules/eventpipe/eventpipe.js:88
                throw new Error("Uncaught, unspecified 'error' event");
                      ^
Error: Uncaught, unspecified 'error' event
    at WebSocketEventPipe.EventPipe.emit (/usr/lib/node_modules/node-xmpp-bosh/node_modules/eventpipe/eventpipe.js:88:23)
    at WebSocket.emit_error (/usr/lib/node_modules/node-xmpp-bosh/src/websocket.js:350:19)
    at WebSocket.emit (events.js:98:17)
    at Receiver.self._receiver.onerror (/usr/lib/node_modules/node-xmpp-bosh/node_modules/ws/lib/WebSocket.js:703:10)
    at Receiver.error (/usr/lib/node_modules/node-xmpp-bosh/node_modules/ws/lib/Receiver.js:301:8)
    at Receiver.opcodes.8.finish (/usr/lib/node_modules/node-xmpp-bosh/node_modules/ws/lib/Receiver.js:497:14)
    at Receiver.<anonymous> (/usr/lib/node_modules/node-xmpp-bosh/node_modules/ws/lib/Receiver.js:478:33)
    at Receiver.add (/usr/lib/node_modules/node-xmpp-bosh/node_modules/ws/lib/Receiver.js:93:24)
    at Socket.firstHandler (/usr/lib/node_modules/node-xmpp-bosh/node_modules/ws/lib/WebSocket.js:662:22)
    at Socket.emit (events.js:95:17)

/usr/lib/node_modules/node-xmpp-bosh/node_modules/eventpipe/eventpipe.js:88
                throw new Error("Uncaught, unspecified 'error' event");
                      ^
Error: Uncaught, unspecified 'error' event
    at WebSocketEventPipe.EventPipe.emit (/usr/lib/node_modules/node-xmpp-bosh/node_modules/eventpipe/eventpipe.js:88:23)
    at WebSocket.emit_error (/usr/lib/node_modules/node-xmpp-bosh/src/websocket.js:350:19)
    at WebSocket.emit (events.js:98:17)
    at Receiver.self._receiver.onerror (/usr/lib/node_modules/node-xmpp-bosh/node_modules/ws/lib/WebSocket.js:703:10)
    at Receiver.error (/usr/lib/node_modules/node-xmpp-bosh/node_modules/ws/lib/Receiver.js:301:8)
    at Receiver.opcodes.8.finish (/usr/lib/node_modules/node-xmpp-bosh/node_modules/ws/lib/Receiver.js:497:14)
    at Receiver.<anonymous> (/usr/lib/node_modules/node-xmpp-bosh/node_modules/ws/lib/Receiver.js:478:33)
    at Receiver.add (/usr/lib/node_modules/node-xmpp-bosh/node_modules/ws/lib/Receiver.js:93:24)
    at Socket.firstHandler (/usr/lib/node_modules/node-xmpp-bosh/node_modules/ws/lib/WebSocket.js:662:22)
    at Socket.emit (events.js:95:17)

/usr/lib/node_modules/node-xmpp-bosh/node_modules/ws/lib/Receiver.js:228
  if (!this.state.fragmentedOperation) this.unfragmentedBufferPool.reset(true)
                 ^
TypeError: Cannot read property 'fragmentedOperation' of null
    at Receiver.endPacket (/usr/lib/node_modules/node-xmpp-bosh/node_modules/ws/lib/Receiver.js:228:18)
    at Receiver.opcodes.1.finish (/usr/lib/node_modules/node-xmpp-bosh/node_modules/ws/lib/Receiver.js:400:12)
    at Receiver.<anonymous> (/usr/lib/node_modules/node-xmpp-bosh/node_modules/ws/lib/Receiver.js:378:33)
    at Receiver.add (/usr/lib/node_modules/node-xmpp-bosh/node_modules/ws/lib/Receiver.js:93:24)
    at Socket.firstHandler (/usr/lib/node_modules/node-xmpp-bosh/node_modules/ws/lib/WebSocket.js:662:22)
    at Socket.emit (events.js:95:17)
    at Socket.<anonymous> (_stream_readable.js:748:14)
    at Socket.emit (events.js:92:17)
    at emitReadable_ (_stream_readable.js:410:10)
    at emitReadable (_stream_readable.js:406:5)

/usr/lib/node_modules/node-xmpp-bosh/node_modules/ws/lib/Receiver.js:228
  if (!this.state.fragmentedOperation) this.unfragmentedBufferPool.reset(true)
                 ^
TypeError: Cannot read property 'fragmentedOperation' of null
    at Receiver.endPacket (/usr/lib/node_modules/node-xmpp-bosh/node_modules/ws/lib/Receiver.js:228:18)
    at Receiver.opcodes.1.finish (/usr/lib/node_modules/node-xmpp-bosh/node_modules/ws/lib/Receiver.js:400:12)
    at Receiver.<anonymous> (/usr/lib/node_modules/node-xmpp-bosh/node_modules/ws/lib/Receiver.js:378:33)
    at Receiver.add (/usr/lib/node_modules/node-xmpp-bosh/node_modules/ws/lib/Receiver.js:93:24)
    at Socket.firstHandler (/usr/lib/node_modules/node-xmpp-bosh/node_modules/ws/lib/WebSocket.js:662:22)
    at Socket.emit (events.js:95:17)
    at Socket.<anonymous> (_stream_readable.js:748:14)
    at Socket.emit (events.js:92:17)
    at emitReadable_ (_stream_readable.js:410:10)
    at emitReadable (_stream_readable.js:406:5)

/usr/lib/node_modules/node-xmpp-bosh/node_modules/ws/lib/Receiver.js:228
  if (!this.state.fragmentedOperation) this.unfragmentedBufferPool.reset(true)
                 ^
TypeError: Cannot read property 'fragmentedOperation' of null
    at Receiver.endPacket (/usr/lib/node_modules/node-xmpp-bosh/node_modules/ws/lib/Receiver.js:228:18)
    at Receiver.opcodes.1.finish (/usr/lib/node_modules/node-xmpp-bosh/node_modules/ws/lib/Receiver.js:400:12)
    at Receiver.<anonymous> (/usr/lib/node_modules/node-xmpp-bosh/node_modules/ws/lib/Receiver.js:378:33)
    at Receiver.add (/usr/lib/node_modules/node-xmpp-bosh/node_modules/ws/lib/Receiver.js:93:24)
    at Socket.firstHandler (/usr/lib/node_modules/node-xmpp-bosh/node_modules/ws/lib/WebSocket.js:662:22)
    at Socket.emit (events.js:95:17)
    at Socket.<anonymous> (_stream_readable.js:748:14)
    at Socket.emit (events.js:92:17)
    at emitReadable_ (_stream_readable.js:410:10)
    at emitReadable (_stream_readable.js:406:5)

/usr/lib/node_modules/node-xmpp-bosh/node_modules/ws/lib/Receiver.js:228
  if (!this.state.fragmentedOperation) this.unfragmentedBufferPool.reset(true)
                 ^
TypeError: Cannot read property 'fragmentedOperation' of null
    at Receiver.endPacket (/usr/lib/node_modules/node-xmpp-bosh/node_modules/ws/lib/Receiver.js:228:18)
    at Receiver.opcodes.1.finish (/usr/lib/node_modules/node-xmpp-bosh/node_modules/ws/lib/Receiver.js:400:12)
    at Receiver.<anonymous> (/usr/lib/node_modules/node-xmpp-bosh/node_modules/ws/lib/Receiver.js:378:33)
    at Receiver.add (/usr/lib/node_modules/node-xmpp-bosh/node_modules/ws/lib/Receiver.js:93:24)
    at Socket.firstHandler (/usr/lib/node_modules/node-xmpp-bosh/node_modules/ws/lib/WebSocket.js:662:22)
    at Socket.emit (events.js:95:17)
    at Socket.<anonymous> (_stream_readable.js:748:14)
    at Socket.emit (events.js:92:17)
    at emitReadable_ (_stream_readable.js:410:10)
    at emitReadable (_stream_readable.js:406:5)

/usr/lib/node_modules/node-xmpp-bosh/node_modules/ws/lib/Receiver.js:228
  if (!this.state.fragmentedOperation) this.unfragmentedBufferPool.reset(true)
                 ^
TypeError: Cannot read property 'fragmentedOperation' of null
    at Receiver.endPacket (/usr/lib/node_modules/node-xmpp-bosh/node_modules/ws/lib/Receiver.js:228:18)
    at Receiver.opcodes.1.finish (/usr/lib/node_modules/node-xmpp-bosh/node_modules/ws/lib/Receiver.js:400:12)
    at Receiver.<anonymous> (/usr/lib/node_modules/node-xmpp-bosh/node_modules/ws/lib/Receiver.js:378:33)
    at Receiver.add (/usr/lib/node_modules/node-xmpp-bosh/node_modules/ws/lib/Receiver.js:93:24)
    at Socket.firstHandler (/usr/lib/node_modules/node-xmpp-bosh/node_modules/ws/lib/WebSocket.js:662:22)
    at Socket.emit (events.js:95:17)
    at Socket.<anonymous> (_stream_readable.js:748:14)
    at Socket.emit (events.js:92:17)
    at emitReadable_ (_stream_readable.js:410:10)
    at emitReadable (_stream_readable.js:406:5)

/usr/lib/node_modules/node-xmpp-bosh/node_modules/eventpipe/eventpipe.js:88
                throw new Error("Uncaught, unspecified 'error' event");
                      ^
Error: Uncaught, unspecified 'error' event
    at WebSocketEventPipe.EventPipe.emit (/usr/lib/node_modules/node-xmpp-bosh/node_modules/eventpipe/eventpipe.js:88:23)
    at WebSocket.emit_error (/usr/lib/node_modules/node-xmpp-bosh/src/websocket.js:350:19)
    at WebSocket.emit (events.js:98:17)
    at Receiver.self._receiver.onerror (/usr/lib/node_modules/node-xmpp-bosh/node_modules/ws/lib/WebSocket.js:703:10)
    at Receiver.error (/usr/lib/node_modules/node-xmpp-bosh/node_modules/ws/lib/Receiver.js:301:8)
    at Receiver.processPacket (/usr/lib/node_modules/node-xmpp-bosh/node_modules/ws/lib/Receiver.js:187:10)
    at Receiver.add (/usr/lib/node_modules/node-xmpp-bosh/node_modules/ws/lib/Receiver.js:93:24)
    at Socket.firstHandler (/usr/lib/node_modules/node-xmpp-bosh/node_modules/ws/lib/WebSocket.js:662:22)
    at Socket.emit (events.js:95:17)
    at Socket.<anonymous> (_stream_readable.js:748:14)

/usr/lib/node_modules/node-xmpp-bosh/node_modules/eventpipe/eventpipe.js:88
                throw new Error("Uncaught, unspecified 'error' event");
                      ^
Error: Uncaught, unspecified 'error' event
    at WebSocketEventPipe.EventPipe.emit (/usr/lib/node_modules/node-xmpp-bosh/node_modules/eventpipe/eventpipe.js:88:23)
    at WebSocket.emit_error (/usr/lib/node_modules/node-xmpp-bosh/src/websocket.js:350:19)
    at WebSocket.emit (events.js:98:17)
    at Receiver.self._receiver.onerror (/usr/lib/node_modules/node-xmpp-bosh/node_modules/ws/lib/WebSocket.js:703:10)
    at Receiver.error (/usr/lib/node_modules/node-xmpp-bosh/node_modules/ws/lib/Receiver.js:301:8)
    at Receiver.processPacket (/usr/lib/node_modules/node-xmpp-bosh/node_modules/ws/lib/Receiver.js:187:10)
    at Receiver.add (/usr/lib/node_modules/node-xmpp-bosh/node_modules/ws/lib/Receiver.js:93:24)
    at Socket.firstHandler (/usr/lib/node_modules/node-xmpp-bosh/node_modules/ws/lib/WebSocket.js:662:22)
    at Socket.emit (events.js:95:17)
    at Socket.<anonymous> (_stream_readable.js:748:14)

/usr/lib/node_modules/node-xmpp-bosh/node_modules/eventpipe/eventpipe.js:88
                throw new Error("Uncaught, unspecified 'error' event");
                      ^
Error: Uncaught, unspecified 'error' event
    at WebSocketEventPipe.EventPipe.emit (/usr/lib/node_modules/node-xmpp-bosh/node_modules/eventpipe/eventpipe.js:88:23)
    at WebSocket.emit_error (/usr/lib/node_modules/node-xmpp-bosh/src/websocket.js:350:19)
    at WebSocket.emit (events.js:98:17)
    at Receiver.self._receiver.onerror (/usr/lib/node_modules/node-xmpp-bosh/node_modules/ws/lib/WebSocket.js:703:10)
    at Receiver.error (/usr/lib/node_modules/node-xmpp-bosh/node_modules/ws/lib/Receiver.js:301:8)
    at Receiver.processPacket (/usr/lib/node_modules/node-xmpp-bosh/node_modules/ws/lib/Receiver.js:187:10)
    at Receiver.add (/usr/lib/node_modules/node-xmpp-bosh/node_modules/ws/lib/Receiver.js:93:24)
    at Socket.firstHandler (/usr/lib/node_modules/node-xmpp-bosh/node_modules/ws/lib/WebSocket.js:662:22)
    at Socket.emit (events.js:95:17)
    at Socket.<anonymous> (_stream_readable.js:748:14)

/usr/lib/node_modules/node-xmpp-bosh/node_modules/eventpipe/eventpipe.js:88
                throw new Error("Uncaught, unspecified 'error' event");
                      ^
Error: Uncaught, unspecified 'error' event
    at WebSocketEventPipe.EventPipe.emit (/usr/lib/node_modules/node-xmpp-bosh/node_modules/eventpipe/eventpipe.js:88:23)
    at WebSocket.emit_error (/usr/lib/node_modules/node-xmpp-bosh/src/websocket.js:350:19)
    at WebSocket.emit (events.js:98:17)
    at Receiver.self._receiver.onerror (/usr/lib/node_modules/node-xmpp-bosh/node_modules/ws/lib/WebSocket.js:703:10)
    at Receiver.error (/usr/lib/node_modules/node-xmpp-bosh/node_modules/ws/lib/Receiver.js:301:8)
    at Receiver.processPacket (/usr/lib/node_modules/node-xmpp-bosh/node_modules/ws/lib/Receiver.js:187:10)
    at Receiver.add (/usr/lib/node_modules/node-xmpp-bosh/node_modules/ws/lib/Receiver.js:93:24)
    at Socket.firstHandler (/usr/lib/node_modules/node-xmpp-bosh/node_modules/ws/lib/WebSocket.js:662:22)
    at Socket.emit (events.js:95:17)
    at Socket.<anonymous> (_stream_readable.js:748:14)

/usr/lib/node_modules/node-xmpp-bosh/node_modules/eventpipe/eventpipe.js:88
                throw new Error("Uncaught, unspecified 'error' event");
                      ^
Error: Uncaught, unspecified 'error' event
    at WebSocketEventPipe.EventPipe.emit (/usr/lib/node_modules/node-xmpp-bosh/node_modules/eventpipe/eventpipe.js:88:23)
    at WebSocket.emit_error (/usr/lib/node_modules/node-xmpp-bosh/src/websocket.js:350:19)
    at WebSocket.emit (events.js:98:17)
    at Receiver.self._receiver.onerror (/usr/lib/node_modules/node-xmpp-bosh/node_modules/ws/lib/WebSocket.js:703:10)
    at Receiver.error (/usr/lib/node_modules/node-xmpp-bosh/node_modules/ws/lib/Receiver.js:301:8)
    at Receiver.processPacket (/usr/lib/node_modules/node-xmpp-bosh/node_modules/ws/lib/Receiver.js:187:10)
    at Receiver.add (/usr/lib/node_modules/node-xmpp-bosh/node_modules/ws/lib/Receiver.js:93:24)
    at Socket.firstHandler (/usr/lib/node_modules/node-xmpp-bosh/node_modules/ws/lib/WebSocket.js:662:22)
    at Socket.emit (events.js:95:17)
    at Socket.<anonymous> (_stream_readable.js:748:14)

/usr/lib/node_modules/node-xmpp-bosh/node_modules/eventpipe/eventpipe.js:88
                throw new Error("Uncaught, unspecified 'error' event");
                      ^
Error: Uncaught, unspecified 'error' event
    at WebSocketEventPipe.EventPipe.emit (/usr/lib/node_modules/node-xmpp-bosh/node_modules/eventpipe/eventpipe.js:88:23)
    at WebSocket.emit_error (/usr/lib/node_modules/node-xmpp-bosh/src/websocket.js:350:19)
    at WebSocket.emit (events.js:98:17)
    at Receiver.self._receiver.onerror (/usr/lib/node_modules/node-xmpp-bosh/node_modules/ws/lib/WebSocket.js:703:10)
    at Receiver.error (/usr/lib/node_modules/node-xmpp-bosh/node_modules/ws/lib/Receiver.js:301:8)
    at Receiver.processPacket (/usr/lib/node_modules/node-xmpp-bosh/node_modules/ws/lib/Receiver.js:187:10)
    at Receiver.add (/usr/lib/node_modules/node-xmpp-bosh/node_modules/ws/lib/Receiver.js:93:24)
    at Socket.firstHandler (/usr/lib/node_modules/node-xmpp-bosh/node_modules/ws/lib/WebSocket.js:662:22)
    at Socket.emit (events.js:95:17)
    at Socket.<anonymous> (_stream_readable.js:748:14)

/usr/lib/node_modules/node-xmpp-bosh/node_modules/eventpipe/eventpipe.js:88
                throw new Error("Uncaught, unspecified 'error' event");
                      ^
Error: Uncaught, unspecified 'error' event
    at WebSocketEventPipe.EventPipe.emit (/usr/lib/node_modules/node-xmpp-bosh/node_modules/eventpipe/eventpipe.js:88:23)
    at WebSocket.emit_error (/usr/lib/node_modules/node-xmpp-bosh/src/websocket.js:350:19)
    at WebSocket.emit (events.js:98:17)
    at Receiver.self._receiver.onerror (/usr/lib/node_modules/node-xmpp-bosh/node_modules/ws/lib/WebSocket.js:703:10)
    at Receiver.error (/usr/lib/node_modules/node-xmpp-bosh/node_modules/ws/lib/Receiver.js:301:8)
    at Receiver.processPacket (/usr/lib/node_modules/node-xmpp-bosh/node_modules/ws/lib/Receiver.js:187:10)
    at Receiver.add (/usr/lib/node_modules/node-xmpp-bosh/node_modules/ws/lib/Receiver.js:93:24)
    at Socket.firstHandler (/usr/lib/node_modules/node-xmpp-bosh/node_modules/ws/lib/WebSocket.js:662:22)
    at Socket.emit (events.js:95:17)
    at Socket.<anonymous> (_stream_readable.js:748:14)

/usr/lib/node_modules/node-xmpp-bosh/node_modules/eventpipe/eventpipe.js:88
                throw new Error("Uncaught, unspecified 'error' event");
                      ^
Error: Uncaught, unspecified 'error' event
    at WebSocketEventPipe.EventPipe.emit (/usr/lib/node_modules/node-xmpp-bosh/node_modules/eventpipe/eventpipe.js:88:23)
    at WebSocket.emit_error (/usr/lib/node_modules/node-xmpp-bosh/src/websocket.js:350:19)
    at WebSocket.emit (events.js:98:17)
    at Receiver.self._receiver.onerror (/usr/lib/node_modules/node-xmpp-bosh/node_modules/ws/lib/WebSocket.js:703:10)
    at Receiver.error (/usr/lib/node_modules/node-xmpp-bosh/node_modules/ws/lib/Receiver.js:301:8)
    at Receiver.processPacket (/usr/lib/node_modules/node-xmpp-bosh/node_modules/ws/lib/Receiver.js:187:10)
    at Receiver.add (/usr/lib/node_modules/node-xmpp-bosh/node_modules/ws/lib/Receiver.js:93:24)
    at Socket.firstHandler (/usr/lib/node_modules/node-xmpp-bosh/node_modules/ws/lib/WebSocket.js:662:22)
    at Socket.emit (events.js:95:17)
    at Socket.<anonymous> (_stream_readable.js:748:14)

/usr/lib/node_modules/node-xmpp-bosh/node_modules/ws/lib/Receiver.js:228
  if (!this.state.fragmentedOperation) this.unfragmentedBufferPool.reset(true)
                 ^
TypeError: Cannot read property 'fragmentedOperation' of null
    at Receiver.endPacket (/usr/lib/node_modules/node-xmpp-bosh/node_modules/ws/lib/Receiver.js:228:18)
    at Receiver.opcodes.1.finish (/usr/lib/node_modules/node-xmpp-bosh/node_modules/ws/lib/Receiver.js:400:12)
    at Receiver.<anonymous> (/usr/lib/node_modules/node-xmpp-bosh/node_modules/ws/lib/Receiver.js:378:33)
    at Receiver.add (/usr/lib/node_modules/node-xmpp-bosh/node_modules/ws/lib/Receiver.js:93:24)
    at Socket.firstHandler (/usr/lib/node_modules/node-xmpp-bosh/node_modules/ws/lib/WebSocket.js:662:22)
    at Socket.emit (events.js:95:17)
    at Socket.<anonymous> (_stream_readable.js:748:14)
    at Socket.emit (events.js:92:17)
    at emitReadable_ (_stream_readable.js:410:10)
    at emitReadable (_stream_readable.js:406:5)

/usr/lib/node_modules/node-xmpp-bosh/node_modules/ws/lib/Receiver.js:228
  if (!this.state.fragmentedOperation) this.unfragmentedBufferPool.reset(true)
                 ^
TypeError: Cannot read property 'fragmentedOperation' of null
    at Receiver.endPacket (/usr/lib/node_modules/node-xmpp-bosh/node_modules/ws/lib/Receiver.js:228:18)
    at Receiver.opcodes.1.finish (/usr/lib/node_modules/node-xmpp-bosh/node_modules/ws/lib/Receiver.js:400:12)
    at Receiver.<anonymous> (/usr/lib/node_modules/node-xmpp-bosh/node_modules/ws/lib/Receiver.js:378:33)
    at Receiver.add (/usr/lib/node_modules/node-xmpp-bosh/node_modules/ws/lib/Receiver.js:93:24)
    at Socket.firstHandler (/usr/lib/node_modules/node-xmpp-bosh/node_modules/ws/lib/WebSocket.js:662:22)
    at Socket.emit (events.js:95:17)
    at Socket.<anonymous> (_stream_readable.js:748:14)
    at Socket.emit (events.js:92:17)
    at emitReadable_ (_stream_readable.js:410:10)
    at emitReadable (_stream_readable.js:406:5)

/usr/lib/node_modules/node-xmpp-bosh/node_modules/ws/lib/Receiver.js:228
  if (!this.state.fragmentedOperation) this.unfragmentedBufferPool.reset(true)
                 ^
TypeError: Cannot read property 'fragmentedOperation' of null
    at Receiver.endPacket (/usr/lib/node_modules/node-xmpp-bosh/node_modules/ws/lib/Receiver.js:228:18)
    at Receiver.opcodes.1.finish (/usr/lib/node_modules/node-xmpp-bosh/node_modules/ws/lib/Receiver.js:400:12)
    at Receiver.<anonymous> (/usr/lib/node_modules/node-xmpp-bosh/node_modules/ws/lib/Receiver.js:378:33)
    at Receiver.add (/usr/lib/node_modules/node-xmpp-bosh/node_modules/ws/lib/Receiver.js:93:24)
    at Socket.firstHandler (/usr/lib/node_modules/node-xmpp-bosh/node_modules/ws/lib/WebSocket.js:662:22)
    at Socket.emit (events.js:95:17)
    at Socket.<anonymous> (_stream_readable.js:748:14)
    at Socket.emit (events.js:92:17)
    at emitReadable_ (_stream_readable.js:410:10)
    at emitReadable (_stream_readable.js:406:5)

/usr/lib/node_modules/node-xmpp-bosh/node_modules/ws/lib/Receiver.js:228
  if (!this.state.fragmentedOperation) this.unfragmentedBufferPool.reset(true)
                 ^
TypeError: Cannot read property 'fragmentedOperation' of null
    at Receiver.endPacket (/usr/lib/node_modules/node-xmpp-bosh/node_modules/ws/lib/Receiver.js:228:18)
    at Receiver.opcodes.1.finish (/usr/lib/node_modules/node-xmpp-bosh/node_modules/ws/lib/Receiver.js:400:12)
    at Receiver.<anonymous> (/usr/lib/node_modules/node-xmpp-bosh/node_modules/ws/lib/Receiver.js:378:33)
    at Receiver.add (/usr/lib/node_modules/node-xmpp-bosh/node_modules/ws/lib/Receiver.js:93:24)
    at Socket.firstHandler (/usr/lib/node_modules/node-xmpp-bosh/node_modules/ws/lib/WebSocket.js:662:22)
    at Socket.emit (events.js:95:17)
    at Socket.<anonymous> (_stream_readable.js:748:14)
    at Socket.emit (events.js:92:17)
    at emitReadable_ (_stream_readable.js:410:10)
    at emitReadable (_stream_readable.js:406:5)

/usr/lib/node_modules/node-xmpp-bosh/node_modules/eventpipe/eventpipe.js:88
                throw new Error("Uncaught, unspecified 'error' event");
                      ^
Error: Uncaught, unspecified 'error' event
    at WebSocketEventPipe.EventPipe.emit (/usr/lib/node_modules/node-xmpp-bosh/node_modules/eventpipe/eventpipe.js:88:23)
    at WebSocket.emit_error (/usr/lib/node_modules/node-xmpp-bosh/src/websocket.js:350:19)
    at WebSocket.emit (events.js:98:17)
    at Receiver.self._receiver.onerror (/usr/lib/node_modules/node-xmpp-bosh/node_modules/ws/lib/WebSocket.js:703:10)
    at Receiver.error (/usr/lib/node_modules/node-xmpp-bosh/node_modules/ws/lib/Receiver.js:301:8)
    at Receiver.opcodes.8.finish (/usr/lib/node_modules/node-xmpp-bosh/node_modules/ws/lib/Receiver.js:497:14)
    at Receiver.<anonymous> (/usr/lib/node_modules/node-xmpp-bosh/node_modules/ws/lib/Receiver.js:478:33)
    at Receiver.add (/usr/lib/node_modules/node-xmpp-bosh/node_modules/ws/lib/Receiver.js:93:24)
    at Socket.firstHandler (/usr/lib/node_modules/node-xmpp-bosh/node_modules/ws/lib/WebSocket.js:662:22)
    at Socket.emit (events.js:95:17)

/usr/lib/node_modules/node-xmpp-bosh/node_modules/ws/lib/Receiver.js:228
  if (!this.state.fragmentedOperation) this.unfragmentedBufferPool.reset(true)
                 ^
TypeError: Cannot read property 'fragmentedOperation' of null
    at Receiver.endPacket (/usr/lib/node_modules/node-xmpp-bosh/node_modules/ws/lib/Receiver.js:228:18)
    at Receiver.opcodes.1.finish (/usr/lib/node_modules/node-xmpp-bosh/node_modules/ws/lib/Receiver.js:400:12)
    at Receiver.<anonymous> (/usr/lib/node_modules/node-xmpp-bosh/node_modules/ws/lib/Receiver.js:378:33)
    at Receiver.add (/usr/lib/node_modules/node-xmpp-bosh/node_modules/ws/lib/Receiver.js:93:24)
    at Socket.firstHandler (/usr/lib/node_modules/node-xmpp-bosh/node_modules/ws/lib/WebSocket.js:662:22)
    at Socket.emit (events.js:95:17)
    at Socket.<anonymous> (_stream_readable.js:748:14)
    at Socket.emit (events.js:92:17)
    at emitReadable_ (_stream_readable.js:410:10)
    at emitReadable (_stream_readable.js:406:5)

/usr/lib/node_modules/node-xmpp-bosh/node_modules/ws/lib/Receiver.js:228
  if (!this.state.fragmentedOperation) this.unfragmentedBufferPool.reset(true)
                 ^
TypeError: Cannot read property 'fragmentedOperation' of null
    at Receiver.endPacket (/usr/lib/node_modules/node-xmpp-bosh/node_modules/ws/lib/Receiver.js:228:18)
    at Receiver.opcodes.1.finish (/usr/lib/node_modules/node-xmpp-bosh/node_modules/ws/lib/Receiver.js:400:12)
    at Receiver.<anonymous> (/usr/lib/node_modules/node-xmpp-bosh/node_modules/ws/lib/Receiver.js:378:33)
    at Receiver.add (/usr/lib/node_modules/node-xmpp-bosh/node_modules/ws/lib/Receiver.js:93:24)
    at Socket.firstHandler (/usr/lib/node_modules/node-xmpp-bosh/node_modules/ws/lib/WebSocket.js:662:22)
    at Socket.emit (events.js:95:17)
    at Socket.<anonymous> (_stream_readable.js:748:14)
    at Socket.emit (events.js:92:17)
    at emitReadable_ (_stream_readable.js:410:10)
    at emitReadable (_stream_readable.js:406:5)

At this moment, this is the current information that shows the web interface of NXB:

Uptime: 09:08:05

0/0 active sessions

-114/5608 active streams

I don't know why but the "active sessions" is always 0/0. It never changes although many people are connected.

If I restart NXB manually, after two minutes this is the current state:

Uptime: 00:02:40

0/0 active sessions

10/17 active streams

I need some help. I really don't know what problem/s could be. May be memory leaks? May be bad formed stanzas? The XMPP server (ejabberd) has never been crashed or stopped and the IRC server has also been up all the time. I am thinking that the high stanza exchange is behind the NXB crashes but I don't know where I should look at..

Thanks in advance for all your help :-)

ebarbeito commented 10 years ago

I also get this issues but I'm just ignoring all of them avoiding node-xmpp-bosh to crash.

New crashes I'm getting:

/usr/lib/node_modules/node-xmpp-bosh/src/websocket.js:351
            throw new Error(ex.toString());
                  ^
Error: reserved fields must be empty
    at WebSocket.emit_error (/usr/lib/node_modules/node-xmpp-bosh/src/websocket.js:351:19)
    at WebSocket.emit (events.js:98:17)
    at Receiver.self._receiver.onerror (/usr/lib/node_modules/node-xmpp-bosh/node_modules/ws/lib/WebSocket.js:703:10)
    at Receiver.error (/usr/lib/node_modules/node-xmpp-bosh/node_modules/ws/lib/Receiver.js:305:8)
    at Receiver.processPacket (/usr/lib/node_modules/node-xmpp-bosh/node_modules/ws/lib/Receiver.js:187:10)
    at Receiver.add (/usr/lib/node_modules/node-xmpp-bosh/node_modules/ws/lib/Receiver.js:93:24)
    at Socket.firstHandler (/usr/lib/node_modules/node-xmpp-bosh/node_modules/ws/lib/WebSocket.js:662:22)
    at Socket.emit (events.js:95:17)
    at Socket.<anonymous> (_stream_readable.js:748:14)
    at Socket.emit (events.js:92:17)

events.js:72
        throw er; // Unhandled 'error' event
              ^
Error: socket hang up
    at SecurePair.error (tls.js:1008:23)
    at EncryptedStream.CryptoStream._done (tls.js:700:22)
    at CleartextStream.read [as _read] (tls.js:496:24)
    at CleartextStream.Readable.read (_stream_readable.js:323:10)
    at EncryptedStream.onCryptoStreamFinish (tls.js:301:47)
    at EncryptedStream.g (events.js:180:16)
    at EncryptedStream.emit (events.js:92:17)
    at finishMaybe (_stream_writable.js:360:12)
    at endWritable (_stream_writable.js:367:3)
    at EncryptedStream.Writable.end (_stream_writable.js:345:5)
    at EncryptedStream.CryptoStream.end (tls.js:638:31)
    at Socket.onend (stream.js:79:10)

/usr/lib/node_modules/node-xmpp-bosh/node_modules/eventpipe/eventpipe.js:86
                throw args[0];
                          ^
Error: listen EADDRINUSE
    at errnoException (net.js:904:11)
    at Server._listen2 (net.js:1042:14)
    at listen (net.js:1064:10)
    at net.js:1146:9
    at dns.js:72:18
    at process._tickCallback (node.js:419:13)
    at Function.Module.runMain (module.js:499:11)
    at startup (node.js:119:16)
    at node.js:906:3

Using 0.7.10 version

ebarbeito commented 10 years ago

Related with closed issue #100