Closed
Description
Description
I can manage ORC to run into an apparently infinite recursion, which obviously should not happen.
Nim Version
The commit that breaks ORC for me is 71dc929.
It works with 02be212 but fails with 71dc929.
Current Output
[Suite] module
[OK] attach_and_update
Traceback (most recent call last)
.../nim-lang/lib/system/iterators.nim(78) tests
.../nim-lang/lib/system.nim(910) newModule
.../nim-lang/lib/system/orc.nim(510) nimDecRefIsLastCyclicStatic
.../nim-lang/lib/system/orc.nim(475) rememberCycle
.../nim-lang/lib/system/orc.nim(415) registerCycle
.../nim-lang/lib/system/orc.nim(385) collectCycles
.../nim-lang/lib/system/orc.nim(340) collectCyclesBacon
.../nim-lang/lib/system/orc.nim(97) free
.../nim-lang/lib/system/orc.nim(510) nimDecRefIsLastCyclicStatic
.../nim-lang/lib/system/orc.nim(475) rememberCycle
.../nim-lang/lib/system/orc.nim(415) registerCycle
.../nim-lang/lib/system/orc.nim(385) collectCycles
.../nim-lang/lib/system/orc.nim(340) collectCyclesBacon
.../nim-lang/lib/system/orc.nim(97) free
.../nim-lang/lib/system/orc.nim(510) nimDecRefIsLastCyclicStatic
.../nim-lang/lib/system/orc.nim(475) rememberCycle
.../nim-lang/lib/system/orc.nim(415) registerCycle
.../nim-lang/lib/system/orc.nim(385) collectCycles
.../nim-lang/lib/system/orc.nim(340) collectCyclesBacon
.../nim-lang/lib/system/orc.nim(97) free
.../nim-lang/lib/system/orc.nim(510) nimDecRefIsLastCyclicStatic
.../nim-lang/lib/system/orc.nim(475) rememberCycle
.../nim-lang/lib/system/orc.nim(415) registerCycle
.../nim-lang/lib/system/orc.nim(385) collectCycles
.../nim-lang/lib/system/orc.nim(340) collectCyclesBacon
.../nim-lang/lib/system/orc.nim(97) free
.../nim-lang/lib/system/orc.nim(510) nimDecRefIsLastCyclicStatic
.../nim-lang/lib/system/orc.nim(475) rememberCycle
.../nim-lang/lib/system/orc.nim(415) registerCycle
.../nim-lang/lib/system/orc.nim(385) collectCycles
.../nim-lang/lib/system/orc.nim(340) collectCyclesBacon
(1874 calls omitted) ...
.../nim-lang/lib/system/orc.nim(475) rememberCycle
.../nim-lang/lib/system/orc.nim(415) registerCycle
.../nim-lang/lib/system/orc.nim(385) collectCycles
.../nim-lang/lib/system/orc.nim(340) collectCyclesBacon
.../nim-lang/lib/system/orc.nim(97) free
.../nim-lang/lib/system/orc.nim(510) nimDecRefIsLastCyclicStatic
.../nim-lang/lib/system/orc.nim(475) rememberCycle
.../nim-lang/lib/system/orc.nim(415) registerCycle
.../nim-lang/lib/system/orc.nim(385) collectCycles
.../nim-lang/lib/system/orc.nim(340) collectCyclesBacon
.../nim-lang/lib/system/orc.nim(97) free
.../nim-lang/lib/system/orc.nim(510) nimDecRefIsLastCyclicStatic
.../nim-lang/lib/system/orc.nim(475) rememberCycle
.../nim-lang/lib/system/orc.nim(415) registerCycle
.../nim-lang/lib/system/orc.nim(385) collectCycles
.../nim-lang/lib/system/orc.nim(340) collectCyclesBacon
.../nim-lang/lib/system/orc.nim(97) free
.../nim-lang/lib/system/orc.nim(510) nimDecRefIsLastCyclicStatic
.../nim-lang/lib/system/orc.nim(475) rememberCycle
.../nim-lang/lib/system/orc.nim(415) registerCycle
.../nim-lang/lib/system/orc.nim(385) collectCycles
.../nim-lang/lib/system/orc.nim(340) collectCyclesBacon
.../nim-lang/lib/system/orc.nim(97) free
.../nim-lang/lib/system/orc.nim(510) nimDecRefIsLastCyclicStatic
.../nim-lang/lib/system/orc.nim(475) rememberCycle
.../nim-lang/lib/system/orc.nim(415) registerCycle
.../nim-lang/lib/system/orc.nim(385) collectCycles
.../nim-lang/lib/system/orc.nim(340) collectCyclesBacon
.../nim-lang/lib/system/orc.nim(97) free
.../nim-lang/lib/system/orc.nim(510) nimDecRefIsLastCyclicStatic
.../nim-lang/lib/system/orc.nim(475) rememberCycle
.../nim-lang/lib/system/orc.nim(415) registerCycle
.../nim-lang/lib/system/orc.nim(385) collectCycles
.../nim-lang/lib/system/orc.nim(340) collectCyclesBacon
.../nim-lang/lib/system/orc.nim(97) free
.../nim-lang/lib/system/orc.nim(510) nimDecRefIsLastCyclicStatic
.../nim-lang/lib/system/orc.nim(475) rememberCycle
.../nim-lang/lib/system/orc.nim(415) registerCycle
.../nim-lang/lib/system/orc.nim(385) collectCycles
.../nim-lang/lib/system/orc.nim(340) collectCyclesBacon
.../nim-lang/lib/system/orc.nim(97) free
.../nim-lang/lib/system/orc.nim(510) nimDecRefIsLastCyclicStatic
.../nim-lang/lib/system/orc.nim(475) rememberCycle
.../nim-lang/lib/system/orc.nim(415) registerCycle
.../nim-lang/lib/system/orc.nim(385) collectCycles
.../nim-lang/lib/system/orc.nim(340) collectCyclesBacon
.../nim-lang/lib/system/orc.nim(97) free
.../nim-lang/lib/system/orc.nim(510) nimDecRefIsLastCyclicStatic
.../nim-lang/lib/system/orc.nim(475) rememberCycle
.../nim-lang/lib/system/orc.nim(415) registerCycle
.../nim-lang/lib/system/orc.nim(385) collectCycles
.../nim-lang/lib/system/orc.nim(340) collectCyclesBacon
.../nim-lang/lib/system/orc.nim(97) free
.../nim-lang/lib/system/orc.nim(510) nimDecRefIsLastCyclicStatic
.../nim-lang/lib/system/orc.nim(475) rememberCycle
.../nim-lang/lib/system/orc.nim(415) registerCycle
.../nim-lang/lib/system/orc.nim(385) collectCycles
.../nim-lang/lib/system/orc.nim(340) collectCyclesBacon
.../nim-lang/lib/system/orc.nim(97) free
.../nim-lang/lib/system/orc.nim(510) nimDecRefIsLastCyclicStatic
.../nim-lang/lib/system/orc.nim(475) rememberCycle
.../nim-lang/lib/system/orc.nim(415) registerCycle
.../nim-lang/lib/system/orc.nim(385) collectCycles
.../nim-lang/lib/system/orc.nim(340) collectCyclesBacon
.../nim-lang/lib/system/orc.nim(97) free
.../nim-lang/lib/system/orc.nim(510) nimDecRefIsLastCyclicStatic
.../nim-lang/lib/system/orc.nim(475) rememberCycle
.../nim-lang/lib/system/orc.nim(415) registerCycle
.../nim-lang/lib/system/orc.nim(385) collectCycles
.../nim-lang/lib/system/orc.nim(340) collectCyclesBacon
.../nim-lang/lib/system/orc.nim(97) free
.../nim-lang/lib/system/orc.nim(510) nimDecRefIsLastCyclicStatic
.../nim-lang/lib/system/orc.nim(475) rememberCycle
.../nim-lang/lib/system/orc.nim(415) registerCycle
.../nim-lang/lib/system/orc.nim(385) collectCycles
.../nim-lang/lib/system/orc.nim(340) collectCyclesBacon
.../nim-lang/lib/system/orc.nim(97) free
.../nim-lang/lib/system/orc.nim(510) nimDecRefIsLastCyclicStatic
.../nim-lang/lib/system/orc.nim(475) rememberCycle
.../nim-lang/lib/system/orc.nim(415) registerCycle
.../nim-lang/lib/system/orc.nim(385) collectCycles
.../nim-lang/lib/system/orc.nim(340) collectCyclesBacon
.../nim-lang/lib/system/orc.nim(97) free
.../nim-lang/lib/system/orc.nim(510) nimDecRefIsLastCyclicStatic
.../nim-lang/lib/system/orc.nim(475) rememberCycle
.../nim-lang/lib/system/orc.nim(415) registerCycle
.../nim-lang/lib/system/orc.nim(375) collectCycles
.../nim-lang/lib/system/cellseqs_v2.nim(37) init
.../nim-lang/lib/system/alloc.nim(1052) alloc
.../nim-lang/lib/system/alloc.nim(895) rawAlloc
.../nim-lang/lib/system/alloc.nim(654) getBigChunk
.../nim-lang/lib/system/alloc.nim splitChunk
.../nim-lang/lib/system/alloc.nim(580) splitChunk2
.../nim-lang/lib/system/alloc.nim(563) updatePrevSize
.../nim-lang/lib/system/alloc.nim(528) isAccessible
.../nim-lang/lib/system/alloc.nim pageIndex
Error: call depth limit reached in a debug build (2000 function calls). You can change it with -d:nimCallDepthLimit=<int> but really try to avoid deep recursions instead.
Expected Output
[Suite] module
[OK] attach_and_update
[OK] attach_signal
Possible Solution
Revert or fix 71dc929
Additional Information
If I skip the test attach_and_update
, the test attach_signal
succeeds, so there obviously is a dependency on code that ran previously.
But this makes it unclear to me how to create a minimal failing example.
Any input is appreciated.
Activity