Have you tried using a worse tolerance, just to see what happens?
Have you tried looking at the time-steps? Your observations smell like your solution / the timestepping method walk into a regime where time-steps are very small, and you can then wait forever.
So you will need to look into that: Maybe the time-step control fails? That would be an easy fix.
Or maybe your equation just becomes bad in these parts of phase-space? Then it would be good to get the state in the bad parts; and plot the state, as well as the error estimates that force large time-steps. Maybe you can use your domain-knowledge to visually figure out what goes wrong, and maybe fix it?
(oh damn, if these parts of the front meet, of course a shock will develop and gradients will explode with my tiny viscosity. Bad model / discretization, do something else or YOLO disable adaptive time-steps)