diff --git a/server/utils/chats/stream.js b/server/utils/chats/stream.js index 643f3d4398..4eb9cf0221 100644 --- a/server/utils/chats/stream.js +++ b/server/utils/chats/stream.js @@ -253,7 +253,16 @@ function handleStreamResponses(response, stream, responseProps) { } catch {} if (!validJSON) { - chunk += message; + // It can be possible that the chunk decoding is running away + // and the message chunk fails to append due to string length. + // In this case abort the chunk and reset so we can continue. + // ref: https://github.com/Mintplex-Labs/anything-llm/issues/416 + try { + chunk += message; + } catch (e) { + console.error(`Chunk appending error`, e); + chunk = ""; + } continue; } else { chunk = "";