Skip to content

Instantly share code, notes, and snippets.

@hakanderyal
Last active August 29, 2015 14:18
Show Gist options
  • Save hakanderyal/4ea07011b0c95d4acfcf to your computer and use it in GitHub Desktop.
Save hakanderyal/4ea07011b0c95d4acfcf to your computer and use it in GitHub Desktop.
type
GenericNodeObj[T] = ref object
obj: T
Node* = ref object
children*: seq[Node]
parent*: Node
nodeObj*: GenericNodeObj
proc newNode*(nodeObj: GenericNodeObj): Node =
result = Node(nodeObj: nodeObj)
newSeq(result.children, 10)
var genericObj = GenericNodeObj[int]()
var myNode = newNode(genericObj)
discard """
rr-> nim c -r --verbosity=3 hang_test.nim
config/nim.cfg(55, 2) Hint: added path: '/Users/rr/.babel/pkgs/' [Path]
config/nim.cfg(56, 2) Hint: added path: '/Users/rr/.nimble/pkgs/nimble-0.6.0' [Path]
config/nim.cfg(56, 2) Hint: added path: '/Users/rr/.nimble/pkgs/compiler-0.10.3' [Path]
config/nim.cfg(56, 2) Hint: added path: '/Users/rr/.nimble/pkgs/opengl-1.0' [Path]
config/nim.cfg(56, 2) Hint: added path: '/Users/rr/.nimble/pkgs/x11-1.0' [Path]
config/nim.cfg(56, 2) Hint: added path: '/Users/rr/.nimble/pkgs/nimsuggest-0.1.0' [Path]
config/nim.cfg(56, 2) Hint: added path: '/Users/rr/.nimble/pkgs/sdl2-1.0' [Path]
config/nim.cfg(56, 2) Hint: added path: '/Users/rr/.nimble/pkgs/csfml-2.2.0' [Path]
config/nim.cfg(56, 2) Hint: added path: '/Users/rr/.nimble/pkgs/' [Path]
Hint: used config file '/Users/rr/dev/Nim/config/nim.cfg' [Conf]
Hint: system [Processing]
lib/system.nim(10, 0) Hint: 2 [Processing]
lib/system.nim(33, 2) Hint: 2 [Processing]
lib/system.nim(51, 2) Hint: 2 [Processing]
lib/system.nim(55, 2) Hint: 2 [Processing]
lib/system.nim(60, 0) Hint: 2 [Processing]
lib/system.nim(64, 0) Hint: 2 [Processing]
lib/system.nim(65, 0) Hint: 2 [Processing]
lib/system.nim(2848, 0) Hint: 102 [Processing]
lib/system.nim(2852, 0) Hint: 102 [Processing]
lib/system.nim(2855, 0) Hint: 102 [Processing]
lib/system.nim(2871, 0) Hint: 102 [Processing]
lib/system.nim(2892, 0) Hint: 120 [Processing]
lib/system.nim(2900, 0) Hint: 120 [Processing]
lib/system.nim(2910, 0) Hint: 120 [Processing]
lib/system.nim(2917, 0) Hint: 120 [Processing]
lib/system.nim(2926, 0) Hint: 120 [Processing]
lib/system.nim(2933, 0) Hint: 120 [Processing]
lib/system.nim(2944, 0) Hint: 120 [Processing]
lib/system.nim(2947, 0) Hint: 120 [Processing]
lib/system.nim(2956, 0) Hint: 120 [Processing]
lib/system.nim(2960, 0) Hint: 120 [Processing]
lib/system.nim(2974, 0) Hint: 120 [Processing]
lib/system.nim(2977, 0) Hint: 120 [Processing]
lib/system.nim(2980, 0) Hint: 120 [Processing]
lib/system.nim(2984, 0) Hint: 120 [Processing]
lib/system.nim(2988, 0) Hint: 120 [Processing]
lib/system.nim(2992, 0) Hint: 120 [Processing]
lib/system.nim(2996, 0) Hint: 120 [Processing]
lib/system.nim(3000, 0) Hint: 120 [Processing]
lib/system.nim(3004, 0) Hint: 120 [Processing]
lib/system.nim(3006, 0) Hint: 120 [Processing]
lib/system.nim(3010, 0) Hint: 120 [Processing]
lib/system.nim(3041, 0) Hint: 120 [Processing]
lib/system.nim(3044, 0) Hint: 120 [Processing]
lib/system.nim(3047, 0) Hint: 121 [Processing]
lib/system.nim(3054, 0) Hint: 121 [Processing]
lib/system.nim(3068, 0) Hint: 121 [Processing]
lib/system.nim(3076, 0) Hint: 121 [Processing]
lib/system.nim(3085, 0) Hint: 121 [Processing]
lib/system.nim(3094, 0) Hint: 121 [Processing]
lib/system.nim(3103, 0) Hint: 121 [Processing]
lib/system.nim(3112, 0) Hint: 121 [Processing]
lib/system.nim(3115, 0) Hint: 121 [Processing]
lib/system.nim(3132, 0) Hint: 121 [Processing]
lib/system.nim(3140, 0) Hint: 121 [Processing]
lib/system.nim(3149, 2) Hint: 121 [Processing]
lib/system.nim(3153, 0) Hint: 121 [Processing]
lib/system.nim(3155, 0) Hint: 121 [Processing]
lib/system.nim(3163, 0) Hint: 121 [Processing]
lib/system.nim(3177, 0) Hint: 127 [Processing]
lib/system.nim(3187, 0) Hint: 127 [Processing]
lib/system.nim(3190, 0) Hint: 127 [Processing]
lib/system.nim(3204, 0) Hint: 127 [Processing]
lib/system.nim(3228, 0) Hint: 127 [Processing]
lib/system.nim(3236, 0) Hint: 137 [Processing]
lib/system.nim(3245, 0) Hint: 137 [Processing]
lib/system.nim(3253, 0) Hint: 137 [Processing]
Hint: hang_test [Processing]
hang_test.nim(3, 2) Hint: 139 [Processing]
hang_test.nim(12, 0) Hint: 139 [Processing]
hang_test.nim(16, 0) Hint: 139 [Processing]
hang_test.nim(18, 0) Hint: 140 [Processing]
## compiler just hangs at this point
"""
# if I compile the compiler without -d: release, it gives a stack overflow
type
GenericNodeObj[T] = ref object
obj: T
Node* = ref object
children*: seq[Node]
parent*: Node
nodeObj*: GenericNodeObj[int]
proc newNode*(nodeObj: GenericNodeObj): Node =
result = Node(nodeObj: nodeObj)
newSeq(result.children, 10)
var genericObj = GenericNodeObj[int]()
var myNode = newNode(genericObj)
discard """
rr-> nim c -r --verbosity=3 segfault.nim
config/nim.cfg(55, 2) Hint: added path: '/Users/rr/.babel/pkgs/' [Path]
config/nim.cfg(56, 2) Hint: added path: '/Users/rr/.nimble/pkgs/nimble-0.6.0' [Path]
config/nim.cfg(56, 2) Hint: added path: '/Users/rr/.nimble/pkgs/compiler-0.10.3' [Path]
config/nim.cfg(56, 2) Hint: added path: '/Users/rr/.nimble/pkgs/opengl-1.0' [Path]
config/nim.cfg(56, 2) Hint: added path: '/Users/rr/.nimble/pkgs/x11-1.0' [Path]
config/nim.cfg(56, 2) Hint: added path: '/Users/rr/.nimble/pkgs/nimsuggest-0.1.0' [Path]
config/nim.cfg(56, 2) Hint: added path: '/Users/rr/.nimble/pkgs/sdl2-1.0' [Path]
config/nim.cfg(56, 2) Hint: added path: '/Users/rr/.nimble/pkgs/csfml-2.2.0' [Path]
config/nim.cfg(56, 2) Hint: added path: '/Users/rr/.nimble/pkgs/' [Path]
Hint: used config file '/Users/rr/dev/Nim/config/nim.cfg' [Conf]
Hint: system [Processing]
lib/system.nim(10, 0) Hint: 2 [Processing]
lib/system.nim(33, 2) Hint: 2 [Processing]
lib/system.nim(51, 2) Hint: 2 [Processing]
lib/system.nim(55, 2) Hint: 2 [Processing]
lib/system.nim(60, 0) Hint: 2 [Processing]
lib/system.nim(64, 0) Hint: 2 [Processing]
lib/system.nim(65, 0) Hint: 2 [Processing]
lib/system.nim(2848, 0) Hint: 102 [Processing]
lib/system.nim(2852, 0) Hint: 102 [Processing]
lib/system.nim(2855, 0) Hint: 102 [Processing]
lib/system.nim(2871, 0) Hint: 102 [Processing]
lib/system.nim(2892, 0) Hint: 120 [Processing]
lib/system.nim(2900, 0) Hint: 120 [Processing]
lib/system.nim(2910, 0) Hint: 120 [Processing]
lib/system.nim(2917, 0) Hint: 120 [Processing]
lib/system.nim(2926, 0) Hint: 120 [Processing]
lib/system.nim(2933, 0) Hint: 120 [Processing]
lib/system.nim(2944, 0) Hint: 120 [Processing]
lib/system.nim(2947, 0) Hint: 120 [Processing]
lib/system.nim(2956, 0) Hint: 120 [Processing]
lib/system.nim(2960, 0) Hint: 120 [Processing]
lib/system.nim(2974, 0) Hint: 120 [Processing]
lib/system.nim(2977, 0) Hint: 120 [Processing]
lib/system.nim(2980, 0) Hint: 120 [Processing]
lib/system.nim(2984, 0) Hint: 120 [Processing]
lib/system.nim(2988, 0) Hint: 120 [Processing]
lib/system.nim(2992, 0) Hint: 120 [Processing]
lib/system.nim(2996, 0) Hint: 120 [Processing]
lib/system.nim(3000, 0) Hint: 120 [Processing]
lib/system.nim(3004, 0) Hint: 120 [Processing]
lib/system.nim(3006, 0) Hint: 120 [Processing]
lib/system.nim(3010, 0) Hint: 120 [Processing]
lib/system.nim(3041, 0) Hint: 120 [Processing]
lib/system.nim(3044, 0) Hint: 120 [Processing]
lib/system.nim(3047, 0) Hint: 121 [Processing]
lib/system.nim(3054, 0) Hint: 121 [Processing]
lib/system.nim(3068, 0) Hint: 121 [Processing]
lib/system.nim(3076, 0) Hint: 121 [Processing]
lib/system.nim(3085, 0) Hint: 121 [Processing]
lib/system.nim(3094, 0) Hint: 121 [Processing]
lib/system.nim(3103, 0) Hint: 121 [Processing]
lib/system.nim(3112, 0) Hint: 121 [Processing]
lib/system.nim(3115, 0) Hint: 121 [Processing]
lib/system.nim(3132, 0) Hint: 121 [Processing]
lib/system.nim(3140, 0) Hint: 121 [Processing]
lib/system.nim(3149, 2) Hint: 121 [Processing]
lib/system.nim(3153, 0) Hint: 121 [Processing]
lib/system.nim(3155, 0) Hint: 121 [Processing]
lib/system.nim(3163, 0) Hint: 121 [Processing]
lib/system.nim(3177, 0) Hint: 127 [Processing]
lib/system.nim(3187, 0) Hint: 127 [Processing]
lib/system.nim(3190, 0) Hint: 127 [Processing]
lib/system.nim(3204, 0) Hint: 127 [Processing]
lib/system.nim(3228, 0) Hint: 127 [Processing]
lib/system.nim(3236, 0) Hint: 137 [Processing]
lib/system.nim(3245, 0) Hint: 137 [Processing]
lib/system.nim(3253, 0) Hint: 137 [Processing]
Hint: segfault [Processing]
segfault.nim(3, 2) Hint: 139 [Processing]
segfault.nim(12, 0) Hint: 139 [Processing]
segfault.nim(16, 0) Hint: 139 [Processing]
SIGSEGV: Illegal storage access. (Attempt to read from nil?)
"""
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment