Whole Tomato Software Forums
Whole Tomato Software Forums
Main Site | Profile | Register | Active Topics | Members | Search | FAQ
User name:
Password:
Save Password
Forgot your password?

 All Forums
 Visual Assist
 Technical Support
 VaCodeInspectionsServer got stuck in a busy loop
 New Topic  Reply to Topic
 Printer Friendly
Author Previous Topic Topic Next Topic  

alex.postlethwaite
Senior Member

38 Posts

Posted - Sep 21 2018 :  04:09:46 AM  Show Profile  Reply with Quote
Hi,

I did a code completion operation in VS 2017 (I can't figure out specifically which one I'm afraid) and when I later exited VS the CodeInspectionsServer was still running using 1 cpu core.

I've got a minidump which I'll upload via the contact form.


VA_X.dll file version 10.9.2283.2 built 2018.08.02
DevEnv.exe version 15.8.28010.2026 Professional
msenv.dll version 15.0.28010.2026
Comctl32.dll version 6.10.17134.285
Windows 10 10.0 Build 17134.285
8 processors (x86-64, WOW64)
Language info: 1252, 0x809

Platform: Project defined
Stable Includes:
C:\Program Files (x86)\Windows Kits\NETFXSDK\4.6.1\Include\um;
C:\Program Files (x86)\Windows Kits\10\Include\10.0.15063.0\winrt;
C:\Program Files (x86)\Windows Kits\10\Include\10.0.15063.0\shared;
C:\Program Files (x86)\Windows Kits\10\Include\10.0.15063.0\um;
C:\Program Files (x86)\Microsoft Visual Studio\2017\Professional\VC\Auxiliary\VS\UnitTest\include;
C:\Program Files (x86)\Windows Kits\10\Include\10.0.15063.0\ucrt;
C:\Program Files (x86)\Microsoft Visual Studio\2017\Professional\VC\Auxiliary\VS\include;
C:\Program Files (x86)\Microsoft Visual Studio\2017\Professional\VC\Tools\MSVC\14.15.26726\atlmfc\include;
C:\Program Files (x86)\Microsoft Visual Studio\2017\Professional\VC\Tools\MSVC\14.15.26726\include;
C:\Program Files (x86)\Windows Kits\8.1\Include\winrt;
C:\Program Files (x86)\Windows Kits\8.1\Include\shared;
C:\Program Files (x86)\Windows Kits\8.1\Include\um;
C:\Program Files (x86)\Windows Kits\10\Include\10.0.10240.0\ucrt;

Other Includes:

Stable Source Directories:
C:\Program Files (x86)\Windows Kits\10\Source\10.0.15063.0\ucrt;
C:\Program Files (x86)\Microsoft Visual Studio\2017\Professional\VC\Auxiliary\VS\src;
C:\Program Files (x86)\Microsoft Visual Studio\2017\Professional\VC\Tools\MSVC\14.15.26726\crt\src;
C:\Program Files (x86)\Microsoft Visual Studio\2017\Professional\VC\Tools\MSVC\14.15.26726\atlmfc\src\atl;
C:\Program Files (x86)\Microsoft Visual Studio\2017\Professional\VC\Tools\MSVC\14.15.26726\atlmfc\src\mfcm;
C:\Program Files (x86)\Microsoft Visual Studio\2017\Professional\VC\Tools\MSVC\14.15.26726\atlmfc\src\mfc;
C:\Program Files (x86)\Windows Kits\10\Source\10.0.10240.0\ucrt;

feline
Whole Tomato Software

United Kingdom
17100 Posts

Posted - Sep 21 2018 :  09:03:04 AM  Show Profile  Reply with Quote
I have the file, thank you for this:

case=119501

zen is the art of being at one with the two'ness
Go to Top of Page

feline
Whole Tomato Software

United Kingdom
17100 Posts

Posted - Sep 21 2018 :  10:21:26 AM  Show Profile  Reply with Quote
I am not initially seeing anything obvious in the call stack, but I am not an expert here. Have you seen this problem before, or was this a one off problem? I am wondering if you might have any way of reproducing this. That would open the door to logging what Code Inspection was up to when this happened.

Do you remember which code file you were working in when this happened?

zen is the art of being at one with the two'ness
Go to Top of Page

alex.postlethwaite
Senior Member

38 Posts

Posted - Sep 24 2018 :  03:58:58 AM  Show Profile  Reply with Quote
I'm not 100% sure, but one possibility:

We have some auto-generated code that results in a function called 'Read' with about 200 overloads.

I did Alt-G and the ambiguity resolution context menu showed up. I pressed the down arrow at the bottom a few times and then chose the one I wanted to go to.

If that doesn't repro... I'm not sure, sorry.

I only noticed it was stuck after I'd exited the IDE.
Go to Top of Page

feline
Whole Tomato Software

United Kingdom
17100 Posts

Posted - Sep 24 2018 :  08:56:02 AM  Show Profile  Reply with Quote
Interesting, so it could be that simply parsing the file on opening is where Code Inspection got stuck.

For the auto generated Read function, is this a class member function? Or are all of the overloads outside of a class? I am not sure if it matters, but it will have an effect on setting up a test case here, since that is a lot of overloads

zen is the art of being at one with the two'ness

Edited by - feline on Sep 24 2018 08:56:19 AM
Go to Top of Page

alex.postlethwaite
Senior Member

38 Posts

Posted - Sep 24 2018 :  09:56:03 AM  Show Profile  Reply with Quote
They are all functions in a namespace.
There are some hand written ones for base types, and then a bunch of generated overloads for structures.

Broadly like this, for example:

Serialise.h

namespace serialise
{
    void Write(Buffer * b, int v) { ... }
    void Write(Buffer * b, float v) { ... }
}


ProjectStructs.h

struct Foo
{
    int i;
    float f;
};


ProjectSerialise.h

namespace serialise
{
    void Write(Buffer * b, Foo * f)
    {
        Write(b, f->i);
        Write(b, f->f);
    }
}


hth,
Alex
Go to Top of Page

sean
Whole Tomato Software

USA
2817 Posts

Posted - Sep 24 2018 :  12:51:12 PM  Show Profile  Reply with Quote
Thanks for sending the dump. The process was aware that VS had exited but a worker thread was busy in an inefficient long running loop and would have eventually exited. We do expect to have a couple of performance improvements in that exact area in the Oct/Nov timeframe.
Go to Top of Page

alex.postlethwaite
Senior Member

38 Posts

Posted - Sep 25 2018 :  06:03:32 AM  Show Profile  Reply with Quote
Okay. Thanks for the update.

alex.
Go to Top of Page
  Previous Topic Topic Next Topic  
 New Topic  Reply to Topic
 Printer Friendly
Jump To:
© 2019 Whole Tomato Software, LLC Go To Top Of Page
Snitz Forums 2000