FELIX-3456 correct which EDU classes we are pulling in, and log info for EDU lock's IllegalStateException

git-svn-id: https://svn.apache.org/repos/asf/felix/trunk@1382649 13f79535-47bb-0310-9956-ffa450edef68
diff --git a/scr/pom.xml b/scr/pom.xml
index c7cde4d..deab4ff 100644
--- a/scr/pom.xml
+++ b/scr/pom.xml
@@ -305,7 +305,7 @@
                         </DynamicImport-Package>
                         <Embed-Dependency>
                             kxml2;inline=org/kxml2/io/KXmlParser.class|org/xmlpull/v1/XmlPull**,
-                            concurrent;inline=EDU/oswego/cs/dl/util/concurrent/ReentrantLock.class|EDU/oswego/cs/dl/util/concurrent/Sync.class
+                            concurrent;inline=EDU/oswego/cs/dl/util/concurrent/ReentrantWriterPreferenceReadWriteLock.class|EDU/oswego/cs/dl/util/concurrent/WriterPreferenceReadWriteLock*|EDU/oswego/cs/dl/util/concurrent/ReadWriteLock.class|EDU/oswego/cs/dl/util/concurrent/SynchronizedRef.class|EDU/oswego/cs/dl/util/concurrent/SynchronizedVariable.class|EDU/oswego/cs/dl/util/concurrent/Sync.class|EDU/oswego/cs/dl/util/concurrent/Executor.class
                         </Embed-Dependency>
                     </instructions>
                 </configuration>
diff --git a/scr/src/main/java/org/apache/felix/scr/impl/manager/AbstractComponentManager.java b/scr/src/main/java/org/apache/felix/scr/impl/manager/AbstractComponentManager.java
index e11b75c..4c85027 100644
--- a/scr/src/main/java/org/apache/felix/scr/impl/manager/AbstractComponentManager.java
+++ b/scr/src/main/java/org/apache/felix/scr/impl/manager/AbstractComponentManager.java
@@ -219,15 +219,25 @@
         }
         catch ( IllegalMonitorStateException e )
         {
-            StringBuffer b = new StringBuffer( "Locking activity before IllegalMonitorStateException: \n" );
-            for (Iterator i = lockingActivity.iterator(); i.hasNext();)
-            {
-                b.append( "  " ).append( i.next() ).append( "\n" );
-            }
-            log( LogService.LOG_ERROR, b.toString(), null );
-            dumpThreads();
+            logLockingInfo();
             throw e;
         }
+        catch ( IllegalStateException e ) //for EDU lock
+        {
+            logLockingInfo();
+            throw e;
+        }
+    }
+
+    private void logLockingInfo()
+    {
+        StringBuffer b = new StringBuffer( "Locking activity before IllegalMonitorStateException: \n" );
+        for (Iterator i = lockingActivity.iterator(); i.hasNext();)
+        {
+            b.append( "  " ).append( i.next() ).append( "\n" );
+        }
+        log( LogService.LOG_ERROR, b.toString(), null );
+        dumpThreads();
     }
 
     final void obtainWriteLock( String source )