Skip to main content


Eclipse Community Forums
Forum Search:

Search      Help    Register    Login    Home
Home » Eclipse Projects » Trace Compass » Resource Leak exception in tmf.ui plugin with trace compass 3.3.0(Resource Leak exception in tmf.ui plugin with trace compass 3.3.0)
Resource Leak exception in tmf.ui plugin with trace compass 3.3.0 [message #1785370] Fri, 13 April 2018 06:20 Go to next message
Raghava Rao is currently offline Raghava RaoFriend
Messages: 87
Registered: July 2009
Member
Hello,

I am using Trace Compass 3.3.0 version as part of my project.
I am getting below exception while exiting the application, can you please help to avoid this.I am starting my application from Command prompt, so exception is visible to users.

Resource leak:org.eclipse.tracecompass.internal.tmf.ui.markers.ConfigurableMarkerEventSourceFactory@749ee0e3[/email] was not deregistered.
org.eclipse.tracecompass.tmf.core.signal.TmfSignalManager.register(TmfSignalManager.java:86)
org.eclipse.tracecompass.tmf.core.trace.AbstractTmfTraceAdapterFactory.<init>(AbstractTmfTraceAdapterFactory.java:54)
org.eclipse.tracecompass.internal.tmf.ui.markers.ConfigurableMarkerEventSourceFactory.<init>(ConfigurableMarkerEventSourceFactory.java:22)
org.eclipse.tracecompass.internal.tmf.ui.Activator.start(Activator.java:109)
org.eclipse.osgi.internal.framework.BundleContextImpl$3.run(BundleContextImpl.java:774)
org.eclipse.osgi.internal.framework.BundleContextImpl$3.run(BundleContextImpl.java:1)
java.security.AccessController.doPrivileged(Native Method)
org.eclipse.osgi.internal.framework.BundleContextImpl.startActivator(BundleContextImpl.java:767)
org.eclipse.osgi.internal.framework.BundleContextImpl.start(BundleContextImpl.java:724)
org.eclipse.osgi.internal.framework.EquinoxBundle.startWorker0(EquinoxBundle.java:932)
org.eclipse.osgi.internal.framework.EquinoxBundle$EquinoxModule.startWorker(EquinoxBundle.java:309)
org.eclipse.osgi.container.Module.doStart(Module.java:581)
org.eclipse.osgi.container.Module.start(Module.java:449)
org.eclipse.osgi.framework.util.SecureAction.start(SecureAction.java:470)
org.eclipse.osgi.internal.hooks.EclipseLazyStarter.postFindLocalClass(EclipseLazyStarter.java:107)
org.eclipse.osgi.internal.loader.classpath.ClasspathManager.findLocalClass(ClasspathManager.java:529)
org.eclipse.osgi.internal.loader.ModuleClassLoader.findLocalClass(ModuleClassLoader.java:325)
org.eclipse.osgi.internal.loader.BundleLoader.findLocalClass(BundleLoader.java:345)
org.eclipse.osgi.internal.loader.sources.SingleSourcePackage.loadClass(SingleSourcePackage.java:36)
org.eclipse.osgi.internal.loader.BundleLoader.findClassInternal(BundleLoader.java:419)
org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:372)
org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:364)
org.eclipse.osgi.internal.loader.ModuleClassLoader.loadClass(ModuleClassLoader.java:161)

Thanks,
Raghava Rao

[Updated on: Fri, 13 April 2018 06:21]

Report message to a moderator

Re: Resource Leak exception in tmf.ui plugin with trace compass 3.3.0 [message #1785432 is a reply to message #1785370] Fri, 13 April 2018 17:15 Go to previous messageGo to next message
Patrick Tasse is currently offline Patrick TasseFriend
Messages: 84
Registered: July 2009
Member
Hi Raghava,

That is very strange. The factory is normally registered in tmf.ui.Activator.start() and deregistered in tmf.ui.Activator.stop().

The message that you see is printed by the TmfSignalManager when it gets disposed in tmf.core.Activator.stop().

At that point we normally expect that the tmf.ui.Activator.stop() has already been called. The tmf.ui plugin depends on tmf.core, so tmf.core should be started first, and stopped last if the platform stops bundles in reverse order that they were created.

Looking at the code, a few (unexpected) possibilities that could lead to this leak would be:

1. tmf.ui is not stopped at all
2. tmf.core is stopped before tmf.ui
3. tmf.ui is started twice without being stopped in between, then stopped
4. tmf.ui and tmf.core are stopped concurrently in different threads
5. tmf.ui.Activator.stop() does not complete due to an Exception being thrown

But in most of these cases, there would be more leaks reported due to other unregistered listeners in tmf.ui.Activator. Are you seeing just this one leak or are there more in the console?

Can you think of anything in your application that would influence the activation of tmf.core and tmf.ui plugins?

Best regards,
Patrick
Re: Resource Leak exception in tmf.ui plugin with trace compass 3.3.0 [message #1785437 is a reply to message #1785432] Fri, 13 April 2018 17:44 Go to previous message
Raghava Rao is currently offline Raghava RaoFriend
Messages: 87
Registered: July 2009
Member
Thanks Patrick for quick response.

We could see below exception also. We are importing the files into trace project and opening the views. we are not customizing any of the code.

Resource leak: org.eclipse.tracecompass.internal.tmf.ui.views.TmfAlignmentSynchronizer@2e3ec0e9 was not deregistered.
org.eclipse.tracecompass.tmf.core.signal.TmfSignalManager.register(TmfSignalManager.java:86)
org.eclipse.tracecompass.internal.tmf.ui.views.TmfAlignmentSynchronizer.<init>(TmfAlignmentSynchronizer.java:65)
org.eclipse.tracecompass.internal.tmf.ui.views.TmfAlignmentSynchronizer.getInstance(TmfAlignmentSynchronizer.java:83)
org.eclipse.tracecompass.tmf.ui.views.TmfView.<clinit>(TmfView.java:60)
sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
java.lang.reflect.Constructor.newInstance(Constructor.java

Thanks,
Raghava Rao
Previous Topic:Cache issue in XmlTimeGraphView
Next Topic:XML state provider for generic CTF
Goto Forum:
  


Current Time: Fri Apr 19 21:29:56 GMT 2024

Powered by FUDForum. Page generated in 0.03388 seconds
.:: Contact :: Home ::.

Powered by: FUDforum 3.0.2.
Copyright ©2001-2010 FUDforum Bulletin Board Software

Back to the top