Going through getting started procedure and am at point where creating a project, debug and deploy. First a discrepency: The getting started text says make sure to select “debian buster-slim arm32v7” but the image shows “debian buster-slim arm64v8-1.0”. The referenced Visual Studio Extension document says select the option “debian buster_slim:arm64v8 - 1.0:” for Apalis iMX8QM. I’ve tried both…
When I click Deploy and debug torizon Application it opens the “Application is not up to date. Do you want to build it?” as expected. It then identifies that the SDK container hasn’t been built yet but then errors on building it:
SDK container hasn't been built yet, this may prevent intellisense and auto-completion from working. It will work after a rebuild of the application.
Error starting SDK container.
Error during pre-build activity.
Exception: System.MissingMethodException: Method not found: 'Void liblinux.PasswordConnectionInfo..ctor(System.String, Int32, Int32, System.String, System.Security.SecureString)'.
at TorizonVSExtension.CPPSolutionManager.SetConnectionInfo(VCProject vcprj, VCConfiguration vccfg, String appconfig, Platform plat, ApplicationSDKContainerAddress addr)
at TorizonVSExtension.CPPSolutionManager.<>c__DisplayClass43_0.<<BuildEvents_OnBuildProjConfigBegin>b__0>d.MoveNext() in C:\GitLab-Runner\builds\sAyebikf\0\rd\torizon-core\ide-plugins\vs-plugin\TorizonVSExtension\CPPProjects\CPPSolutionManager.cs:line 720
Message:Method not found: 'Void liblinux.PasswordConnectionInfo..ctor(System.String, Int32, Int32, System.String, System.Security.SecureString)'.
Stack trace:
at TorizonVSExtension.CPPSolutionManager.SetConnectionInfo(VCProject vcprj, VCConfiguration vccfg, String appconfig, Platform plat, ApplicationSDKContainerAddress addr)
at TorizonVSExtension.CPPSolutionManager.<>c__DisplayClass43_0.<<BuildEvents_OnBuildProjConfigBegin>b__0>d.MoveNext() in C:\GitLab-Runner\builds\sAyebikf\0\rd\torizon-core\ide-plugins\vs-plugin\TorizonVSExtension\CPPProjects\CPPSolutionManager.cs:line 720
A check of the Docker Desktop Application dashboard shows the sdk containers running. I also have a good connection with the target board in the Torizon Devices window. Everything is running as Administrator. What do I need to do?
Hmm I wasn’t able to recreate this going through the getting started on my end just now. First of all you are suppose to use arm64v8 for the i.MX8, so nice catch on your end. I’ll work to get that typo fixed soon, thank you for pointing that out.
Just as a sanity check can you clear all the container and images on your development PC, perhaps since you tried both 32-bit and 64-bit there may be some unforeseen conflict.
Finally just so I have the information here, what version of Visual Studio are you running?
I am using VS 2019 Version 16.7.1. It was just updated Saturday as it was not going to let me run the installer without running the update. All the pieces:
Microsoft Visual Studio Community 2019
Version 16.7.1
VisualStudio.16.Release/16.7.1+30406.217
Microsoft .NET Framework
Version 4.8.03752
Installed Version: Community
Visual C++ 2019 00435-60000-00000-AA202
ASP.NET and Web Tools 2019 16.7.532.28833
Azure App Service Tools v3.0.0 16.7.532.28833
C# Tools 3.7.0-6.20375.2+34202cc2f3e869fd70a26d8237f4552cf9e192cf
Common Azure Tools 1.10
Cookiecutter 16.7.20181.2
Debugging Tools for Windows 10.0.18346.1000
IntelliCode Extension 1.0
Microsoft Azure Tools 2.9
Microsoft JVM Debugger 1.0
Microsoft MI-Based Debugger 1.0
Microsoft Visual C++ Wizards 1.0
Microsoft Visual Studio VC Package 1.0
NuGet Package Manager 5.7.0
ProjectServicesPackage Extension 1.0
Python 16.7.20181.2
Python - Conda support 16.7.20181.2
Python - Django support 16.7.20181.2
Python - IronPython support 16.7.20181.2
Python - Profiling support 16.7.20181.2
Test Adapter for Boost.Test 1.0
Test Adapter for Google Test 1.0
Torizon Devices List 1.0
Torizon environment extension 1.0
Torizon images updater extension 1.0
TypeScript Tools 16.0.20702.2001
Visual Basic Tools 3.7.0-6.20375.2+34202cc2f3e869fd70a26d8237f4552cf9e192cf
Visual C++ for Linux Development 1.0.9.30329
Visual F# Tools 10.10.0.0 for F# 4.7 16.7.0
`
Visual Studio Code Debug Adapter Host Package 1.0
Visual Studio Tools for CMake 1.0
Windows Driver Kit 10.0.18346.1000
I am using VS 2019 Version 16.7.1. It was just updated Saturday as it was not going to let me run the installer without running the update. All the pieces:
Microsoft Visual Studio Community 2019
Version 16.7.1
VisualStudio.16.Release/16.7.1+30406.217
Microsoft .NET Framework
Version 4.8.03752
Installed Version: Community
Visual C++ 2019 00435-60000-00000-AA202
ASP.NET and Web Tools 2019 16.7.532.28833
Azure App Service Tools v3.0.0 16.7.532.28833
C# Tools 3.7.0-6.20375.2+34202cc2f3e869fd70a26d8237f4552cf9e192cf
Common Azure Tools 1.10
Cookiecutter 16.7.20181.2
Debugging Tools for Windows 10.0.18346.1000
IntelliCode Extension 1.0
Microsoft Azure Tools 2.9
Microsoft JVM Debugger 1.0
Microsoft MI-Based Debugger 1.0
Microsoft Visual C++ Wizards 1.0
Microsoft Visual Studio VC Package 1.0
NuGet Package Manager 5.7.0
ProjectServicesPackage Extension 1.0
Python 16.7.20181.2
Python - Conda support 16.7.20181.2
Python - Django support 16.7.20181.2
Python - IronPython support 16.7.20181.2
Python - Profiling support 16.7.20181.2
Test Adapter for Boost.Test 1.0
Test Adapter for Google Test 1.0
Torizon Devices List 1.0
Torizon environment extension 1.0
Torizon images updater extension 1.0
TypeScript Tools 16.0.20702.2001
Visual Basic Tools 3.7.0-6.20375.2+34202cc2f3e869fd70a26d8237f4552cf9e192cf
Visual C++ for Linux Development 1.0.9.30329
Visual F# Tools 10.10.0.0 for F# 4.7 16.7.0
`
Visual Studio Code Debug Adapter Host Package 1.0
Visual Studio Tools for CMake 1.0
Windows Driver Kit 10.0.18346.1000
I am using VS 2019 Version 16.7.1. It was just updated Saturday as it was not going to let me run the installer without running the update. All the pieces:
Microsoft Visual Studio Community 2019
Version 16.7.1
VisualStudio.16.Release/16.7.1+30406.217
Microsoft .NET Framework
Version 4.8.03752
Installed Version: Community
Visual C++ 2019 00435-60000-00000-AA202
ASP.NET and Web Tools 2019 16.7.532.28833
Azure App Service Tools v3.0.0 16.7.532.28833
C# Tools 3.7.0-6.20375.2+34202cc2f3e869fd70a26d8237f4552cf9e192cf
Common Azure Tools 1.10
Cookiecutter 16.7.20181.2
Debugging Tools for Windows 10.0.18346.1000
IntelliCode Extension 1.0
Microsoft Azure Tools 2.9
Microsoft JVM Debugger 1.0
Microsoft MI-Based Debugger 1.0
Microsoft Visual C++ Wizards 1.0
Microsoft Visual Studio VC Package 1.0
NuGet Package Manager 5.7.0
ProjectServicesPackage Extension 1.0
Python 16.7.20181.2
Python - Conda support 16.7.20181.2
Python - Django support 16.7.20181.2
Python - IronPython support 16.7.20181.2
Python - Profiling support 16.7.20181.2
Test Adapter for Boost.Test 1.0
Test Adapter for Google Test 1.0
Torizon Devices List 1.0
Torizon environment extension 1.0
Torizon images updater extension 1.0
TypeScript Tools 16.0.20702.2001
Visual Basic Tools 3.7.0-6.20375.2+34202cc2f3e869fd70a26d8237f4552cf9e192cf
Visual C++ for Linux Development 1.0.9.30329
Visual F# Tools 10.10.0.0 for F# 4.7 16.7.0
`
Visual Studio Code Debug Adapter Host Package 1.0
Visual Studio Tools for CMake 1.0
Windows Driver Kit 10.0.18346.1000
Actually I tried the 64b version first since it seemed to be the indicated one in 2 out of 3 cases. Then I tried the 32b case too and now back to the 64b case. I’ll try that
Wiped out all containers out of Docker and wiped out all directories holding VS projects. Recreated a HelloWorld project from scratch using the 64b case. VS detected Docker backend. Torizon Devices detected target board. Build exhibited the same errors.
SDK container hasn't been built yet, this may prevent intellisense and auto-completion from working. It will work after a rebuild of the application.
Error starting SDK container.
Error during pre-build activity.
Exception: System.MissingMethodException: Method not found: 'Void liblinux.PasswordConnectionInfo..ctor(System.String, Int32, Int32, System.String, System.Security.SecureString)'.
at TorizonVSExtension.CPPSolutionManager.SetConnectionInfo(VCProject vcprj, VCConfiguration vccfg, String appconfig, Platform plat, ApplicationSDKContainerAddress addr)
at TorizonVSExtension.CPPSolutionManager.<>c__DisplayClass43_0.<<BuildEvents_OnBuildProjConfigBegin>b__0>d.MoveNext() in C:\GitLab-Runner\builds\sAyebikf\0\rd\torizon-core\ide-plugins\vs-plugin\TorizonVSExtension\CPPProjects\CPPSolutionManager.cs:line 720
Message:Method not found: 'Void liblinux.PasswordConnectionInfo..ctor(System.String, Int32, Int32, System.String, System.Security.SecureString)'.
Stack trace:
at TorizonVSExtension.CPPSolutionManager.SetConnectionInfo(VCProject vcprj, VCConfiguration vccfg, String appconfig, Platform plat, ApplicationSDKContainerAddress addr)
at TorizonVSExtension.CPPSolutionManager.<>c__DisplayClass43_0.<<BuildEvents_OnBuildProjConfigBegin>b__0>d.MoveNext() in C:\GitLab-Runner\builds\sAyebikf\0\rd\torizon-core\ide-plugins\vs-plugin\TorizonVSExtension\CPPProjects\CPPSolutionManager.cs:line 720
I’m running VS Community 2019 Version 16.7.1. This updated on Saturday and that update was a necessary step to be able to run the VS Installer to add necessary capabilities.
Severity Code Description Project File Line Suppression State
Warning Current project architecture 'x64' is incompatible with the remote system architecture 'ARM64' ('ARM64'). Please switch the project architecture to 'ARM64' in Configuration Manager. If you are cross-compiling you can ignore this warning. HelloWorld C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\MSBuild\Microsoft\VC\v160\Application Type\Linux\1.0\Linux.targets 190
Error Could not find the specified C/C++ compiler 'aarch64-linux-gnu-g++'. Please make sure that a default C/C++ compiler is installed on the Linux system '-1391400120;192.168.1.137 (username=, port=22, authentication=Password)'. You can install a compiler using your system's package manager. If overriding the default compilers, please check that the compiler is installed in the specified path. HelloWorld C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\MSBuild\Microsoft\VC\v160\Application Type\Linux\1.0\Linux.targets 441
Error aarch64-linux-gnu-g++ exited with code 127, please see the Output Window - Build output for more details (NOTE: the build output verbosity might need to be changed in Tools Options to see more information in the Output Window). HelloWorld C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\MSBuild\Microsoft\VC\v160\Application Type\Linux\1.0\Linux.targets 441
This is all very unusual errors. I’m starting to think that perhaps running/installing as administrator (as per your other post) may be causing some of these issues. As we’ve never really tested the extension being run with admin privileges and therefore have no idea of what might occur because of this.
One thing you can do is turn on the debug Window for our extension. This can be done by going to Visual Studio and, Tools > Options > Torizon > Show backend console > True. Once that has been set and applied, restart Visual Studio and there should now be a command prompt window that shows all the API calls made by our extension.
Can you see which API call/request it fails on during this process?
If you think running admin is causing problems we can drop back to user mode (with exception of Docker) and work it from there…
I can see in Docker that the "arm64v8-debian-buster-********************-debug-sdk container is loaded and running
I have the Show Backend Console set to true and restarted VS but I did not get a console showing me the API calls or errors. Do I have to do something else to make it visible?
I think Visual Studio is always distributed as 32bit so no worries there. Anyways I am leaning on these issue being due to running as admin but I also want to confirm with the backend console before I ask you to basically redo everything.
Also the backend console isn’t coming up at all for you? Try closing Visual Studio then open up task manager and terminate the “moses.exe” process. Then try reopening Visual Studio and see if it comes up.
Never got a console open. It looks like .moses is putting log info in the admin’s path and not mine. ,mose’s log doesn’t have any date/timestamps so can’t be sure this is even current but:…
I found log in C:\Users\AvalexAdmin\AppData\Roaming\Torizon\TorizonVS.log. Lots of stuff in there but the piece that caught my attention was;
SDK - SDK image not found, building it.
Exception: Error reading SSH protocol banner
Traceback (most recent call last):
File "lib\site-packages\paramiko\transport.py", line 2211, in _check_banner
File "lib\site-packages\paramiko\packet.py", line 380, in readline
File "lib\site-packages\paramiko\packet.py", line 609, in _read_timeout
EOFError
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "lib\site-packages\paramiko\transport.py", line 2039, in run
File "lib\site-packages\paramiko\transport.py", line 2215, in _check_banner
paramiko.ssh_exception.SSHException: Error reading SSH protocol banner
Looks like for the console to take affect moses actually has to be stopped and restarted. Moses was running in the processes on my machine even though I had VS shutdown so the change in that switch never took affect. I killed moses and when I started VS again and it started moses I got the console. The output of the console for the session up through the build:
Serving on http://kubernetes.docker.internal:5000
INFO:root:REST -> /api/version/docker
INFO:root:REST <- /api/version/docker - 200
INFO:root:REST -> /api/version/docker
INFO:root:REST <- /api/version/docker - 200
INFO:root:REST -> /api/devices
INFO:root:REST <- /api/devices - 200
INFO:root:REST -> /api/version/docker
INFO:root:REST <- /api/version/docker - 200
INFO:root:REST -> /api/devices
INFO:root:REST <- /api/devices - 200
INFO:root:REST -> /api/devices/06506323
INFO:root:REST <- /api/devices/06506323 - 200
INFO:root:REST -> /api/devices/06506323/images
INFO:root:SSH - Creating tunnel to 06506323
INFO:root:SSH - Tunnel to 06506323 activated
INFO:root:REST <- /api/devices/06506323/images - 200
INFO:root:REST -> /api/devices/06506323/containers
INFO:root:REST <- /api/devices/06506323/containers - 200
INFO:root:REST -> /api/devices/06506323/processes
INFO:root:SSH - Connecting to device 06506323
INFO:root:SSH - Connected to device 06506323
INFO:root:REST <- /api/devices/06506323/processes - 200
INFO:root:REST -> /api/devices/06506323/storage
INFO:root:REST <- /api/devices/06506323/storage - 200
INFO:root:REST -> /api/devices/06506323/memory
INFO:root:REST <- /api/devices/06506323/memory - 200
INFO:root:REST -> /api/applications/load
INFO:root:REST <- /api/applications/load - 200
INFO:root:REST -> /api/platforms
INFO:root:REST <- /api/platforms - 200
INFO:root:REST -> /api/applications/6f4ed8c3-5888-4df1-b402-6bd5468ac8d7/sdk/run
2020-08-17 16:50:40,474| ERROR | Exception: Error reading SSH protocol banner
ERROR:paramiko.transport:Exception: Error reading SSH protocol banner
2020-08-17 16:50:40,475| ERROR | Traceback (most recent call last):
ERROR:paramiko.transport:Traceback (most recent call last):
2020-08-17 16:50:40,475| ERROR | File "lib\site-packages\paramiko\transport.py", line 2211, in _check_banner
ERROR:paramiko.transport: File "lib\site-packages\paramiko\transport.py", line 2211, in _check_banner
2020-08-17 16:50:40,476| ERROR | File "lib\site-packages\paramiko\packet.py", line 380, in readline
ERROR:paramiko.transport: File "lib\site-packages\paramiko\packet.py", line 380, in readline
2020-08-17 16:50:40,476| ERROR | File "lib\site-packages\paramiko\packet.py", line 609, in _read_timeout
ERROR:paramiko.transport: File "lib\site-packages\paramiko\packet.py", line 609, in _read_timeout
2020-08-17 16:50:40,476| ERROR | EOFError
ERROR:paramiko.transport:EOFError
2020-08-17 16:50:40,477| ERROR |
ERROR:paramiko.transport:
2020-08-17 16:50:40,477| ERROR | During handling of the above exception, another exception occurred:
ERROR:paramiko.transport:During handling of the above exception, another exception occurred:
2020-08-17 16:50:40,477| ERROR |
ERROR:paramiko.transport:
2020-08-17 16:50:40,477| ERROR | Traceback (most recent call last):
ERROR:paramiko.transport:Traceback (most recent call last):
2020-08-17 16:50:40,478| ERROR | File "lib\site-packages\paramiko\transport.py", line 2039, in run
ERROR:paramiko.transport: File "lib\site-packages\paramiko\transport.py", line 2039, in run
2020-08-17 16:50:40,478| ERROR | File "lib\site-packages\paramiko\transport.py", line 2215, in _check_banner
ERROR:paramiko.transport: File "lib\site-packages\paramiko\transport.py", line 2215, in _check_banner
2020-08-17 16:50:40,478| ERROR | paramiko.ssh_exception.SSHException: Error reading SSH protocol banner
ERROR:paramiko.transport:paramiko.ssh_exception.SSHException: Error reading SSH protocol banner
2020-08-17 16:50:40,479| ERROR |
ERROR:paramiko.transport:
INFO:root:REST <- /api/applications/6f4ed8c3-5888-4df1-b402-6bd5468ac8d7/sdk/run - 200
INFO:root:REST -> /api/applications/load
INFO:root:REST <- /api/applications/load - 200
INFO:root:REST -> /api/applications/6f4ed8c3-5888-4df1-b402-6bd5468ac8d7/updated
INFO:root:Image is up to date.
INFO:root:REST <- /api/applications/6f4ed8c3-5888-4df1-b402-6bd5468ac8d7/updated - 200
The SSH/paramiko errors appear on my setup too and are minor and can usually be ignored. By the way when you cleared all containers and images on your Windows machine did you re-download/update the base/SDK containers from Visual Studio again?
What did the backend console show when you actually hit build/deploy?
How do I know if all the containers from the “Torizon: Download/update base and sdk containers” actually successfully downloaded? Where do those get put? What containers would I see on Docker?