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

0.27.0-insiders3 regression from C++/CX support -- can't find any symbol on Win7 #5155

Closed
gujinfei opened this issue Mar 19, 2020 · 15 comments
Closed
Labels
bug Feature: Document Symbol Outline view and breadcrumbs Feature: Symbol Search fixed Check the Milestone for the release in which the fix is or will be available. insiders Currently only repros with our latest Insiders release. Language Service quick fix regression A bug that didn't exist in a previous release
Milestone

Comments

@gujinfei
Copy link

Type: LanguageService

Describe the bug

  • OS and Version: win 7 sp1
  • VS Code Version:1.43.0
  • C/C++ Extension Version:0.27.0-insiders2
  • Other extensions you installed (and if the issue persists after disabling them): No
  • Does this issue involve using SSH remote to run the extension on a remote machine?: No

I'm working on a computer that does not have access to the Internet. I install the extension by "Install from VSIX..."
I have the following problems:

  • The OUTLINE views show: No symbols found in document 'main.cpp'
  • ctrl+shift+o : No symbols found
  • "Find all reference": only found local variable, show "No results" when I search function or global variable

Screenshots
log infomation:Tag parsing eccountered a error, but it may not matter. Let us
know if symbols in the file cant be found:
The picture link :https://github.com/gujinfei/res/blob/master/IMG_4339.JPG

@Colengms
Copy link
Contributor

Hi @gujinfei . Have you tried with insiders3? If it still repro's with insiders3, could you provide the following? :

  • The contents of your c_cpp_properties.json, if any.
  • Enable debug logging using "C_Cpp.loggingLevel": "Debug", and provide the output of the C/C++ output channel leading up to the repro.
  • The results of invoking the command: C/C++: Log Diagnostics, while you have a file open that is not working as expected.

@Colengms Colengms added Language Service more info needed The issue report is not actionable in its current state labels Mar 19, 2020
@sean-mcmanus
Copy link
Contributor

In addition, can you close all the VS Code instances and then make sure no dangling cpptools processes still exist (kill those if they do). And also if you do a Reset IntelliSense Database, do you see any "tag parsing" messages that don't result in the error message?

@gujinfei
Copy link
Author

@sean-mcmanus @Colengms
Thank you for reply

more infomation:

  • I have tried 0.27.0-insiders3, The result is the same.
  • Reboot VS Code instances and make sure no dangling cpptools processes still exist: The result is the same.
  • Reset IntelliSense Database, i can still see :Tag parsing eccountered a error, but it may not matter. Let us know if symbols in the file cant be found:
  • I have tried multiple versions (almost all versions from the "Find All reference" feature to now), and this problem has always existed on my offline machine。I also use cpptools on my MAC, and it works very well

log and config information:

  • The contents of my c_cpp_properties.json:
    cppjson
  • debug log
    debug
  • Log Diagnostics(2 pic)
    log
    log2

@sean-mcmanus
Copy link
Contributor

Ah, I suspect it may be a problem with Win7. Can you try 0.25.1? That was before we added C++/CX tag parsing capabilities, which could have caused it, but I don't recall other reports like this from Win7 users (I would update to the latest Win7 available, in case certain patches fixed stuff we require).

@michelleangela michelleangela changed the title extension cant find any symbol 0.27.0-insiders extension can't find any symbol (Win7) Mar 20, 2020
@gujinfei
Copy link
Author

@sean-mcmanus
Thank you very much.
0.25.1 works! I can see the symbols. Everything seems all right!
I hope this problem can be confirmed and modified in the new version。Thanks again!

@michelleangela michelleangela added Feature: Document Symbol Outline view and breadcrumbs Feature: Symbol Search bug and removed more info needed The issue report is not actionable in its current state bug labels Mar 20, 2020
@sean-mcmanus sean-mcmanus changed the title 0.27.0-insiders extension can't find any symbol (Win7) 0.26.0 regression from C++/CX support -- can't find any symbol on Win7 Mar 21, 2020
@sean-mcmanus sean-mcmanus added bug regression A bug that didn't exist in a previous release labels Mar 21, 2020
@sean-mcmanus sean-mcmanus added this to the 1.0 milestone Mar 21, 2020
@sean-mcmanus
Copy link
Contributor

Thanks for the info. This "same" issue was fixed for Win7 with #4536 , but it looks like we regressed somehow, i.e. the msvcp140.dll and vcruntime140.dll files are missing now. A workaround should be to download the file at https://github.com/microsoft/vscode-cpptools/releases/download/0.26.2-insiders/cpptools-win32.vsix, rename it to cpptools-win32.vsix.zip, unzip the files, and copy over the msvcp140.dll and vcruntime140.dll at extension\bin to the extension\bin folder of a newer install of our extension. Or keep using 0.25.1 until we release a fix.

@sean-mcmanus sean-mcmanus modified the milestones: 1.0, 0.27.0 Mar 21, 2020
@sean-mcmanus sean-mcmanus changed the title 0.26.0 regression from C++/CX support -- can't find any symbol on Win7 0.27.0-insiders regression from C++/CX support -- can't find any symbol on Win7 Mar 21, 2020
@sean-mcmanus sean-mcmanus added the insiders Currently only repros with our latest Insiders release. label Mar 21, 2020
@sean-mcmanus
Copy link
Contributor

Actually, 0.26.3 appears to have the fix as well, i.e. it's an "insider-only" bug, which explains why we haven't gotten that many complaints yet.

@sean-mcmanus sean-mcmanus changed the title 0.27.0-insiders regression from C++/CX support -- can't find any symbol on Win7 0.27.0-insiders3 regression from C++/CX support -- can't find any symbol on Win7 Mar 21, 2020
@sean-mcmanus sean-mcmanus added fixed Check the Milestone for the release in which the fix is or will be available. quick fix labels Mar 21, 2020
@gujinfei
Copy link
Author

@sean-mcmanus Thanks for your replying.
I have tried 0.26.2 , it doesn't work. When I " reset Intellisense database", i can still see: Tag parsing eccountered a error, but it may not matter ....
The problem on my machine does not seem to be caused by these two libraries
Until now,Only 0.25.1 works on my machine.

@sean-mcmanus
Copy link
Contributor

This is fixed with 0.27.0-insiders4 now.

@gujinfei
Copy link
Author

gujinfei commented Mar 24, 2020

0.27.0-insiders4 cant work on the machine : Tag parsing eccountered a error ....
I have tried 0.27.0-insiders4 on another win7 sp1, it works well.
It seems this problem only exist on my offline machine. Maybe some files are missing from the machine.

@sean-mcmanus
Copy link
Contributor

sean-mcmanus commented Mar 24, 2020

Do you see 3 DLLs under C:\Users\<username>\.vscode\extensions\ms-vscode.cpptools-0.27.0-insiders4\bin? 2 of those DLLs were missing with 0.27.0-insiders3. It's possible we only run on Win7 SP1 due to other DLLs that are required on older Win7 OS's. Can you upgrade your OS to match the Win7 SP1 machine?

@sean-mcmanus
Copy link
Contributor

sean-mcmanus commented Mar 24, 2020

To get the potentially missing DLLs, you could try to do the following steps:

  1. Download the LLVM 9.0.1 installer executable from https://releases.llvm.org/download.html for Windows 32-bit (not 64-bit).
  2. Install it.
  3. Go to C:\Program Files\LLVM\bin .
  4. Sort by "Date Modified".
  5. Copy the DLLs with a "Date Modified" of 2018 or older -- there should be 44.
  6. Paste all those DLLs into the C:\Users\<username>\.vscode\extensions\ms-vscode.cpptools-0.27.0-insiders4\bin folder.
  7. Check if that fixes the issue.

If you can see which of those 44 DLLs is missing from your older Windows install, we might be able to add those to future releases.

@gujinfei
Copy link
Author

Thanks for your patience and reply.
With your help, I can use 0.27.0 insiders4 normally
I follow your prompts, Download LLVM, and copy 44 DLLs to the corresponding directory, it takes effect.
At the same time that vscode works normally, I start to delete the DLL, and there are 22 DLLs left. These 22 DLLs are being used by the program.
Thanks again.
dll

@sean-mcmanus
Copy link
Contributor

Thanks for the info. I've updated our build to include those other DLL dependencies.

@sean-mcmanus
Copy link
Contributor

0.27.0-insiders5 has the missing DLLs added (https://github.com/microsoft/vscode-cpptools/releases/tag/0.27.0-insiders5).

@github-actions github-actions bot locked and limited conversation to collaborators Oct 9, 2020
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
bug Feature: Document Symbol Outline view and breadcrumbs Feature: Symbol Search fixed Check the Milestone for the release in which the fix is or will be available. insiders Currently only repros with our latest Insiders release. Language Service quick fix regression A bug that didn't exist in a previous release
Projects
None yet
Development

No branches or pull requests

4 participants