Traceback (most recent call last)
/home/akito/.choosenim/toolchains/nim-1.4.6/lib/system/deepcopy.nim(190) genericDeepCopy
/home/akito/.choosenim/toolchains/nim-1.4.6/lib/system/deepcopy.nim(132) genericDeepCopyAux
/home/akito/.choosenim/toolchains/nim-1.4.6/lib/system/deepcopy.nim(72) genericDeepCopyAux
/home/akito/.choosenim/toolchains/nim-1.4.6/lib/system/deepcopy.nim(68) genericDeepCopyAux
/home/akito/.choosenim/toolchains/nim-1.4.6/lib/system/deepcopy.nim(156) genericDeepCopyAux
/home/akito/.choosenim/toolchains/nim-1.4.6/lib/system/deepcopy.nim(132) genericDeepCopyAux
/home/akito/.choosenim/toolchains/nim-1.4.6/lib/system/deepcopy.nim(72) genericDeepCopyAux
/home/akito/.choosenim/toolchains/nim-1.4.6/lib/system/deepcopy.nim(68) genericDeepCopyAux
/home/akito/.choosenim/toolchains/nim-1.4.6/lib/system/deepcopy.nim(156) genericDeepCopyAux
/home/akito/.choosenim/toolchains/nim-1.4.6/lib/system/deepcopy.nim(132) genericDeepCopyAux
/home/akito/.choosenim/toolchains/nim-1.4.6/lib/system/deepcopy.nim(72) genericDeepCopyAux
/home/akito/.choosenim/toolchains/nim-1.4.6/lib/system/deepcopy.nim(68) genericDeepCopyAux
/home/akito/.choosenim/toolchains/nim-1.4.6/lib/system/deepcopy.nim(132) genericDeepCopyAux
/home/akito/.choosenim/toolchains/nim-1.4.6/lib/system/deepcopy.nim(72) genericDeepCopyAux
/home/akito/.choosenim/toolchains/nim-1.4.6/lib/system/deepcopy.nim(68) genericDeepCopyAux
/home/akito/.choosenim/toolchains/nim-1.4.6/lib/system/deepcopy.nim(156) genericDeepCopyAux
/home/akito/.choosenim/toolchains/nim-1.4.6/lib/system/deepcopy.nim(132) genericDeepCopyAux
/home/akito/.choosenim/toolchains/nim-1.4.6/lib/system/deepcopy.nim(72) genericDeepCopyAux
/home/akito/.choosenim/toolchains/nim-1.4.6/lib/system/deepcopy.nim(68) genericDeepCopyAux
/home/akito/.choosenim/toolchains/nim-1.4.6/lib/system/deepcopy.nim(156) genericDeepCopyAux
/home/akito/.choosenim/toolchains/nim-1.4.6/lib/system/deepcopy.nim(132) genericDeepCopyAux
/home/akito/.choosenim/toolchains/nim-1.4.6/lib/system/deepcopy.nim(72) genericDeepCopyAux
/home/akito/.choosenim/toolchains/nim-1.4.6/lib/system/deepcopy.nim(68) genericDeepCopyAux
/home/akito/.choosenim/toolchains/nim-1.4.6/lib/system/deepcopy.nim(156) genericDeepCopyAux
/home/akito/.choosenim/toolchains/nim-1.4.6/lib/system/deepcopy.nim(132) genericDeepCopyAux
/home/akito/.choosenim/toolchains/nim-1.4.6/lib/system/deepcopy.nim(72) genericDeepCopyAux
/home/akito/.choosenim/toolchains/nim-1.4.6/lib/system/deepcopy.nim(68) genericDeepCopyAux
/home/akito/.choosenim/toolchains/nim-1.4.6/lib/system/deepcopy.nim(156) genericDeepCopyAux
/home/akito/.choosenim/toolchains/nim-1.4.6/lib/system/deepcopy.nim(132) genericDeepCopyAux
/home/akito/.choosenim/toolchains/nim-1.4.6/lib/system/deepcopy.nim(72) genericDeepCopyAux
/home/akito/.choosenim/toolchains/nim-1.4.6/lib/system/deepcopy.nim(68) genericDeepCopyAux
(1874 calls omitted) ...
/home/akito/.choosenim/toolchains/nim-1.4.6/lib/system/deepcopy.nim(72) genericDeepCopyAux
/home/akito/.choosenim/toolchains/nim-1.4.6/lib/system/deepcopy.nim(68) genericDeepCopyAux
/home/akito/.choosenim/toolchains/nim-1.4.6/lib/system/deepcopy.nim(156) genericDeepCopyAux
/home/akito/.choosenim/toolchains/nim-1.4.6/lib/system/deepcopy.nim(132) genericDeepCopyAux
/home/akito/.choosenim/toolchains/nim-1.4.6/lib/system/deepcopy.nim(72) genericDeepCopyAux
/home/akito/.choosenim/toolchains/nim-1.4.6/lib/system/deepcopy.nim(68) genericDeepCopyAux
/home/akito/.choosenim/toolchains/nim-1.4.6/lib/system/deepcopy.nim(156) genericDeepCopyAux
/home/akito/.choosenim/toolchains/nim-1.4.6/lib/system/deepcopy.nim(132) genericDeepCopyAux
/home/akito/.choosenim/toolchains/nim-1.4.6/lib/system/deepcopy.nim(72) genericDeepCopyAux
/home/akito/.choosenim/toolchains/nim-1.4.6/lib/system/deepcopy.nim(68) genericDeepCopyAux
/home/akito/.choosenim/toolchains/nim-1.4.6/lib/system/deepcopy.nim(156) genericDeepCopyAux
/home/akito/.choosenim/toolchains/nim-1.4.6/lib/system/deepcopy.nim(132) genericDeepCopyAux
/home/akito/.choosenim/toolchains/nim-1.4.6/lib/system/deepcopy.nim(72) genericDeepCopyAux
/home/akito/.choosenim/toolchains/nim-1.4.6/lib/system/deepcopy.nim(68) genericDeepCopyAux
/home/akito/.choosenim/toolchains/nim-1.4.6/lib/system/deepcopy.nim(156) genericDeepCopyAux
/home/akito/.choosenim/toolchains/nim-1.4.6/lib/system/deepcopy.nim(132) genericDeepCopyAux
/home/akito/.choosenim/toolchains/nim-1.4.6/lib/system/deepcopy.nim(72) genericDeepCopyAux
/home/akito/.choosenim/toolchains/nim-1.4.6/lib/system/deepcopy.nim(68) genericDeepCopyAux
/home/akito/.choosenim/toolchains/nim-1.4.6/lib/system/deepcopy.nim(156) genericDeepCopyAux
/home/akito/.choosenim/toolchains/nim-1.4.6/lib/system/deepcopy.nim(132) genericDeepCopyAux
/home/akito/.choosenim/toolchains/nim-1.4.6/lib/system/deepcopy.nim(72) genericDeepCopyAux
/home/akito/.choosenim/toolchains/nim-1.4.6/lib/system/deepcopy.nim(68) genericDeepCopyAux
/home/akito/.choosenim/toolchains/nim-1.4.6/lib/system/deepcopy.nim(156) genericDeepCopyAux
/home/akito/.choosenim/toolchains/nim-1.4.6/lib/system/deepcopy.nim(132) genericDeepCopyAux
/home/akito/.choosenim/toolchains/nim-1.4.6/lib/system/deepcopy.nim(72) genericDeepCopyAux
/home/akito/.choosenim/toolchains/nim-1.4.6/lib/system/deepcopy.nim(68) genericDeepCopyAux
/home/akito/.choosenim/toolchains/nim-1.4.6/lib/system/deepcopy.nim(156) genericDeepCopyAux
/home/akito/.choosenim/toolchains/nim-1.4.6/lib/system/deepcopy.nim(132) genericDeepCopyAux
/home/akito/.choosenim/toolchains/nim-1.4.6/lib/system/deepcopy.nim(72) genericDeepCopyAux
/home/akito/.choosenim/toolchains/nim-1.4.6/lib/system/deepcopy.nim(68) genericDeepCopyAux
/home/akito/.choosenim/toolchains/nim-1.4.6/lib/system/deepcopy.nim(156) genericDeepCopyAux
/home/akito/.choosenim/toolchains/nim-1.4.6/lib/system/deepcopy.nim(132) genericDeepCopyAux
/home/akito/.choosenim/toolchains/nim-1.4.6/lib/system/deepcopy.nim(72) genericDeepCopyAux
/home/akito/.choosenim/toolchains/nim-1.4.6/lib/system/deepcopy.nim(68) genericDeepCopyAux
/home/akito/.choosenim/toolchains/nim-1.4.6/lib/system/deepcopy.nim(156) genericDeepCopyAux
/home/akito/.choosenim/toolchains/nim-1.4.6/lib/system/deepcopy.nim(132) genericDeepCopyAux
/home/akito/.choosenim/toolchains/nim-1.4.6/lib/system/deepcopy.nim(72) genericDeepCopyAux
/home/akito/.choosenim/toolchains/nim-1.4.6/lib/system/deepcopy.nim(68) genericDeepCopyAux
/home/akito/.choosenim/toolchains/nim-1.4.6/lib/system/deepcopy.nim(156) genericDeepCopyAux
/home/akito/.choosenim/toolchains/nim-1.4.6/lib/system/deepcopy.nim(132) genericDeepCopyAux
/home/akito/.choosenim/toolchains/nim-1.4.6/lib/system/deepcopy.nim(72) genericDeepCopyAux
/home/akito/.choosenim/toolchains/nim-1.4.6/lib/system/deepcopy.nim(68) genericDeepCopyAux
/home/akito/.choosenim/toolchains/nim-1.4.6/lib/system/deepcopy.nim(156) genericDeepCopyAux
/home/akito/.choosenim/toolchains/nim-1.4.6/lib/system/deepcopy.nim(132) genericDeepCopyAux
/home/akito/.choosenim/toolchains/nim-1.4.6/lib/system/deepcopy.nim(72) genericDeepCopyAux
/home/akito/.choosenim/toolchains/nim-1.4.6/lib/system/deepcopy.nim(68) genericDeepCopyAux
/home/akito/.choosenim/toolchains/nim-1.4.6/lib/system/deepcopy.nim(156) genericDeepCopyAux
/home/akito/.choosenim/toolchains/nim-1.4.6/lib/system/deepcopy.nim(132) genericDeepCopyAux
/home/akito/.choosenim/toolchains/nim-1.4.6/lib/system/deepcopy.nim(72) genericDeepCopyAux
/home/akito/.choosenim/toolchains/nim-1.4.6/lib/system/deepcopy.nim(68) genericDeepCopyAux
/home/akito/.choosenim/toolchains/nim-1.4.6/lib/system/deepcopy.nim(156) genericDeepCopyAux
/home/akito/.choosenim/toolchains/nim-1.4.6/lib/system/deepcopy.nim(132) genericDeepCopyAux
/home/akito/.choosenim/toolchains/nim-1.4.6/lib/system/deepcopy.nim(72) genericDeepCopyAux
/home/akito/.choosenim/toolchains/nim-1.4.6/lib/system/deepcopy.nim(68) genericDeepCopyAux
/home/akito/.choosenim/toolchains/nim-1.4.6/lib/system/deepcopy.nim(156) genericDeepCopyAux
/home/akito/.choosenim/toolchains/nim-1.4.6/lib/system/deepcopy.nim(132) genericDeepCopyAux
/home/akito/.choosenim/toolchains/nim-1.4.6/lib/system/deepcopy.nim(72) genericDeepCopyAux
/home/akito/.choosenim/toolchains/nim-1.4.6/lib/system/deepcopy.nim(68) genericDeepCopyAux
/home/akito/.choosenim/toolchains/nim-1.4.6/lib/system/deepcopy.nim(156) genericDeepCopyAux
/home/akito/.choosenim/toolchains/nim-1.4.6/lib/system/deepcopy.nim(132) genericDeepCopyAux
/home/akito/.choosenim/toolchains/nim-1.4.6/lib/system/deepcopy.nim(72) genericDeepCopyAux
/home/akito/.choosenim/toolchains/nim-1.4.6/lib/system/deepcopy.nim(68) genericDeepCopyAux
/home/akito/.choosenim/toolchains/nim-1.4.6/lib/system/deepcopy.nim(156) genericDeepCopyAux
/home/akito/.choosenim/toolchains/nim-1.4.6/lib/system/deepcopy.nim(132) genericDeepCopyAux
/home/akito/.choosenim/toolchains/nim-1.4.6/lib/system/deepcopy.nim(72) genericDeepCopyAux
/home/akito/.choosenim/toolchains/nim-1.4.6/lib/system/deepcopy.nim(68) genericDeepCopyAux
/home/akito/.choosenim/toolchains/nim-1.4.6/lib/system/deepcopy.nim(156) genericDeepCopyAux
/home/akito/.choosenim/toolchains/nim-1.4.6/lib/system/deepcopy.nim(132) genericDeepCopyAux
/home/akito/.choosenim/toolchains/nim-1.4.6/lib/system/deepcopy.nim(72) genericDeepCopyAux
/home/akito/.choosenim/toolchains/nim-1.4.6/lib/system/deepcopy.nim(68) genericDeepCopyAux
/home/akito/.choosenim/toolchains/nim-1.4.6/lib/system/deepcopy.nim(156) genericDeepCopyAux
/home/akito/.choosenim/toolchains/nim-1.4.6/lib/system/deepcopy.nim(132) genericDeepCopyAux
/home/akito/.choosenim/toolchains/nim-1.4.6/lib/system/deepcopy.nim(72) genericDeepCopyAux
/home/akito/.choosenim/toolchains/nim-1.4.6/lib/system/deepcopy.nim(68) genericDeepCopyAux
/home/akito/.choosenim/toolchains/nim-1.4.6/lib/system/deepcopy.nim(156) genericDeepCopyAux
/home/akito/.choosenim/toolchains/nim-1.4.6/lib/system/deepcopy.nim(132) genericDeepCopyAux
/home/akito/.choosenim/toolchains/nim-1.4.6/lib/system/deepcopy.nim(72) genericDeepCopyAux
/home/akito/.choosenim/toolchains/nim-1.4.6/lib/system/deepcopy.nim(68) genericDeepCopyAux
/home/akito/.choosenim/toolchains/nim-1.4.6/lib/system/deepcopy.nim(156) genericDeepCopyAux
/home/akito/.choosenim/toolchains/nim-1.4.6/lib/system/deepcopy.nim(132) genericDeepCopyAux
/home/akito/.choosenim/toolchains/nim-1.4.6/lib/system/deepcopy.nim(72) genericDeepCopyAux
/home/akito/.choosenim/toolchains/nim-1.4.6/lib/system/deepcopy.nim(68) genericDeepCopyAux
/home/akito/.choosenim/toolchains/nim-1.4.6/lib/system/deepcopy.nim(156) genericDeepCopyAux
/home/akito/.choosenim/toolchains/nim-1.4.6/lib/system/deepcopy.nim(132) genericDeepCopyAux
/home/akito/.choosenim/toolchains/nim-1.4.6/lib/system/deepcopy.nim(72) genericDeepCopyAux
/home/akito/.choosenim/toolchains/nim-1.4.6/lib/system/deepcopy.nim(68) genericDeepCopyAux
/home/akito/.choosenim/toolchains/nim-1.4.6/lib/system/deepcopy.nim(156) genericDeepCopyAux
/home/akito/.choosenim/toolchains/nim-1.4.6/lib/system/deepcopy.nim(132) genericDeepCopyAux
/home/akito/.choosenim/toolchains/nim-1.4.6/lib/system/deepcopy.nim(72) genericDeepCopyAux
/home/akito/.choosenim/toolchains/nim-1.4.6/lib/system/deepcopy.nim(68) genericDeepCopyAux
/home/akito/.choosenim/toolchains/nim-1.4.6/lib/system/deepcopy.nim(156) genericDeepCopyAux
/home/akito/.choosenim/toolchains/nim-1.4.6/lib/system/deepcopy.nim(132) genericDeepCopyAux
/home/akito/.choosenim/toolchains/nim-1.4.6/lib/system/deepcopy.nim(72) genericDeepCopyAux
/home/akito/.choosenim/toolchains/nim-1.4.6/lib/system/deepcopy.nim(68) genericDeepCopyAux
/home/akito/.choosenim/toolchains/nim-1.4.6/lib/system/deepcopy.nim(148) genericDeepCopyAux
/home/akito/.choosenim/toolchains/nim-1.4.6/lib/system/deepcopy.nim get
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.
I was at some point suddenly getting the above error when adding a feature to my project. I just could not figure out which change specifically caused this issue, so I stashed the changes and reverted back to a commit that worked a 100% before. Now, running the program from this specific, originally working, commit produces the same error above, even though it worked before.
I upgraded to Nim 1.4.6, in case it is a known bug, but that did not help.
The problem is that the project is private and I cannot give you a Github link or anything like that. Additionally, I have no idea where this error is coming from suddenly, when the program has worked before exactly the way it is now, on the commit that was confirmed to work. That's why I neither see the point in showing a snippet of the source code, when I have no idea where to look in the first place.
Given the above circumstance, it would be nice, if someone could lead me into the right direction so I can hunt for issues in the right place. Right now, I have no idea where to look.
Where should I look and try debugging? Are there common mistakes causing such an error? In which cases is it even possible to get this error?
Note: The code uses a lot of pointer and C FFI stuff. Perhaps it is related to that.
please submit as a GitHub issue, and try to reduce to an mre so it can be debugged, that's awful
Something you can try:
1. Try cleaning the ~/.nimcache or recompile your app with -f or --force option. 2 .Try to compile with different build mode, just for reference.
@mashingan
Thank you for the quick response.
I compiled with -f, however I did not seem to have a cache related problem before, as it usually compiled everything on each change, anyway. So, the result is the same, even when forcing compilation of everything.
Not sure what you mean by saying build mode so I tried to compile with cpp in case you are referring to that. Does not seem to be too compatible, as the compilation resulted in the following error:
error: cannot convert ‘const char*’ to ‘NU16*’ {aka ‘short unsigned int*’} in argument passing
Meanwhile, I already backtracked commits until a comment from 3 months ago. Every single commit shows the same error, which should be theoretically impossible, since the code changed a lot in these 3 months.
I happened to see this error when doing some (old) example in Nim, was 0.17.0.
From the message, the debug build has call depth limit, in my example above, I couldn't really avoid the recursion since it's traversing graph but release mode was working fine (it's a one-shot program after all so it didn't matter whether debug or release/danger mode).
After more than a year, I tried again to debug this problem. I got to the root of the issue's code location, to some degree at least. Using current stable Nim 1.6.6.
This is how deep I could get using echo.
The binary is compiled using wine64 and run on Windows 10.
This issue only happens on Windows and only with a certain file, after some time of using (i.e. appending lines to) the file, randomly. Each line of the file contains a valid JSON object.
The file is always readable/writable and works perfectly fine, until at some point it stops working and this error occurs. Then, I need to regenerate that file to make it work again. Until the error pops up, once again.