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
 endless parser loop with CMake project in VS 2019
 New Topic  Reply to Topic
 Printer Friendly
Author Previous Topic Topic Next Topic  

StefanEgo
Ketchup Master

56 Posts

Posted - Apr 29 2019 :  08:58:05 AM  Show Profile  Reply with Quote
When I open a folder to use the VS2019 cmake integration, VAX seems to parse our code structure endlessly (note: the issue doesn't occur when I open the same project through the VS solution file).

Is there any information I can provide you with to determine the cause of the issue or is that behavior currently known and on the plan to get resolved?

The behavior was tested with builds 2324 and 2331.

Edited by - StefanEgo on Apr 29 2019 08:59:24 AM

feline
Whole Tomato Software

United Kingdom
18750 Posts

Posted - Apr 29 2019 :  1:30:26 PM  Show Profile  Reply with Quote
At the risk of asking a stupid question, what are you doing to open a directory for cmake integration?

I know very little about cmake, so to start with a useful sample I have downloaded the zip of the code for Microsoft's CMake:

https://github.com/Microsoft/CMake

I have extracted the zip file to a directory, and then I load VS2019 and use the "Open a local folder" option to open the base directory that I have extracted. The IDE loads normally, but then it starts running "background tasks".

How long are you leaving the IDE to parse? Testing on a machine where Visual Assist has never been installed, and having clicked on the small animated icon at the left hand end of the IDE status bar, it says "Indexing folder CMake-cmake-daemon", and it is sitting at 25% scanned, and it seems to have stopped. It has been sitting at 25% for a few minutes now, and there is no sign of any progress.

The entire source code tree I downloaded is only 13 meg, so it really should not take long to parse.

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

feline
Whole Tomato Software

United Kingdom
18750 Posts

Posted - Apr 29 2019 :  1:47:51 PM  Show Profile  Reply with Quote
I posted to soon, it finally finished parsing, but it took 6 minutes, without VA installed.

I now have VA installed, and am reloading the same solution, using the same method. The IDE scanning of CMake is still slow, but not as slow as the first time. There is no sign of any problem with VA parsing, I am not even seeing status bar messages about VA parsing the code.

Is this a valid test for the problem you are seeing? Should I be seeing something, when doing this test? Or am I testing this the wrong way?

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

StefanEgo
Ketchup Master

56 Posts

Posted - Apr 30 2019 :  05:23:19 AM  Show Profile  Reply with Quote
Sorry for being unclear. I'm talking about the workflow as described here: https://docs.microsoft.com/en-us/cpp/linux/cmake-linux-project?view=vs-2019#open-a-folder

In principle it's opening a folder in VS2019 which contains a CMakeLists.txt file which is then using the CMake integration of VS. If I follow that process on our main project, VAX appears to go in loops with certain includes (in particular two boost header includes in separate directories in the project's main directory).
Go to Top of Page

feline
Whole Tomato Software

United Kingdom
18750 Posts

Posted - Apr 30 2019 :  11:01:02 AM  Show Profile  Reply with Quote
I have now installed the Linux C++ tools for VS2019, and opened a folder containing a CMakeLists.txt file. But so far still no sign of the problem here.

Is your CMakeLists.txt file specifying any include directories? You mention Boost, is Boost stored under / inside this directory tree? Or is Boost stored in a central location? In either case, is it being found via some form of include directory specifier in the CMakeLists.txt file? This could be a key difference between what you are doing and what I am testing here.

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

StefanEgo
Ketchup Master

56 Posts

Posted - May 02 2019 :  03:13:52 AM  Show Profile  Reply with Quote
The thing is that we do have 3 instances of part of the boost source under the project root:

- SDKs\boost
- SDKs-steamos\boost
- SDKs-osx\boost

The status bar in VS 2019 suggests that it's iterating endlessly between boost includes under SDKs\boost and SDKs-osx\boost.

The cmakelists.txt file ensures that for a specific platform only one of the boost directories is set as an additional include folder.
Go to Top of Page

feline
Whole Tomato Software

United Kingdom
18750 Posts

Posted - May 02 2019 :  2:57:54 PM  Show Profile  Reply with Quote
URG. I added three copies of Boost to my test solution, but have not made any changes to the cmakelists.txt file in the root directory. VS2019 has finally finished parsing cmake, it took 3.5 hours!!! And this is a reasonably fast machine. This is crazy.

I was actually watching the IDE progress bar in the background, checking on it every now and then, so I know it was the IDE parser that took this long.

Still no sign of any VA problems.

Do you have any "cmakelists.txt" files in your boost directory trees?

I need a new plan for testing this. I cannot believe this is "normal" behaviour.

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

StefanEgo
Ketchup Master

56 Posts

Posted - May 03 2019 :  06:36:07 AM  Show Profile  Reply with Quote
Not sure if I'm seeing the same behavior here.
The status bar for me states: "VA: Parsing [...]\SDKs-steamos\boost\include\boost\smart_ptr\detail\sp_counted_base_aix.hpp" which lets me conclude that VA is doing the parsing for me and not the IDE, right?

We do have a main cmakelists.txt in the project root which includes the boost include dir relevant for the platform (i.e. one out of the 3 boost include directories is selected). There is no cmakelists.txt in any path under SDKs(-XXX)\boost.

When I just tried to reproduce the behavior again right now, it seems it's no longer happening to me. Meanwhile I did an upgrade of VS 2019 to 16.0.3 (previous test was with 16.0.2) and also rebooted the machine. So it looks like I lost the repro case here.

Given the issue is gone, I'd be fine to consider this an invalid report. I'd bring it up again if I find a repro case to dig deeper into it.
Go to Top of Page

feline
Whole Tomato Software

United Kingdom
18750 Posts

Posted - May 04 2019 :  12:32:00 PM  Show Profile  Reply with Quote
We are definitely seeing something different. I have been watching the small animated icon in the left hand corner of the IDE, at the end of the status bar, and the progress bar that appears when you left mouse click on it:



sadly no idea what was causing VA problems here. Even when I apparently managed to break CMake parsing by VS2019 I never had any problems with VA's parsing. So obviously something going on here I have not understood properly.

If this comes back again would it be possible to get a copy of the cmakelists.txt files you are using? Hopefully then I can set up a test that looks similar enough to your situation to tell me something useful about what is going on.

If you don't want to post the file details here, which is quite normal, could you please email me the form at:

[email protected].

including this thread ID or URL in the description, so we can match it up.

zen is the art of being at one with the two'ness
Go to Top of Page
  Previous Topic Topic Next Topic  
 New Topic  Reply to Topic
 Printer Friendly
Jump To:
© 2023 Whole Tomato Software, LLC Go To Top Of Page
Snitz Forums 2000