Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Rubberduck doesn't exit properly #1438

Closed
ghost opened this issue May 7, 2016 · 9 comments
Closed

Rubberduck doesn't exit properly #1438

ghost opened this issue May 7, 2016 · 9 comments
Labels
bug Identifies work items for known bugs
Milestone

Comments

@ghost
Copy link

ghost commented May 7, 2016

When closing Excel for example, the process does not get killed which might be because still have references to COM objects somewhere. Here's an article about that problem: http://stackoverflow.com/questions/158706/how-to-properly-clean-up-excel-interop-objects.

Also it seems that the component parser tasks never get disposed of properly but I'm not sure how important that is.

@ghost ghost added the bug Identifies work items for known bugs label May 7, 2016
@ghost ghost added this to the Version 2.0 milestone May 7, 2016
@Hosch250
Copy link
Member

Hosch250 commented May 7, 2016

@autoboosh This is our old friend the memory leak. It is because not everything is disposed correctly. When we tear it down, we need to go through and manually call Dispose() on every single item that implements IDisposable. I had this fixed for 1.4.3, but 2.0 killed almost all of that.

Here is a known list of what is not disposed:

  • The menus
  • The commands for the Code Explorer (a couple use components that need to be disposed)
  • Perhaps the parser components

@ghost
Copy link
Author

ghost commented May 7, 2016

What about the "two dot" problem though as described here: http://stackoverflow.com/a/158752/5895299?

@Hosch250
Copy link
Member

Hosch250 commented May 7, 2016

That may well be part of this.

@Hosch250
Copy link
Member

Hosch250 commented May 7, 2016

Reference #1436

@retailcoder
Copy link
Member

@autoboosh isn't the "two dot" problem only a problem when you're out-of-process?

If that's not the case, then we have TONS of Marshal.ReleaseCOMObject calls to sprinkle just about everywhere, ...and perhaps that might explain some of the intermittent crashing-on-exit.

Thoughts?

@ghost
Copy link
Author

ghost commented May 9, 2016

Oh my bad then, ignore what I just said.

@retailcoder
Copy link
Member

@autoboosh well I hope with fingers quadruple-crossed that being in-process matters. Otherwise you could very well be correct here.

@Vogel612
Copy link
Member

Vogel612 commented Jan 8, 2017

Is this still relevant to the latest releases?

@Hosch250
Copy link
Member

Hosch250 commented Jan 8, 2017

Some people are still having trouble with this. Autoboosh has not been in contact with us for +/- 6 months.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Identifies work items for known bugs
Projects
None yet
Development

No branches or pull requests

3 participants