Menu

#193 Dope crash/inconsistent data when changing a parameter value

6.0
closed
None
bug
dots
2015-05-26
2014-08-01
No

From old Trac ticket:

Changing a parameter, that is referred to from other dou-files in order to determine an array length, is very dangerous if the array is part of an object that is stored by Dope. The scenario is the following:

  1. The system is running and dope has saved an object instance.

  2. The system is stopped and a parameter, that determines an array length in the object, is changed. The user has been learned that "to change a parameter just stop dose_main, change the parameter, and then start dose_main again".

  3. The system is started and the dou-files are parsed by dose_main.

  4. We now have a situation where the dots reflection repository has an array length that doesn't match the blob that is saved by Dope.

  5. When Dope inserts the blob Dope crashes, or even worse, Dope doesn't crash and inserts an invalid object.

To change this kind of parameter all objects that depend on the parameter must be removed from the Dope database before restart.

The problem is highly "dynamical", just by adding the PermanentPersistence property to an entity we potentially make a number of parameters "unchangeable".

Maybe we need some kind of tool that can analyse a dou/dom-configuration and warn about "unchangeable" parameters?

This problem will disappear when the Rockefeller project is complete, right?

Discussion

  • Lars Hagström

    Lars Hagström - 2015-05-26

    The problem with changed array sizes is solved in 6.0.

     
  • Lars Hagström

    Lars Hagström - 2015-05-26
    • status: new --> closed
    • Milestone: Unplanned --> 6.0