I have many scripts written in expect to do system
administration type stuff. Scripts that invoke another
program with the 'spawn' command fail with:
failed to get controlling terminal using TIOCSCTTYparent:
sync byte write: broken pipe.
This bug has been assigned to a developer for further review.
Programs run from cron do not have a controlling tty.
You might try redirecting stdin and stdout explicitly to /dev/console
in the cron entry:
x x x x x x myscript < /dev/console > /dev/console