Skip to content

Instantly share code, notes, and snippets.

@elcritch
Created October 29, 2020 19:01
Show Gist options
  • Save elcritch/d825af308434a29c5d9b06e4d119d9fc to your computer and use it in GitHub Desktop.
Save elcritch/d825af308434a29c5d9b06e4d119d9fc to your computer and use it in GitHub Desktop.
JSON RPC Memory Corruption - Nim 1.4.0
> $ valgrind -v --leak-check=yes ./rpcsocket_json [±compiler-1_4_0_failure-test ●]
==529377== Memcheck, a memory error detector
==529377== Copyright (C) 2002-2017, and GNU GPL'd, by Julian Seward et al.
==529377== Using Valgrind-3.16.1-36d6727e1d-20200622X and LibVEX; rerun with -h for copyright info
==529377== Command: ./rpcsocket_json
==529377==
--529377-- Valgrind options:
--529377-- -v
--529377-- --leak-check=yes
--529377-- Contents of /proc/version:
--529377-- Linux version 5.4.66-rt38-MANJARO (builder@2718ff9d0eea) (gcc version 10.2.0 (GCC)) #1 SMP PREEMPT_RT Tue Sep 22 10:21:05 UTC 2020
--529377--
--529377-- Arch and hwcaps: AMD64, LittleEndian, amd64-cx16-lzcnt-rdtscp-sse3-ssse3-avx-avx2-bmi-f16c-rdrand
--529377-- Page sizes: currently 4096, max supported 4096
--529377-- Valgrind library directory: /usr/lib/valgrind
--529377-- Reading syms from /home/elcritch/projects/bessel/esp32/nesper/src/nesper/servers/rpc/rpcsocket_json
--529377-- Reading syms from /usr/lib/ld-2.32.so
--529377-- Reading syms from /usr/lib/valgrind/memcheck-amd64-linux
--529377-- object doesn't have a dynamic symbol table
--529377-- Scheduler: using generic scheduler lock implementation.
--529377-- Reading suppressions file: /usr/lib/valgrind/default.supp
==529377== embedded gdbserver: reading from /tmp/vgdb-pipe-from-vgdb-to-529377-by-elcritch-on-???
==529377== embedded gdbserver: writing to /tmp/vgdb-pipe-to-vgdb-from-529377-by-elcritch-on-???
==529377== embedded gdbserver: shared mem /tmp/vgdb-pipe-shared-mem-vgdb-529377-by-elcritch-on-???
==529377==
==529377== TO CONTROL THIS PROCESS USING vgdb (which you probably
==529377== don't want to do, unless you know exactly what you're doing,
==529377== or are doing some strange experiment):
==529377== /usr/lib/valgrind/../../bin/vgdb --pid=529377 ...command...
==529377==
==529377== TO DEBUG THIS PROCESS USING GDB: start GDB like this
==529377== /path/to/gdb ./rpcsocket_json
==529377== and then give GDB the following command
==529377== target remote | /usr/lib/valgrind/../../bin/vgdb --pid=529377
==529377== --pid is optional if only one valgrind process is running
==529377==
--529377-- REDIR: 0x4021ee0 (ld-linux-x86-64.so.2:strlen) redirected to 0x580b9662 (vgPlain_amd64_linux_REDIR_FOR_strlen)
--529377-- REDIR: 0x4021cb0 (ld-linux-x86-64.so.2:index) redirected to 0x580b967c (vgPlain_amd64_linux_REDIR_FOR_index)
--529377-- Reading syms from /usr/lib/valgrind/vgpreload_core-amd64-linux.so
--529377-- Reading syms from /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so
==529377== WARNING: new redirection conflicts with existing -- ignoring it
--529377-- old: 0x04021ee0 (strlen ) R-> (0000.0) 0x580b9662 vgPlain_amd64_linux_REDIR_FOR_strlen
--529377-- new: 0x04021ee0 (strlen ) R-> (2007.0) 0x0483dd90 strlen
--529377-- REDIR: 0x401e6c0 (ld-linux-x86-64.so.2:strcmp) redirected to 0x483ec60 (strcmp)
--529377-- REDIR: 0x4022440 (ld-linux-x86-64.so.2:mempcpy) redirected to 0x4842450 (mempcpy)
--529377-- Reading syms from /usr/lib/libdl-2.32.so
--529377-- object doesn't have a symbol table
--529377-- Reading syms from /usr/lib/libstdc++.so.6.0.28
--529377-- Reading syms from /usr/lib/libm-2.32.so
--529377-- object doesn't have a symbol table
--529377-- Reading syms from /usr/lib/libgcc_s.so.1
--529377-- Reading syms from /usr/lib/libpthread-2.32.so
--529377-- Reading syms from /usr/lib/libc-2.32.so
--529377-- REDIR: 0x4c978c0 (libc.so.6:memmove) redirected to 0x48301c0 (_vgnU_ifunc_wrapper)
--529377-- REDIR: 0x4c96db0 (libc.so.6:strncpy) redirected to 0x48301c0 (_vgnU_ifunc_wrapper)
--529377-- REDIR: 0x4c97c00 (libc.so.6:strcasecmp) redirected to 0x48301c0 (_vgnU_ifunc_wrapper)
--529377-- REDIR: 0x4c96850 (libc.so.6:strcat) redirected to 0x48301c0 (_vgnU_ifunc_wrapper)
--529377-- REDIR: 0x4c96e10 (libc.so.6:rindex) redirected to 0x48301c0 (_vgnU_ifunc_wrapper)
--529377-- REDIR: 0x4c98fb0 (libc.so.6:rawmemchr) redirected to 0x48301c0 (_vgnU_ifunc_wrapper)
--529377-- REDIR: 0x4cb1500 (libc.so.6:wmemchr) redirected to 0x48301c0 (_vgnU_ifunc_wrapper)
--529377-- REDIR: 0x4cb1040 (libc.so.6:wcscmp) redirected to 0x48301c0 (_vgnU_ifunc_wrapper)
--529377-- REDIR: 0x4c97a20 (libc.so.6:mempcpy) redirected to 0x48301c0 (_vgnU_ifunc_wrapper)
--529377-- REDIR: 0x4c97850 (libc.so.6:bcmp) redirected to 0x48301c0 (_vgnU_ifunc_wrapper)
--529377-- REDIR: 0x4c96d40 (libc.so.6:strncmp) redirected to 0x48301c0 (_vgnU_ifunc_wrapper)
--529377-- REDIR: 0x4c96900 (libc.so.6:strcmp) redirected to 0x48301c0 (_vgnU_ifunc_wrapper)
--529377-- REDIR: 0x4c97990 (libc.so.6:memset) redirected to 0x48301c0 (_vgnU_ifunc_wrapper)
--529377-- REDIR: 0x4cb1000 (libc.so.6:wcschr) redirected to 0x48301c0 (_vgnU_ifunc_wrapper)
--529377-- REDIR: 0x4c96ca0 (libc.so.6:strnlen) redirected to 0x48301c0 (_vgnU_ifunc_wrapper)
--529377-- REDIR: 0x4c969e0 (libc.so.6:strcspn) redirected to 0x48301c0 (_vgnU_ifunc_wrapper)
--529377-- REDIR: 0x4c97c50 (libc.so.6:strncasecmp) redirected to 0x48301c0 (_vgnU_ifunc_wrapper)
--529377-- REDIR: 0x4c96980 (libc.so.6:strcpy) redirected to 0x48301c0 (_vgnU_ifunc_wrapper)
--529377-- REDIR: 0x4c97da0 (libc.so.6:memcpy@@GLIBC_2.14) redirected to 0x48301c0 (_vgnU_ifunc_wrapper)
--529377-- REDIR: 0x4cb2750 (libc.so.6:wcsnlen) redirected to 0x48301c0 (_vgnU_ifunc_wrapper)
--529377-- REDIR: 0x4cb1080 (libc.so.6:wcscpy) redirected to 0x48301c0 (_vgnU_ifunc_wrapper)
--529377-- REDIR: 0x4c96e50 (libc.so.6:strpbrk) redirected to 0x48301c0 (_vgnU_ifunc_wrapper)
--529377-- REDIR: 0x4c968b0 (libc.so.6:index) redirected to 0x48301c0 (_vgnU_ifunc_wrapper)
--529377-- REDIR: 0x4c96c60 (libc.so.6:strlen) redirected to 0x48301c0 (_vgnU_ifunc_wrapper)
--529377-- REDIR: 0x4c9d3a0 (libc.so.6:memrchr) redirected to 0x48301c0 (_vgnU_ifunc_wrapper)
--529377-- REDIR: 0x4c97ca0 (libc.so.6:strcasecmp_l) redirected to 0x48301c0 (_vgnU_ifunc_wrapper)
--529377-- REDIR: 0x4c97810 (libc.so.6:memchr) redirected to 0x48301c0 (_vgnU_ifunc_wrapper)
--529377-- REDIR: 0x4cb1150 (libc.so.6:wcslen) redirected to 0x48301c0 (_vgnU_ifunc_wrapper)
--529377-- REDIR: 0x4c96f80 (libc.so.6:strspn) redirected to 0x48301c0 (_vgnU_ifunc_wrapper)
--529377-- REDIR: 0x4c97ba0 (libc.so.6:stpncpy) redirected to 0x48301c0 (_vgnU_ifunc_wrapper)
--529377-- REDIR: 0x4c97b40 (libc.so.6:stpcpy) redirected to 0x48301c0 (_vgnU_ifunc_wrapper)
--529377-- REDIR: 0x4c98ff0 (libc.so.6:strchrnul) redirected to 0x48301c0 (_vgnU_ifunc_wrapper)
--529377-- REDIR: 0x4c97cf0 (libc.so.6:strncasecmp_l) redirected to 0x48301c0 (_vgnU_ifunc_wrapper)
--529377-- REDIR: 0x4d698a0 (libc.so.6:__strrchr_avx2) redirected to 0x483d7d0 (rindex)
--529377-- REDIR: 0x4c92c90 (libc.so.6:malloc) redirected to 0x483a710 (malloc)
--529377-- REDIR: 0x4d6cf00 (libc.so.6:__memset_avx2_unaligned_erms) redirected to 0x48413b0 (memset)
--529377-- REDIR: 0x4c93a50 (libc.so.6:calloc) redirected to 0x483cab0 (calloc)
--529377-- REDIR: 0x4d6ca80 (libc.so.6:__memcpy_avx_unaligned_erms) redirected to 0x48414b0 (memmove)
--529377-- REDIR: 0x4d6ca60 (libc.so.6:__mempcpy_avx_unaligned_erms) redirected to 0x4842050 (mempcpy)
createRpcRouter: 4096
--529377-- REDIR: 0x4c932f0 (libc.so.6:free) redirected to 0x483b940 (free)
--529377-- REDIR: 0x4d696b0 (libc.so.6:__strchrnul_avx2) redirected to 0x4841f40 (strchrnul)
INFO: socketrpc
INFO: socketrpc
--529377-- REDIR: 0x4d69a70 (libc.so.6:__strlen_avx2) redirected to 0x483dc70 (strlen)
--529377-- REDIR: 0x4c97730 (libc.so.6:strstr) redirected to 0x48301c0 (_vgnU_ifunc_wrapper)
--529377-- REDIR: 0x4cafba0 (libc.so.6:__strstr_sse2_unaligned) redirected to 0x4842660 (strstr)
--529377-- REDIR: 0x4c93580 (libc.so.6:realloc) redirected to 0x483cd00 (realloc)
--529377-- REDIR: 0x4d66060 (libc.so.6:__memcmp_avx2_movbe) redirected to 0x4840c50 (bcmp)
==529377==
==529377== HEAP SUMMARY:
==529377== in use at exit: 70,862 bytes in 27 blocks
==529377== total heap usage: 644 allocs, 617 frees, 566,912 bytes allocated
==529377==
==529377== Searching for pointers to 27 not-freed blocks
==529377== Checked 204,432 bytes
==529377==
==529377== 12 bytes in 1 blocks are possibly lost in loss record 1 of 24
==529377== at 0x483CB65: calloc (vg_replace_malloc.c:760)
==529377== by 0x10BE5F: alloc0Impl__KzdpcuLT9aef9bsiSHlIu9aFg_2 (malloc.nim:8)
==529377== by 0x10BE6D: allocShared0Impl__KzdpcuLT9aef9bsiSHlIu9aFg (malloc.nim:28)
==529377== by 0x1136AD: nimAsgnStrV2 (strs_v2.nim:131)
==529377== by 0x1137A7: eqcopy___aBBXmHFBEivKqERloP6zmA (fatal.nim:49)
==529377== by 0x13CA0B: newJStringMove__19ag6cl4fMjxytc9arHmLIbw_2 (fatal.nim:49)
==529377== by 0x13D4C7: parseJson__djUCXAtTZaoCKdBhcNKguQ (json.nim:791)
==529377== by 0x13DACA: parseJson__djUCXAtTZaoCKdBhcNKguQ (json.nim:818)
==529377== by 0x13DFCA: parseJson__WzaWBorCQCRzsZmH9bGowsQ (json.nim:859)
==529377== by 0x13E238: parseJson__Y9cImsF2VGDWROPSsgTGewQ (json.nim:943)
==529377== by 0x144ADB: rpcMsgPackReadHandler__aboeilCtDdliMNfD4nUKdg (rpcsocket_json.nim:31)
==529377== by 0x132917: processReads__jVpqbkqvKw7JxwgfR89aUig (tcpsocket.nim:60)
==529377==
==529377== 32 bytes in 1 blocks are possibly lost in loss record 4 of 24
==529377== at 0x483A77F: malloc (vg_replace_malloc.c:307)
==529377== by 0x10D01F: nimNewObj (arc.nim:83)
==529377== by 0x12C47D: newTable__m74Etug8RsrIDsoO8CBIVw (tables.nim:793)
==529377== by 0x132297: createServerInfo__gxQFft714PStA2MTCyMG3g (tcpsocket.nim:33)
==529377== by 0x133941: startSocketServer__KSMtFEXK9b3qrqKtlblZ38g (tcpsocket.nim:105)
==529377== by 0x146983: startRpcSocketServer__HojzACo1huz0czj9bc0hxmg (rpcsocket_json.nim:46)
==529377== by 0x146CDF: NimMainModule (rpcsocket_json.nim:74)
==529377== by 0x146D5E: NimMainInner (system.nim:2169)
==529377== by 0x146A4B: NimMain (system.nim:2177)
==529377== by 0x146A6D: main (system.nim:2184)
==529377==
==529377== 48 bytes in 1 blocks are possibly lost in loss record 7 of 24
==529377== at 0x483A77F: malloc (vg_replace_malloc.c:307)
==529377== by 0x10D01F: nimNewObj (arc.nim:83)
==529377== by 0x114893: new__e13o9cNGh9cymzK9aePgN4AGg (system.nim:869)
==529377== by 0x132232: createServerInfo__gxQFft714PStA2MTCyMG3g (tcpsocket.nim:30)
==529377== by 0x133941: startSocketServer__KSMtFEXK9b3qrqKtlblZ38g (tcpsocket.nim:105)
==529377== by 0x146983: startRpcSocketServer__HojzACo1huz0czj9bc0hxmg (rpcsocket_json.nim:46)
==529377== by 0x146CDF: NimMainModule (rpcsocket_json.nim:74)
==529377== by 0x146D5E: NimMainInner (system.nim:2169)
==529377== by 0x146A4B: NimMain (system.nim:2177)
==529377== by 0x146A6D: main (system.nim:2184)
==529377==
==529377== 56 bytes in 1 blocks are possibly lost in loss record 11 of 24
==529377== at 0x483A77F: malloc (vg_replace_malloc.c:307)
==529377== by 0x113860: nimNewObjUninit (arc.nim:106)
==529377== by 0x13D0A7: newJObject__nXwnFPu9beTnGPwglrr7ztA_2 (json.nim:222)
==529377== by 0x13D83B: parseJson__djUCXAtTZaoCKdBhcNKguQ (json.nim:810)
==529377== by 0x13DFCA: parseJson__WzaWBorCQCRzsZmH9bGowsQ (json.nim:859)
==529377== by 0x13E238: parseJson__Y9cImsF2VGDWROPSsgTGewQ (json.nim:943)
==529377== by 0x144ADB: rpcMsgPackReadHandler__aboeilCtDdliMNfD4nUKdg (rpcsocket_json.nim:31)
==529377== by 0x132917: processReads__jVpqbkqvKw7JxwgfR89aUig (tcpsocket.nim:60)
==529377== by 0x133A27: startSocketServer__KSMtFEXK9b3qrqKtlblZ38g (tcpsocket.nim:116)
==529377== by 0x146983: startRpcSocketServer__HojzACo1huz0czj9bc0hxmg (rpcsocket_json.nim:46)
==529377== by 0x146CDF: NimMainModule (rpcsocket_json.nim:74)
==529377== by 0x146D5E: NimMainInner (system.nim:2169)
==529377==
==529377== 56 bytes in 1 blocks are possibly lost in loss record 12 of 24
==529377== at 0x483A77F: malloc (vg_replace_malloc.c:307)
==529377== by 0x10D01F: nimNewObj (arc.nim:83)
==529377== by 0x13C9D0: newJStringMove__19ag6cl4fMjxytc9arHmLIbw_2 (json.nim:201)
==529377== by 0x13D4C7: parseJson__djUCXAtTZaoCKdBhcNKguQ (json.nim:791)
==529377== by 0x13DACA: parseJson__djUCXAtTZaoCKdBhcNKguQ (json.nim:818)
==529377== by 0x13DFCA: parseJson__WzaWBorCQCRzsZmH9bGowsQ (json.nim:859)
==529377== by 0x13E238: parseJson__Y9cImsF2VGDWROPSsgTGewQ (json.nim:943)
==529377== by 0x144ADB: rpcMsgPackReadHandler__aboeilCtDdliMNfD4nUKdg (rpcsocket_json.nim:31)
==529377== by 0x132917: processReads__jVpqbkqvKw7JxwgfR89aUig (tcpsocket.nim:60)
==529377== by 0x133A27: startSocketServer__KSMtFEXK9b3qrqKtlblZ38g (tcpsocket.nim:116)
==529377== by 0x146983: startRpcSocketServer__HojzACo1huz0czj9bc0hxmg (rpcsocket_json.nim:46)
==529377== by 0x146CDF: NimMainModule (rpcsocket_json.nim:74)
==529377==
==529377== 57 bytes in 4 blocks are possibly lost in loss record 13 of 24
==529377== at 0x483CB65: calloc (vg_replace_malloc.c:760)
==529377== by 0x10BE5F: alloc0Impl__KzdpcuLT9aef9bsiSHlIu9aFg_2 (malloc.nim:8)
==529377== by 0x10BE6D: allocShared0Impl__KzdpcuLT9aef9bsiSHlIu9aFg (malloc.nim:28)
==529377== by 0x1136AD: nimAsgnStrV2 (strs_v2.nim:131)
==529377== by 0x1137A7: eqcopy___aBBXmHFBEivKqERloP6zmA (fatal.nim:49)
==529377== by 0x12F677: rawInsert__K9b9aplmUERncrp49bmzOdPnw (fatal.nim:49)
==529377== by 0x1308C5: X5BX5Deq___vlnBr1uIbtu0ntnZh6Askg (tableimpl.nim:52)
==529377== by 0x13D905: X5BX5Deq___WmQhibcOp3ZlzI9bgifjalAjson (json.nim:359)
==529377== by 0x13D905: parseJson__djUCXAtTZaoCKdBhcNKguQ (json.nim:819)
==529377== by 0x13DFCA: parseJson__WzaWBorCQCRzsZmH9bGowsQ (json.nim:859)
==529377== by 0x13E238: parseJson__Y9cImsF2VGDWROPSsgTGewQ (json.nim:943)
==529377== by 0x144ADB: rpcMsgPackReadHandler__aboeilCtDdliMNfD4nUKdg (rpcsocket_json.nim:31)
==529377== by 0x132917: processReads__jVpqbkqvKw7JxwgfR89aUig (tcpsocket.nim:60)
==529377==
==529377== 328 bytes in 1 blocks are possibly lost in loss record 15 of 24
==529377== at 0x483CB65: calloc (vg_replace_malloc.c:760)
==529377== by 0x10BE5F: alloc0Impl__KzdpcuLT9aef9bsiSHlIu9aFg_2 (malloc.nim:8)
==529377== by 0x10BE6D: allocShared0Impl__KzdpcuLT9aef9bsiSHlIu9aFg (malloc.nim:28)
==529377== by 0x11098D: newSeqPayload (seqs_v2.nim:38)
==529377== by 0x12EEC8: initOrderedTable__Xnq4D4mCe8fymnuh9c7PQlw (tableimpl.nim:169)
==529377== by 0x13D0BA: newJObject__nXwnFPu9beTnGPwglrr7ztA_2 (json.nim:222)
==529377== by 0x13D83B: parseJson__djUCXAtTZaoCKdBhcNKguQ (json.nim:810)
==529377== by 0x13DFCA: parseJson__WzaWBorCQCRzsZmH9bGowsQ (json.nim:859)
==529377== by 0x13E238: parseJson__Y9cImsF2VGDWROPSsgTGewQ (json.nim:943)
==529377== by 0x144ADB: rpcMsgPackReadHandler__aboeilCtDdliMNfD4nUKdg (rpcsocket_json.nim:31)
==529377== by 0x132917: processReads__jVpqbkqvKw7JxwgfR89aUig (tcpsocket.nim:60)
==529377== by 0x133A27: startSocketServer__KSMtFEXK9b3qrqKtlblZ38g (tcpsocket.nim:116)
==529377==
==529377== 1,544 bytes in 1 blocks are possibly lost in loss record 17 of 24
==529377== at 0x483CB65: calloc (vg_replace_malloc.c:760)
==529377== by 0x10BE5F: alloc0Impl__KzdpcuLT9aef9bsiSHlIu9aFg_2 (malloc.nim:8)
==529377== by 0x10BE6D: allocShared0Impl__KzdpcuLT9aef9bsiSHlIu9aFg (malloc.nim:28)
==529377== by 0x11098D: newSeqPayload (seqs_v2.nim:38)
==529377== by 0x12C2C0: initTable__EjXf1GU1sJekBM9cUrS19cvQ (tableimpl.nim:169)
==529377== by 0x12C4AB: newTable__m74Etug8RsrIDsoO8CBIVw (tables.nim:793)
==529377== by 0x132297: createServerInfo__gxQFft714PStA2MTCyMG3g (tcpsocket.nim:33)
==529377== by 0x133941: startSocketServer__KSMtFEXK9b3qrqKtlblZ38g (tcpsocket.nim:105)
==529377== by 0x146983: startRpcSocketServer__HojzACo1huz0czj9bc0hxmg (rpcsocket_json.nim:46)
==529377== by 0x146CDF: NimMainModule (rpcsocket_json.nim:74)
==529377== by 0x146D5E: NimMainInner (system.nim:2169)
==529377== by 0x146A4B: NimMain (system.nim:2177)
==529377==
==529377== 4,040 bytes in 1 blocks are possibly lost in loss record 20 of 24
==529377== at 0x483A77F: malloc (vg_replace_malloc.c:307)
==529377== by 0x10D01F: nimNewObj (arc.nim:83)
==529377== by 0x114B2D: new__le0o2PJtjAo5AY4NVEQP2g (system.nim:869)
==529377== by 0x1329E9: processReads__jVpqbkqvKw7JxwgfR89aUig (tcpsocket.nim:43)
==529377== by 0x133A27: startSocketServer__KSMtFEXK9b3qrqKtlblZ38g (tcpsocket.nim:116)
==529377== by 0x146983: startRpcSocketServer__HojzACo1huz0czj9bc0hxmg (rpcsocket_json.nim:46)
==529377== by 0x146CDF: NimMainModule (rpcsocket_json.nim:74)
==529377== by 0x146D5E: NimMainInner (system.nim:2169)
==529377== by 0x146A4B: NimMain (system.nim:2177)
==529377== by 0x146A6D: main (system.nim:2184)
==529377==
==529377== 4,040 bytes in 1 blocks are possibly lost in loss record 21 of 24
==529377== at 0x483A77F: malloc (vg_replace_malloc.c:307)
==529377== by 0x10D01F: nimNewObj (arc.nim:83)
==529377== by 0x121890: newSocket__9b5QTa9b4dQ3h5Ri1wnR4ujw (net.nim:224)
==529377== by 0x13289C: processReads__jVpqbkqvKw7JxwgfR89aUig (tcpsocket.nim:54)
==529377== by 0x133A27: startSocketServer__KSMtFEXK9b3qrqKtlblZ38g (tcpsocket.nim:116)
==529377== by 0x146983: startRpcSocketServer__HojzACo1huz0czj9bc0hxmg (rpcsocket_json.nim:46)
==529377== by 0x146CDF: NimMainModule (rpcsocket_json.nim:74)
==529377== by 0x146D5E: NimMainInner (system.nim:2169)
==529377== by 0x146A4B: NimMain (system.nim:2177)
==529377== by 0x146A6D: main (system.nim:2184)
==529377==
==529377== LEAK SUMMARY:
==529377== definitely lost: 0 bytes in 0 blocks
==529377== indirectly lost: 0 bytes in 0 blocks
==529377== possibly lost: 10,213 bytes in 13 blocks
==529377== still reachable: 60,649 bytes in 14 blocks
==529377== of which reachable via heuristic:
==529377== newarray : 4,672 bytes in 6 blocks
==529377== suppressed: 0 bytes in 0 blocks
==529377== Reachable blocks (those to which a pointer was found) are not shown.
==529377== To see them, rerun with: --leak-check=full --show-leak-kinds=all
==529377==
==529377== ERROR SUMMARY: 10 errors from 10 contexts (suppressed: 0 from 0)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment