Hi David! thanks a lot for taking care of it, very appreciated! They are linked just because of the topic, but the Sling threaddump bundle produces an output that is *not* jstack/TDA compliant, while the Felix one output is. I hope this clarifies why I need the Felix one :P Please get back to me if something more is needed from my side! All the best, -Simo
http://people.apache.org/~simonetripodi/ http://twitter.com/simonetripodi On Tue, Aug 25, 2015 at 3:30 PM, David Bosschaert < [email protected]> wrote: > Hi Simo, > > I have it working - thanks :) One last question: does it have any > relation to the sling threaddump bundle? That one can be found here: > sling-trunk/bundles/commons/threaddump > > Cheers, > > David > > On 25 August 2015 at 14:20, David Bosschaert <[email protected]> > wrote: > > Ok - I understand it now. Inventory printer has this in its manifest: > > > > DynamicImport-Package: javax.servlet, javax.servlet.http > > > > This explains why it resolved in the first place. I guess I don't > > understand why these are imported via DI-P and not via normal imports, > > but that's not an issue with threaddump. > > > > Thanks Simo, I'll play a bit more with it... > > > > Cheers, > > > > David > > > > On 25 August 2015 at 13:55, Simone Tripodi <[email protected]> > wrote: > >> Hi again, David! > >> > >> just a small hint: I suggest you to test the bundle inside the > WebConsole > >> also to see the service working and see the produced output... would it > >> help? > >> TIA, all the best! > >> -Simo- > >> > >> > >> http://people.apache.org/~simonetripodi/ > >> http://twitter.com/simonetripodi > >> > >> On Tue, Aug 25, 2015 at 2:49 PM, Simone Tripodi < > [email protected]> > >> wrote: > >> > >>> Hi David! > >>> Thanks a lot for taking care of it, much more than appreciated! :) > >>> The javax.servlet APIs are required by the InventoryPrinter APIs, it > is a > >>> transitive dependency (in Maven therms :P) > >>> HTH, please get back to me if/when needed! > >>> All the best, > >>> -Simo- > >>> > >>> > >>> http://people.apache.org/~simonetripodi/ > >>> http://twitter.com/simonetripodi > >>> > >>> On Tue, Aug 25, 2015 at 12:55 PM, David Bosschaert < > >>> [email protected]> wrote: > >>> > >>>> Hi Simo, > >>>> > >>>> Just tried the threaddump bundle (with it's dependency 'inventory' > >>>> 1.0.4) and it gives me an exception (see below), which seems to come > >>>> from its activator start() method. I'm not sure what it does, but it > >>>> looks like something is missing an import-package for the > >>>> javax.servlet APIs somewhere... > >>>> > >>>> Cheers, > >>>> > >>>> David > >>>> > >>>> Here's what I'm getting: > >>>> > >>>> g! lb > >>>> START LEVEL 1 > >>>> ID|State |Level|Name > >>>> 0|Active | 0|System Bundle (5.2.0) > >>>> 1|Active | 1|Apache Felix Bundle Repository (2.0.4) > >>>> 2|Active | 1|Apache Felix Gogo Command (0.14.0) > >>>> 3|Active | 1|Apache Felix Gogo Runtime (0.16.2) > >>>> 4|Active | 1|Apache Felix Gogo Shell (0.10.0) > >>>> 5|Active | 1|Apache Felix Inventory (1.0.4) > >>>> 6|Installed | 1|Apache Felix Thread Dump (0.0.1.SNAPSHOT) > >>>> g! start 6 > >>>> ERROR: Bundle org.apache.felix.inventory [5] EventDispatcher: Error > >>>> during dispatch. (java.lang.NoClassDefFoundError: > >>>> javax/servlet/http/HttpServlet) > >>>> java.lang.NoClassDefFoundError: javax/servlet/http/HttpServlet > >>>> at java.lang.ClassLoader.defineClass1(Native Method) > >>>> at java.lang.ClassLoader.defineClass(ClassLoader.java:760) > >>>> at > >>>> > org.apache.felix.framework.BundleWiringImpl$BundleClassLoader.defineClass(BundleWiringImpl.java:2350) > >>>> at > >>>> > org.apache.felix.framework.BundleWiringImpl$BundleClassLoader.findClass(BundleWiringImpl.java:2134) > >>>> at > >>>> > org.apache.felix.framework.BundleWiringImpl.findClassOrResourceByDelegation(BundleWiringImpl.java:1526) > >>>> at > >>>> > org.apache.felix.framework.BundleWiringImpl.access$400(BundleWiringImpl.java:79) > >>>> at > >>>> > org.apache.felix.framework.BundleWiringImpl$BundleClassLoader.loadClass(BundleWiringImpl.java:1998) > >>>> at java.lang.ClassLoader.loadClass(ClassLoader.java:357) > >>>> at java.lang.ClassLoader.defineClass1(Native Method) > >>>> at java.lang.ClassLoader.defineClass(ClassLoader.java:760) > >>>> at > >>>> > org.apache.felix.framework.BundleWiringImpl$BundleClassLoader.defineClass(BundleWiringImpl.java:2350) > >>>> at > >>>> > org.apache.felix.framework.BundleWiringImpl$BundleClassLoader.findClass(BundleWiringImpl.java:2134) > >>>> at > >>>> > org.apache.felix.framework.BundleWiringImpl.findClassOrResourceByDelegation(BundleWiringImpl.java:1526) > >>>> at > >>>> > org.apache.felix.framework.BundleWiringImpl.access$400(BundleWiringImpl.java:79) > >>>> at > >>>> > org.apache.felix.framework.BundleWiringImpl$BundleClassLoader.loadClass(BundleWiringImpl.java:1998) > >>>> at java.lang.ClassLoader.loadClass(ClassLoader.java:357) > >>>> at > >>>> > org.apache.felix.inventory.impl.InventoryPrinterAdapter.registerConsole(InventoryPrinterAdapter.java:75) > >>>> at > >>>> > org.apache.felix.inventory.impl.InventoryPrinterManagerImpl.addService(InventoryPrinterManagerImpl.java:208) > >>>> at > >>>> > org.apache.felix.inventory.impl.InventoryPrinterManagerImpl.addingService(InventoryPrinterManagerImpl.java:128) > >>>> at > >>>> > org.osgi.util.tracker.ServiceTracker$Tracked.customizerAdding(ServiceTracker.java:941) > >>>> at > >>>> > org.osgi.util.tracker.ServiceTracker$Tracked.customizerAdding(ServiceTracker.java:870) > >>>> at > >>>> > org.osgi.util.tracker.AbstractTracked.trackAdding(AbstractTracked.java:256) > >>>> at > org.osgi.util.tracker.AbstractTracked.track(AbstractTracked.java:229) > >>>> at > >>>> > org.osgi.util.tracker.ServiceTracker$Tracked.serviceChanged(ServiceTracker.java:901) > >>>> at > >>>> > org.apache.felix.framework.util.EventDispatcher.invokeServiceListenerCallback(EventDispatcher.java:987) > >>>> at > >>>> > org.apache.felix.framework.util.EventDispatcher.fireEventImmediately(EventDispatcher.java:838) > >>>> at > >>>> > org.apache.felix.framework.util.EventDispatcher.fireServiceEvent(EventDispatcher.java:545) > >>>> at org.apache.felix.framework.Felix.fireServiceEvent(Felix.java:4560) > >>>> at org.apache.felix.framework.Felix.registerService(Felix.java:3542) > >>>> at > >>>> > org.apache.felix.framework.BundleContextImpl.registerService(BundleContextImpl.java:348) > >>>> at > >>>> > org.apache.felix.framework.BundleContextImpl.registerService(BundleContextImpl.java:322) > >>>> at > >>>> > org.apache.felix.threaddump.internal.ThreadDumpActivator.start(ThreadDumpActivator.java:60) > >>>> at > >>>> > org.apache.felix.framework.util.SecureAction.startActivator(SecureAction.java:697) > >>>> at org.apache.felix.framework.Felix.activateBundle(Felix.java:2220) > >>>> at org.apache.felix.framework.Felix.startBundle(Felix.java:2138) > >>>> at org.apache.felix.framework.BundleImpl.start(BundleImpl.java:977) > >>>> at org.apache.felix.gogo.command.Basic.start(Basic.java:729) > >>>> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) > >>>> at > >>>> > sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) > >>>> at > >>>> > sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) > >>>> at java.lang.reflect.Method.invoke(Method.java:483) > >>>> at > org.apache.felix.gogo.runtime.Reflective.invoke(Reflective.java:137) > >>>> at > >>>> > org.apache.felix.gogo.runtime.CommandProxy.execute(CommandProxy.java:82) > >>>> at org.apache.felix.gogo.runtime.Closure.executeCmd(Closure.java:480) > >>>> at > >>>> > org.apache.felix.gogo.runtime.Closure.executeStatement(Closure.java:406) > >>>> at org.apache.felix.gogo.runtime.Pipe.run(Pipe.java:108) > >>>> at org.apache.felix.gogo.runtime.Closure.execute(Closure.java:182) > >>>> at org.apache.felix.gogo.runtime.Closure.execute(Closure.java:119) > >>>> at > >>>> > org.apache.felix.gogo.runtime.CommandSessionImpl.execute(CommandSessionImpl.java:94) > >>>> at org.apache.felix.gogo.shell.Console.run(Console.java:62) > >>>> at org.apache.felix.gogo.shell.Shell.console(Shell.java:203) > >>>> at org.apache.felix.gogo.shell.Shell.gosh(Shell.java:128) > >>>> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) > >>>> at > >>>> > sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) > >>>> at > >>>> > sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) > >>>> at java.lang.reflect.Method.invoke(Method.java:483) > >>>> at > org.apache.felix.gogo.runtime.Reflective.invoke(Reflective.java:137) > >>>> at > >>>> > org.apache.felix.gogo.runtime.CommandProxy.execute(CommandProxy.java:82) > >>>> at org.apache.felix.gogo.runtime.Closure.executeCmd(Closure.java:480) > >>>> at > >>>> > org.apache.felix.gogo.runtime.Closure.executeStatement(Closure.java:406) > >>>> at org.apache.felix.gogo.runtime.Pipe.run(Pipe.java:108) > >>>> at org.apache.felix.gogo.runtime.Closure.execute(Closure.java:182) > >>>> at org.apache.felix.gogo.runtime.Closure.execute(Closure.java:119) > >>>> at > >>>> > org.apache.felix.gogo.runtime.CommandSessionImpl.execute(CommandSessionImpl.java:94) > >>>> at org.apache.felix.gogo.shell.Activator.run(Activator.java:75) > >>>> at java.lang.Thread.run(Thread.java:745) > >>>> Caused by: java.lang.ClassNotFoundException: > >>>> javax.servlet.http.HttpServlet not found by org.apache.felix.inventory > >>>> [5] > >>>> at > >>>> > org.apache.felix.framework.BundleWiringImpl.findClassOrResourceByDelegation(BundleWiringImpl.java:1558) > >>>> at > >>>> > org.apache.felix.framework.BundleWiringImpl.access$400(BundleWiringImpl.java:79) > >>>> at > >>>> > org.apache.felix.framework.BundleWiringImpl$BundleClassLoader.loadClass(BundleWiringImpl.java:1998) > >>>> at java.lang.ClassLoader.loadClass(ClassLoader.java:357) > >>>> ... 66 more > >>>> > >>>> On 25 August 2015 at 11:14, David Bosschaert < > [email protected]> > >>>> wrote: > >>>> > Hi Simo, > >>>> > > >>>> > I have never used it but I can give it a go and start the release > >>>> sometime soon. > >>>> > > >>>> > Cheers, > >>>> > > >>>> > David > >>>> > > >>>> > On 25 August 2015 at 10:43, Simone Tripodi < > [email protected]> > >>>> wrote: > >>>> >> Hi all! :) > >>>> >> > >>>> >> the org.apache.felix.threaddump[1], contributed to FELIX-3339, > >>>> produces a > >>>> >> valid output which is very useful to analysts because it can be > read by > >>>> >> common used tools, such as TDA... > >>>> >> Since the issue is marked as resolved on 20 Jun 13 and the bundle > has > >>>> never > >>>> >> been released, would it be possible one of you committers releases > it? > >>>> >> Any help would be very appreciate, many thanks in advance, all the > >>>> best! > >>>> >> -Simo > >>>> >> > >>>> >> [1] https://svn.apache.org/repos/asf/felix/trunk/threaddump > >>>> >> > >>>> >> http://people.apache.org/~simonetripodi/ > >>>> >> http://twitter.com/simonetripodi > >>>> > >>> > >>> >
