Page 1 of 1

Bug: crash from unused forward looking model local variables

PostPosted: Thu May 20, 2010 2:56 pm
by cfp
If there is a model local variable that contains a lead of an endogenous variable, and that model local variable is never used, then Dynare crashes with "an instance of 'DataTree::UnknownDerivIDException'".

This happens in 4.1.1 and in the nightly build.

The attached model file demonstrates it. (A massively stripped down version of the model file I was working with.)

To see that the two conditions are above are necessary for the crash, change the first line of the file to:
Code: Select all
@#define crash = 0

and rerun. It will then use the model local variable which is sufficient to remove the crash.

Then undo this change, and instead comment out line 44. Now the forward looking local variable does not get defined and again the crash disappears.

Tom

Re: Bug: crash from unused forward looking model local variables

PostPosted: Sat May 22, 2010 2:27 pm
by MichelJuillard
Thanks cfp for reporting the bug. We are going to look into it.

Best

Michel

Re: Bug: crash from unused forward looking model local variables

PostPosted: Thu Jul 01, 2010 7:55 pm
by cfp
Hey,

Sorry to pester, but is a fix to this in the works? I'm now working with a different model with more model local variables (declared in loops) and tracking down which are unused is a real pain.

Thanks in advance,

Tom

Re: Bug: crash from unused forward looking model local variables

PostPosted: Wed Aug 11, 2010 10:50 pm
by cfp
For anyone else experiencing this bug, the attached C# programme will trim out all the unused model local variables from an already macro expanded model file, as a temporary work around. (You run dynare with "savemacro" in the command line, wait for the crash, then run this passing in the -macroexp.mod file. You then run dynare on this programmes output.)

It may also be useful to others as it cleans up the -macroexp file making it much more readable.

Tom

Re: Bug: crash from unused forward looking model local variables

PostPosted: Thu Aug 12, 2010 2:00 pm
by SébastienVillemot
Sorry for taking long to fix this bug. We are aware of it and it will most probably be fixed in the next Dynare release.

Thanks for posting your temporary workaround.

Best,

Re: Bug: crash from unused forward looking model local variables

PostPosted: Thu Sep 23, 2010 10:14 am
by SébastienVillemot
The fix has been applied in the git repository and will be in the next release.

See: https://www.dynare.org/trac/ticket/101

If you can't wait, use tomorrow's snapshot.

Re: Bug: crash from unused forward looking model local variables

PostPosted: Thu Sep 23, 2010 12:00 pm
by cfp
Superb, thanks.

Re: Bug: crash from unused forward looking model local variables

PostPosted: Wed Sep 29, 2010 9:38 pm
by cfp
There's a small residual bug related to this. Dynare currently adds auxiliary variables for leads and lags (of e.g. exogenous vars) which are only mentioned in the definition of unused model local variables.

Re: Bug: crash from unused forward looking model local variables

PostPosted: Mon Oct 11, 2010 10:47 am
by SébastienVillemot
Thanks for reporting this. The fix has been applied. Same as above applies.