Menu

#622 Merge Operator glitch

Babbage
closed
None
2Critical
2024-08-16
2024-08-15
Steve Keen
No

Adding a new element to an existing Merge operator causes a strange outcome.

3 Attachments

Related

Ravel: #622

Discussion

  • Steve Keen

    Steve Keen - 2024-08-15

    The merge operator seems to be scrambling data somehow. A division of one parameter by another returns the expected result. A division of one variable by another, both derived from a merged Ravel, does not.

     
  • High Performance Coder

    I believe it is more a problem with the locks, actually.

     
  • High Performance Coder

    Actually not the locks either. I eventually noticed that GDP_{nom} was reporting a size of 310 whereas all the other locked variables were reporting 920. After a lot debugging to figure out why, and eyeballing the XML in the .rvl file, I discovered that GDP_{nom} has tensor data attached to it. Clearly, you must have imported a CSV file into it, then later changed it to a flow variable and attached it to a lock.

    This manifested a corner case bug, where the tensor data overrides the metadata (eg sizes of dimensions) even if it is a defined flow variable. So I added an extra check to not do that.

    Not worthy of an out-of-cycle release, as this is a pretty obscure scenario.

    In the meantime, if you do it again - simply delete all instances of the offending variable and recreate. That will get rid of the undesired tensor data.

     

Log in to post a comment.