System stack error in Signals

Why following code, should cause a SystemStackError(* after i let it run
for
sometime, mostly till count=8000), while the equivalent C program runs
forever without any problem:

count = 0
Signal.trap(“ALRM”) {
p count
count += 1
syscall(27, 1)
}

Process.kill(“ALRM”, Process.pid)

t = Thread.new {
msg = STDIN.gets.chomp
}
t.join

The Road goes ever on and on
Down from the door where it began.
Now far ahead the Road has gone,
And I must follow, if I can,
Pursuing it with eager feet,
Until it joins some larger way
Where many paths and errands meet.
And whither then? I cannot say.