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 crashing during first parse. #5217

Closed
ghost opened this issue Oct 13, 2019 · 17 comments
Closed

Rubberduck crashing during first parse. #5217

ghost opened this issue Oct 13, 2019 · 17 comments
Labels
bug Identifies work items for known bugs critical Marks a bug as a must-fix, showstopper issue

Comments

@ghost
Copy link

ghost commented Oct 13, 2019

Rubberduck version information

Version 2.4.1.5071
OS: Microsoft Windows NT 10.0.18362.0, x64
Host Product: Microsoft Office x64
Host Version: 16.0.12026.20320
Host Executable: WINWORD.EXE

Description
Rubberduck crashes during the 'Loading' phase of the first parse. There is no log produced. Version 69 was fine, the first and subsequent parses complete without issues. Crashing started in 71 and is repeatable in 72.

@ghost ghost added the bug Identifies work items for known bugs label Oct 13, 2019
@bclothier
Copy link
Contributor

bclothier commented Oct 13, 2019

The 71 corresponds to PR #5211. Presumably the fix is not stable and should be reverted

@bclothier
Copy link
Contributor

bclothier commented Oct 13, 2019

I just tried to replicate this and failed. I even opened the battelship XLSM and also tried Word but I did not crash. I also tried the release just in case it was a bug that manifested in release only but it worked, too.

Can you confirm it's not specific to a certain Word document?

I went ahead and created PR #5218 to help us verify in case it's a bug that only manifests on certain environments.

@bclothier bclothier added the critical Marks a bug as a must-fix, showstopper issue label Oct 13, 2019
@bclothier
Copy link
Contributor

@ghost
Copy link
Author

ghost commented Oct 13, 2019

Sorry for not responding sooner but I was out accompanying my SO on her new electric bike,.

5075 and 5077 still crash.

I reinstalled 5069 but now that is also crashing and I have to go back to 5061 to get stable behaviour.

5067 crashes but has other odd behaviours in that it doen't crash every time, but very occasionally produces an 'Unexpected error' parse message.

I have also done multiple reboots and rebuilds for Microsoft office.

@ghost
Copy link
Author

ghost commented Oct 13, 2019

Seems that I recently reset Rubberduck settings as no logging was enabled . Logg from 5077 is attached.
RubberduckLog.txt

@MDoerner
Copy link
Contributor

The crash seems to happen in the code loading references. At least that is where the log stops.
Could you tell us which libraries you reference when you experience the crash?

@ghost
Copy link
Author

ghost commented Oct 13, 2019

references

@bclothier
Copy link
Contributor

@ghost
Copy link
Author

ghost commented Oct 14, 2019

I'm afraid I'm still seeing crashes with 5081. 5061 is running fine. Log for 5081 attached. If you need to see my code I'm happy to provide.
RubberduckLog.txt

@bclothier
Copy link
Contributor

Wait a minute, @SteveLaycock that's 5081. The link I indicated above is 5082. Can you try that, please?

@ghost
Copy link
Author

ghost commented Oct 14, 2019

@bclothier Oh I misread your post. I'm happy to confirm that 5082 completes the first and subsequent parses without issue

@bclothier
Copy link
Contributor

bclothier commented Oct 14, 2019

Thanks for confirming! I'll merge the hotfix (#5221) then and close this.

@bclothier
Copy link
Contributor

Hi, I'm trying to reproduce the crash so I can improve the handling around this -- I could add all references except for two and not crash. Can you tell me where I'd get the TypeLib Information and VBAExtensions: Better Objects for VBA?

Thanks!

@ghost
Copy link
Author

ghost commented Oct 19, 2019

TypeLib Information is C:\Windows\SysWow64\TLBInf32.dll

TypeLinInfo

TBH I think this reference is there only because of a past exploration and could be removed.

VBAExtensions is my 'delusion of adequacy'. It is a dictionary class (Kvp (SmartKvp)). I wrote in c#. A zip of the Visual Studio (2019) project is attached. Please note that this extension was my first foray into c# and that I'm not a professional programmer.

RegCmcLib.zip

@bclothier
Copy link
Contributor

Dammit, no reproduction here. I was so sure that the TLBINF32.DLL would be the culprit. The thing is that this particular library was never upgraded to 64-bit and you're running a 64-bit Word, but referencing a 32-bit Type Library in C:\Windows\SysWOW64\ (read: a folder of 32-bit DLLs on a 64-bit OS).

I used the version 71 in order to reproduce the crash, and even made a blank Word document with all the references in same order (I did not know how to remove the Normal reference):
image

This compiles and can parse without any error. I tried adding procedures that has variables from both TypeLib Information and VBAExtensions and that still didn't crash.

Do you think you could try and reinstall the version 71, remove the TypeLib Information reference and see if that avoids crashing?

@ghost
Copy link
Author

ghost commented Oct 19, 2019

Will do. But it will be at least 3 hours before I can get back to my pc.

@ghost
Copy link
Author

ghost commented Oct 19, 2019

OK I tested with 5071 and as previously Word crashed.

To help things along I've attached a copy of the word template. The template also contains extensive customisation of the Ribbon via CustomUI. As this template is a rewrite of something I did previously, the ribbon callbacks are not yet implemented you you get a number of errors during startup. This is a personal project so there is nothing confidential to worry about.

RegulatoryCMC - Copy.zip

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 critical Marks a bug as a must-fix, showstopper issue
Projects
None yet
Development

No branches or pull requests

2 participants