You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@felix.apache.org by pd...@apache.org on 2015/07/30 01:35:09 UTC

svn commit: r1693361 - in /felix/sandbox/pderop/dependencymanager.ds/org.apache.felix.dependencymanager.ds.itest/src/org/apache/felix/scr/integration: CircularReferenceTest.java components/circular/A.java

Author: pderop
Date: Wed Jul 29 23:35:09 2015
New Revision: 1693361

URL: http://svn.apache.org/r1693361
Log:
added debug code in order to track possible issues in CircularReferenceTest

Modified:
    felix/sandbox/pderop/dependencymanager.ds/org.apache.felix.dependencymanager.ds.itest/src/org/apache/felix/scr/integration/CircularReferenceTest.java
    felix/sandbox/pderop/dependencymanager.ds/org.apache.felix.dependencymanager.ds.itest/src/org/apache/felix/scr/integration/components/circular/A.java

Modified: felix/sandbox/pderop/dependencymanager.ds/org.apache.felix.dependencymanager.ds.itest/src/org/apache/felix/scr/integration/CircularReferenceTest.java
URL: http://svn.apache.org/viewvc/felix/sandbox/pderop/dependencymanager.ds/org.apache.felix.dependencymanager.ds.itest/src/org/apache/felix/scr/integration/CircularReferenceTest.java?rev=1693361&r1=1693360&r2=1693361&view=diff
==============================================================================
--- felix/sandbox/pderop/dependencymanager.ds/org.apache.felix.dependencymanager.ds.itest/src/org/apache/felix/scr/integration/CircularReferenceTest.java (original)
+++ felix/sandbox/pderop/dependencymanager.ds/org.apache.felix.dependencymanager.ds.itest/src/org/apache/felix/scr/integration/CircularReferenceTest.java Wed Jul 29 23:35:09 2015
@@ -258,6 +258,11 @@ public class CircularReferenceTest exten
 
         delay();
         A a = getServiceFromConfiguration(componentA, A.class);
+        // TODO remove 
+        if (a.getBs().size() != 1) {
+            System.err.println("detected problem ...");
+            a.dumpStackTracesWhenBWasBound();
+        }
         assertEquals( 1, a.getBs().size());
         B b = getServiceFromConfiguration(componentB, B.class);
         assertEquals( 1, b.getAs().size() );

Modified: felix/sandbox/pderop/dependencymanager.ds/org.apache.felix.dependencymanager.ds.itest/src/org/apache/felix/scr/integration/components/circular/A.java
URL: http://svn.apache.org/viewvc/felix/sandbox/pderop/dependencymanager.ds/org.apache.felix.dependencymanager.ds.itest/src/org/apache/felix/scr/integration/components/circular/A.java?rev=1693361&r1=1693360&r2=1693361&view=diff
==============================================================================
--- felix/sandbox/pderop/dependencymanager.ds/org.apache.felix.dependencymanager.ds.itest/src/org/apache/felix/scr/integration/components/circular/A.java (original)
+++ felix/sandbox/pderop/dependencymanager.ds/org.apache.felix.dependencymanager.ds.itest/src/org/apache/felix/scr/integration/components/circular/A.java Wed Jul 29 23:35:09 2015
@@ -32,6 +32,7 @@ public class A
 {
 
     private List<B> bs = new ArrayList<B>();
+    private List<Exception> bsStackTraces = new ArrayList<>();
 
     private boolean activated;
 
@@ -42,17 +43,28 @@ public class A
 
     private void setB(B b)
     {
+        System.out.println(Thread.currentThread().getName() + ":" + "A.setB(" + b + ")");
         bs.add( b );
+        bsStackTraces.add(new Exception());
     }
 
     private void unsetB(B b)
     {
+        System.out.println(Thread.currentThread().getName() + ":" + "A.unsetB(" + b + ")");
         bs.remove( b );
+        bsStackTraces.remove(bsStackTraces.size()-1);
     }
 
     public List<B> getBs()
     {
         return bs;
     }
+    
+    public void dumpStackTracesWhenBWasBound() {
+        System.out.println("stack traces when B was bound:");
+        for (Exception e : bsStackTraces) {
+            e.printStackTrace();
+        }
+    }
 
 }