Hi,
I noticed below issue when I switch from Nim 1.4.6 to Nim 1.6. My tests passed with 1.4.6 but failed with error related to malloc.
I'm using useMalloc flag in order to support native extensions.
Below are the instructions to reproduce. Later I'll try to see if I can create a minimal testcase. Before I get to it, just want to post this to the forum to see whether anyone can see something from the stacktrace.
The compilation flags used for the main program: -d:ssl -d:useMalloc --gc:orc (specified in config.nims)
One thing that is strange in the stacktrace is this line
parse is not the right proc name for that line.
$ git clone https://github.com/gcao/gene-new.git
$ cd gene-new
$ git checkout nim-1.6-issue
$ choosenim 1.6.0
$ nim -v
Nim Compiler Version 1.6.0 [MacOSX: amd64]
Compiled at 2021-11-06
Copyright (c) 2006-2021 by Andreas Rumpf
active boot switches: -d:release
$ nimble test
test_enum(97671,0x114c3ee00) malloc: Incorrect checksum for freed object 0x7ff50a61cce0: probably modified after being freed.
Corrupt value: 0x5ffffffffffffff0
test_enum(97671,0x114c3ee00) malloc: *** set a breakpoint in malloc_error_break to debug
Traceback (most recent call last)
/private/tmp/gene-new/tests/test_enum.nim(34) test_enum
/private/tmp/gene-new/tests/helpers.nim(102) test_interpreter
/private/tmp/gene-new/tests/helpers.nim(21) init_all
/private/tmp/gene-new/src/gene/interpreter.nim(85) init_app_and_vm
/private/tmp/gene-new/src/gene/libs.nim(533) :anonymous
/private/tmp/gene-new/src/gene/interpreter.nim(125) eval
/private/tmp/gene-new/src/gene/interpreter.nim(117) eval
/private/tmp/gene-new/src/gene/translators.nim(28) translate
/private/tmp/gene-new/src/gene/translators.nim(22) default_translator
/private/tmp/gene-new/src/gene/translators.nim(38) translate
/private/tmp/gene-new/src/gene/translators.nim(28) translate
/private/tmp/gene-new/src/gene/features/gene.nim(123) translate_gene
/private/tmp/gene-new/src/gene/features/namespace.nim(36) translate_ns
/private/tmp/gene-new/src/gene/translators.nim(38) translate
/private/tmp/gene-new/src/gene/translators.nim(28) translate
/private/tmp/gene-new/src/gene/features/gene.nim(123) translate_gene
/private/tmp/gene-new/src/gene/features/fp.nim(88) translate_fn
/private/tmp/gene-new/src/gene/features/fp.nim(69) to_function
/private/tmp/gene-new/src/gene/interpreter.nim(235) parse
/private/tmp/gene-new/src/gene/interpreter.nim(222) parse
/Users/gcao/.choosenim/toolchains/nim-1.6.0/lib/system.nim(1002) parse
/Users/gcao/.choosenim/toolchains/nim-1.6.0/lib/system/orc.nim(494) nimDecRefIsLastCyclicStatic
/Users/gcao/.choosenim/toolchains/nim-1.6.0/lib/system/orc.nim(472) rememberCycle
/Users/gcao/.choosenim/toolchains/nim-1.6.0/lib/system/orc.nim(413) registerCycle
/Users/gcao/.choosenim/toolchains/nim-1.6.0/lib/system/orc.nim(383) collectCycles
/Users/gcao/.choosenim/toolchains/nim-1.6.0/lib/system/orc.nim(338) collectCyclesBacon
/Users/gcao/.choosenim/toolchains/nim-1.6.0/lib/system/orc.nim(95) free
/Users/gcao/.choosenim/toolchains/nim-1.6.0/lib/system/orc.nim(494) nimDecRefIsLastCyclicStatic
/Users/gcao/.choosenim/toolchains/nim-1.6.0/lib/system/orc.nim(472) rememberCycle
/Users/gcao/.choosenim/toolchains/nim-1.6.0/lib/system/orc.nim(413) registerCycle
/Users/gcao/.choosenim/toolchains/nim-1.6.0/lib/system/orc.nim(383) collectCycles
/Users/gcao/.choosenim/toolchains/nim-1.6.0/lib/system/orc.nim(338) collectCyclesBacon
/Users/gcao/.choosenim/toolchains/nim-1.6.0/lib/system/orc.nim(109) free
/Users/gcao/.choosenim/toolchains/nim-1.6.0/lib/system/arc.nim(164) nimRawDispose
SIGABRT: Abnormal termination.
Error: execution of an external program failed: '/private/tmp/gene-new/bin/test_enum '
stack trace: (most recent call last)
/private/var/folders/sf/qfgw4bld4wj5mhl3w2yjpty40000gp/T/nimblecache-397682482/nimscriptapi_2132380902.nim(187, 16)
/private/tmp/gene-new/gene.nimble(34, 8) testTask
/Users/gcao/.choosenim/toolchains/nim-1.6.0/lib/system/nimscript.nim(273, 7) exec
/Users/gcao/.choosenim/toolchains/nim-1.6.0/lib/system/nimscript.nim(273, 7) Error: unhandled exception: FAILED: nim c -r tests/test_enum.nim [OSError]
Tip: 3 messages have been suppressed, use --verbose to show them.
Error: Exception raised during nimble script execution