Segmentation violation in GC - infinite recursion