as far as I know (remember) the rapidM2M module has a time restriction for a single pass through the program to detect endless loops.
I would like to know what is the longest runtime a program can have in a single pass before the firmware thinks it takes to long and restarts everything because of an thought endless loop.
the limit is 200ms (but may slightly differ for older runtime versions or some rare modules).
mostly console outputs (#log, #watch or legacy print/printf) are seen to be a problem when they appear in a burst (many outputs in a row).
if you have many small console outputs, it may help to combine them using sprintf() into a single buffered output. otherwise you may run a chunked output little by little in a timer callback.