rubberduck-vba / Rubberduck

Every programmer needs a rubberduck. COM add-in for the VBA & VB6 IDE (VBE).
https://rubberduckvba.com
GNU General Public License v3.0
1.91k stars 300 forks source link

Code Inspections doesn't open or crashes VBE #1237

Closed joshkreud closed 8 years ago

joshkreud commented 8 years ago

When i try to Open the Code inspections (Via menu or the toolbar) either the vbe freezes and after some time excel aborts with this message:

excel is waiting for another application to complete an ole action

or it just happens nothing.

Ican see how many issues i have and can switch between them.

Vogel612 commented 8 years ago

@joshuader6 Could you please share which version you are using? This would greatly help narrowing down the problem. Thanks

joshkreud commented 8 years ago

Oh im sorry im ofcourse on the latest Version ( Build 1.4.3.2343 (MSIL))

retailcoder commented 8 years ago

I can see how many issues I have and can switch between them

If there are parser errors, the resolver can't do its thing, and the inspections won't run. You need to fix the parser errors - note that they're not your fault, they're bugs in the grammar we used to generate the parser (these bugs are now fixed, will release with 2.0).

Common parser issues include:

If you have trouble working around v1.4's grammar issues, don't hesitate to give us some of the faulty code, we can help.

Talorthain commented 8 years ago

The code inspector crashs or reports the same error. I was only testing the file to see how it works and if it would benefit me in my current project over other tools from 3rd parties.

Code was

dim a as integer

for a=0 to 100

    debug.print a

next a

As you can see nothing impressive. additionally the slowness / crash etc. was when I run the check from the tool bar. When I run the check from the right click on the project it is very quick, but when I then open test window and close it, excel crashes. All right click menus fail.

retailcoder commented 8 years ago

@Talorthain thanks for your feedback. I believe that would be fixed with commit a2f18e1d3a3b52aecbbb7abc5b668856acbf59db, which essentially prevents the inspections toolwindow from turning on its IsBusy flag and then requesting a parse task when there's no modified code to parse, which meant that the parser state never changed to Ready (since it was already there), and so the IsBusy flag would just remain there until code was modified and reparsed.

I've copied your sample code to a new standard module in a new project in Excel VBA; everything seems to work as is should:

image

Can you expand a bit about "crashes"? I'm not sure what you mean either with "running the check from the right click on the project" and "running the check from the toolbar" - what is "running the check" exactly?

I'm working on the parser state caching issues that make it remain stuck in Parsed state after a module is added and parsed, and also I noticed some commands' CanExecute method (which controls whether a menu item is enabled or not) doesn't work as it should, which makes some refactorings disabled when they should be enabled, or enabled when they should be disabled. But disabled menu items when parser state isn't Ready is completely by design, it prevents Rubberduck from modifying code modules when it knows that its in-memory representation of the code mismatches the actual code in the editor.

Also note, we've narrowed down sluggishness to the Win32 mouse hook, we'll "get it right" soon!

Talorthain commented 8 years ago

Hi,

            Thank you for the quick response. I am really looking forward to where this tool goes, plus the indenter in the next release will be very welcome.

            I will try the commit today. So hoping it works.

            I have tried to replicate the problem of the crash, caused when;

1) Right click on the project,

2) Select inspect

3) Close inspect

4) Right click on project

5) Select run all tests

6) Close the test window

7) Right click menu then fails (flashes but closes instantly)

But I can’t replicate it this time. I was trying to get a video so you can see it occur. The only issue this time was

When I exited excel.

I did previously uninstall rubberduck and with your reply reinstalled it. On this install though there was no HREF error on the first run of excel.

Slightly different note: The fix for general vbaproject name. Can the additional information be added to which project it is asking to rename. E.g. VBAProject(Book1). I only ask because when I first run the inspector, it said one issue VBAProject and give me the option to change it. I change it to TEST. It then changed the addin VBAProject(funcres) to TEST, gave me no other options for the actual project I added and then excel crashed because VBAProject(funcres) no longer existed (was call TEST). Maybe an option to include and exclude projects from the check.

Regards

Anthony

retailcoder commented 8 years ago

@Talorthain wait a bit, I haven't merged that commit yet ;-) nevermind, I did... lol ...you'd have to fork the project though, because I want a little more "meat" in the next hotfix release :smiley:

Talorthain commented 8 years ago

No problem..

I will look later or tomorrow. Had to uninstall again, due to now regular crashes as I try and enter the VBE

Regards

Anthony

From: Mathieu Guindon [mailto:notifications@github.com] Sent: 27 April 2016 16:08 To: rubberduck-vba/Rubberduck Rubberduck@noreply.github.com Cc: Talorthain anthony_taylor7@btinternet.com; Mention mention@noreply.github.com Subject: Re: [rubberduck-vba/Rubberduck] Code Inspections doesn't open or crashes VBE (#1237)

@Talorthain https://github.com/Talorthain wait a bit, I haven't merged that commit yet ;-)

— You are receiving this because you were mentioned. Reply to this email directly or view it on GitHub https://github.com/rubberduck-vba/Rubberduck/issues/1237#issuecomment-215113984 https://github.com/notifications/beacon/AGe018PWGmmouCxuqMFiZ78w-hwBi9Agks5p73vfgaJpZM4H3u2v.gif

Hosch250 commented 8 years ago

Is this still an issue?

retailcoder commented 8 years ago

obviously not :wink:

Talorthain commented 8 years ago

I have not had chance to try it due to a large project that is taking my time. Had the release been updated, if do I will try tomorrow.

-----Original Message----- From: "Mathieu Guindon" notifications@github.com Sent: ‎07/‎06/‎2016 19:33 To: "rubberduck-vba/Rubberduck" Rubberduck@noreply.github.com Cc: "Talorthain" anthony_taylor7@btinternet.com; "Mention" mention@noreply.github.com Subject: Re: [rubberduck-vba/Rubberduck] Code Inspections doesn't open orcrashes VBE (#1237)

Closed #1237. — You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub, or mute the thread.

retailcoder commented 8 years ago

@Talorthain thanks! We'll try to issue a beta release tonight (shhh! it's a seekrit!) :wink: