warning free infinite loop