Here is something that could possible help you find a reason for this exception.
In your system console (/system/console/slinglog) add a new logger for com.day.cq.wcm.core.impl.warp.TimeWarpResourceResolver
Set log level to trace.
Then try to use timewarp feature to switch versions.
When an error occurs check your log file for something like:
12.07.2018 15:20:06.155 *TRACE* [10.1.5.37 [1531423206099] GET /editor.html/content/xxxx/xxx/xxx.html HTTP/1.1] com.day.cq.wcm.core.impl.warp.TimeWarpResourceResolver [1531241460000] /content/xxxx/xxx/xxx => /jcr:system/jcr:versionStorage/35/cc/67/35cc6782-ffbb-447d-a350-be3c01d8ba50/1.416 @ [Tue May 15 2018 11:18:00 GMT-0400] (fake page /content/xxxx/xxx/xxx)
Use crx console to browse to that version node and check jcr:frozenNode properties.
Chances are one of the properties is invalid.
In my case cq:template was pointing to a non-existing path.
good luck