Uploaded image for project: 'Derby'
  1. Derby
  2. DERBY-6679

Possible Atomicity Violation in BaseMonitor.shutdown()

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Open
    • Minor
    • Resolution: Unresolved
    • 10.10.2.0
    • None
    • Services
    • None
    • all
    • Normal

    Description

      I'm developing a tool for atomicity violation detection and I think it have found an atomicity violations in derby.

      In org.apache.derby.impl.services.monitor.BaseMonitor there might be an atomicity violation in method shutdown(), lines 181-206:

      		for ( ; ; ) {
      			synchronized (this) {
       181:    		position = services.size()  - 1;
      			if (position == 0)
      				break;
                                     ...
      	        	}
                             ...
      	        }
      	       ...
      206:	      ((TopService) services.get(0)).shutdown();
      

      Between the execution of lines 181 and 206 a concurrent thread may remove the only remaining service, causing the access to "services" in line 206 to fail.

      Attachments

        Activity

          People

            Unassigned Unassigned
            orium Diogo Sousa
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

            Dates

              Created:
              Updated: