When trigger a interrupt event using Ctrl + C,
It firstly cleans up canvas but after it calls animator callback as well.
Obviously, this sequence is insane. when interrupt event is triggered and handled by ecore, the animator callback shouldn't be called.
Or at least, canvas should be freed after animator call.
You can test this using below example.
and press Ctrl + C
It often happens.