Contradiction Information Lost

Issue #160 resolved
Enthalpy created an issue

Initial Report: When adding multiple contradictions on the same statement and then saving, the data for all but the last contradiction will not be saved. This was reported by two users and then confirmed by me using a minimal trial. The full reproduction steps are likely more complicated.

Revised Report: When a statement has multiple contradictions, some of the variable references in the contradiction's event functions refer to a different variable at runtime than when the event was defined. For instance, the contradiction index of a destination selector is the index of the last contradiction, and not the contradiction to which the destination selector "belongs." The selector that gets updated is the last selector, even if that isn't the event target. Consequently, every time a contradiction destination is changed, the editor just saves the destination for the last contradiction. Evidence selectors have an identical problem. Similarly, when deleting a contradiction, the last data removed will be for the last contradiction.

Comments (4)

  1. Noah Simon

    If one contradiction is made, the user saves, then another contradiction is made on the same statement, will one of them be lost on the next save?

  2. Enthalpy reporter

    No, AAM. The contradictions are never removed (which is what you meant by lost), it's the data for the contradiction that can't be saved. This is the difference between a contradiction being deleted and being unable to edit a contradiction.

    So what would happen in this case is that the data stays as it was from the moment before the new contradiction was made.

    I've found the cause of the bug, and I've also discovered that its scope is much larger than initially reported. I'll update the report momentarily.

  3. Enthalpy reporter

    Updated initial report with more precise reproduction steps, broader scope, and mechanism of the bug.

  4. Log in to comment