From 97b6c0fe6fdc717dd896482a9374f3cb644129ac Mon Sep 17 00:00:00 2001 From: Sale Djenic Date: Thu, 6 Apr 2023 13:51:13 +0200 Subject: [PATCH] fix(@desktop/general): potential crash parsing task handled --- src/app/core/tasks/threadpool.nim | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/src/app/core/tasks/threadpool.nim b/src/app/core/tasks/threadpool.nim index d1a03436a4..45580a1a32 100644 --- a/src/app/core/tasks/threadpool.nim +++ b/src/app/core/tasks/threadpool.nim @@ -40,10 +40,16 @@ proc newThreadPool*(): ThreadPool = result.pool = Taskpool.new(num_threads = nthreads) proc runTask(safeTaskArg: ThreadSafeTaskArg) {.gcsafe, nimcall.} = - let - taskArg = safeTaskArg.toString() + let taskArg = safeTaskArg.toString() + var parsed: JsonNode + + try: parsed = parseJson(taskArg) - messageType = parsed{"$type"}.getStr + except CatchableError as e: + error "[threadpool task thread] parsing task arg", error=e.msg + return + + let messageType = parsed{"$type"}.getStr debug "[threadpool task thread] initiating task", messageType=messageType, threadid=getThreadId(), task=taskArg