I and co-authors at the IMF have run into a peculiar problem with Dynare not announcing that the rank condition is violated in a deterministic model where debt grows explosively. The trivial examples in the attached files illustrate the problem. In trial_2, tax revenues decrease for five years and then return to their original level. This sets off explosive growth in the debt. Strangely, Dynare does not announce that the rank condition is violated (1 eigenvalue with modulus greater than unity vs. 0 forward-looking variables). Instead we get the perplexing message "Improper assignment with rectangular empty matrix." More puzzling yet, when we run a stochastic version of the model (trial_1), Dynare does announce that the rank condition fails to hold. But Dynare linearizes around the deterministic steady state in the stochastic program. So why do we get the message we want in this case but not in the deterministic program?
In the more complicated model we are analyzing, the message that the rank condition fails would help us determine when fiscal adjustment is too slow to stabilize the path of debt. In unstable scenarios, however, Dynare sends out the message that it is struggling with an ill-conditioned, nearly singular matrix before aborting the run. Is this broadly similar to the message in the example that it has encountered an empty rectangular matrix?