I receive global unhandled error event causing app to crash.
I am not able to reproduce. It is quite random.
let server = TcpSocket.createServer( async function(socket) {
socket.on('error', (err) => {
console.warn('socket error: '+err);
try {
socket.destroy();
} catch (err) {
console.warn('Socket destroy error (on socket error): '+err);
}
});
socket.on('data', async (data) => { });
socket.on('close', (err) => {
console.warn('socket closed: '+err);
});
});
server.listen(serverOptions, () => {});
// restart server in case of app going back to foreground
AppState.addEventListener("change", async (state) => {
if (state == 'active' && disabled == false) {
if (typeof server !== 'undefined') {
console.warn('State changed to active. Server respawned');
try {
server.close();
} catch (err) {
console.warn('Server close error on state change: '+err);
}
try {
server = await createTcpServer(storage, serverOptions);
} catch(err) {
console.warn('Server creation error on state change: '+err);
}
}
}
})
A clear and concise description of what happened.
{
"message": "Error: Unhandled error. (undefined)",
"stack": [
{
"functionName": "emit",
"lineNumber": 141,
"columnNumber": 14,
"fileName": "node_modules/events/events.js"
},
{
"functionName": "_eventEmitter.addListener$argument_1",
"lineNumber": 62,
"columnNumber": 12,
"fileName": "node_modules/react-native-tcp-socket/src/TcpSocket.js"
},
{
"functionName": "emit",
"lineNumber": 189,
"columnNumber": 10,
"fileName": "node_modules/react-native/Libraries/vendor/emitter/EventEmitter.js"
},
{
"functionName": "__callFunction",
"lineNumber": 425,
"columnNumber": 19,
"fileName": "node_modules/react-native/Libraries/BatchedBridge/MessageQueue.js"
},
{
"functionName": "__guard$argument_0",
"lineNumber": 112,
"columnNumber": 6,
"fileName": "node_modules/react-native/Libraries/BatchedBridge/MessageQueue.js"
},
{
"functionName": "__guard",
"lineNumber": 373,
"columnNumber": 10,
"fileName": "node_modules/react-native/Libraries/BatchedBridge/MessageQueue.js"
},
{
"functionName": "callFunctionReturnFlushedQueue",
"lineNumber": 111,
"columnNumber": 4,
"fileName": "node_modules/react-native/Libraries/BatchedBridge/MessageQueue.js"
},
{
"functionName": "callFunctionReturnFlushedQueue",
"lineNumber": null,
"columnNumber": null,
"fileName": "[native code]"
}
]
}