strace shows a tight loop of the clone() call I posted before followed by rt_sigreturn() with "--- SIGPROF (Profiling timer expired) @ 0 (0) ---" in between.

I can get around this by increasing the sampling interval, but then I simply don't get any output from the profiler. If I disable the call to scan_devices() as well as the io.popen(), there is no clone() stuff but the profiler still doesn't say peep. I'll try this on another host to see if it makes any difference. Confused :/