Uploaded image for project: 'yangtools'
  1. yangtools
  2. YANGTOOLS-1381

Parser reactor does not support chained prerequisites

    XMLWordPrintable

Details

    • Bug
    • Status: Resolved
    • Medium
    • Resolution: Done
    • None
    • 8.0.0, 7.0.10
    • parser
    • None

    Description

      If an inference action attempts to create another inference on the same statement (and the same stage), we end up throwing:

      Thread [main] (Suspended (exception ConcurrentModificationException))
      	HashMap$KeyIterator(HashMap$HashIterator).remove() line: 1525
      	AbstractMapBasedMultimap$WrappedCollection$WrappedIterator.remove() line: 468
      	SourceSpecificContext.tryToProgress(Collection<ModifierImpl>) line: 329
      	SourceSpecificContext.tryToCompletePhase(byte) line: 301
      	BuildGlobalContext.completePhaseActions() line: 364
      	BuildGlobalContext.executePhases() line: 199
      	BuildGlobalContext.buildEffective() line: 210
      	CrossSourceStatementReactor$BuildAction.buildEffective() line: 219
      	YT1338Test.testAddedLeaves() line: 18
      

      This is because we are iterating over the values and the inference action adds a new one – a classic CME.

      Attachments

        Issue Links

          No reviews matched the request. Check your Options in the drop-down menu of this sections header.

          Activity

            People

              rovarga Robert Varga
              rovarga Robert Varga
              Votes:
              0 Vote for this issue
              Watchers:
              1 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: