L820 rb_funcall(Qnil, id_format, 4, rb_str_new2("NODE%i -> NODE%i;\n"), ^ 4 -> 3 L821 ULONG2NUM((unsigned long) n), ULONG2NUM((unsigned long) n1))); here has 2 %i parameter, so the 3rd parameter value should be 3. rb_funcall(Qnil, id_format, 3, rb_str_new2("NODE%i -> NODE%i;\n"), ^