Why do innodb tables get corrupted so easily?
Innodb is rather advanced and complex engine than myisam. It is a default storage engine for reasons...

you said the system is upgraded from 5.1 to mariadb 10 (eqv to 5.6). So the upgrade path was mysql 5.1 -> maria 5.5 -> maria 10?


Can you share the query?
Does the issue repeats if you: Kill query and then restart?
Is there anything apart from query running while you're shutting down?
I'd try to find out if there is related bug report.


Solutions to consider even before we identify exact error here:
- separate instance for reporting.
- optimize the query.