facebookarchive / oculus-debugger-vscode

Oculus Debugger is a VSCode extension that is primarily meant for real-time debugging of Unreal Engine games for Oculus, but it also fully supports debugging both Oculus Applications (i.e. apk files) and Oculus Native C/C++ binaries. This repo is used to track extension bugs submitted from VSCode.
Other
6 stars 3 forks source link

Exception: Error: Can't download Oculus Runtime. Status 410 #3

Open richardassar opened 2 years ago

richardassar commented 2 years ago

The extension is attempting to download lldb and debugcito from the https://www.oculus.com/fb_lldb_vscode_runtime_download endpoint but it seems this since has been taken down rendering the extension broken.

Please reinstate this.

mnovakovic commented 2 years ago

@richardassar - thanks for letting us know! We are aware of this problem and it should have been already fixed. Can you please try to uninstall the extension/restart vscode/install the extension again and see if that will fix it? Perhaps you have the old extension version running. Also, what OS are you on?

Thanks!

richardassar commented 2 years ago

I'm on Linux.

I uninstalled and reinstalled the extension, and also tried the same after removing the extension from the .vscode/extensions/oculus.oculus-vscode-debugger-1.0.8 and also deleting .oculus_debugger_runtime folders. I also ran fb-lldb.cleanRuntimeAndLLDBCaches.

It's still giving me the Exception: Error: Can't download Oculus Runtime. Status 410 error.

Your package.json says the version is 1.0.8

If it helps the sha256sum of your dist/extension.js is e43e671cb149a8d59f0e8fbc59440094baae96e755eced46fb92d736c32ab03a please compare this with the file you think I should be running.

This file references https://intern.facebook.com/intern/fb_lldb_vscode_runtime_download and https://www.oculus.com/fb_lldb_vscode_runtime_download which seem to be passed some os/version arguments.

I have beautified extension.js and ran it in the vscode extension host, I ended up in _downloadWithProgress. This function attempts to load this file https://www.oculus.com/fb_lldb_vscode_runtime_download?version=2021.02.10&platform=linux&tool=lldb

This endpoint gives back a response status 302 (Found) and redirects me to:

https://scontent.fgla3-2.fna.fbcdn.net/v/t66.35933-6/10000000_804831190376804_4132136415917329560_n.tar.gz?_nc_cat=105&ccb=1-5&_nc_sid=a1a62e&_nc_ohc=CBCyDB01pswAX9mZTd6&_nc_ht=scontent.fgla3-2.fna&oh=d9e639f3c3f0b9696f73628702f0aed5&oe=617CE3D6

This gives a response with status 410 (as I stated in the issue title) with a response body of "Gone".

I think this might be the problem.

mnovakovic commented 2 years ago

@richardassar ah the issue is that we don't support Linux and what you see is just a bad error message as we at some point tried to support it but never really added an appropriate message that we don't any longer. Mac/Windows should work though, although it's not really a very helpful answer.

Can't promise we will support Linux anytime soon also, as most of the users are on Windows/Mac

richardassar commented 2 years ago

I'm already able to attach a debugger via ndk-gdb (which uses lldb or optionally gdb) and it seems there's very little work required to bridge this to vscode via the Debug Adapter Protocol.

Perhaps you can open source your fork of lldb, if there's anything significant there that might be of use. I doubt there's much sensitive intellectual property worth guarding there and it would be of benefit to the developer community.

As a side note though I must say that it's quite disappointing that this attitude still persists and perpetuates, when so many benefit from the Linux ecosystem either directly or indirectly.

Having owned Oculus devices since the DK2 days I can say it's very disappointing to see the way things have gone.

Stating that "most of the users are on Windows/Mac" is a very chicken vs egg perspective, since with better Linux support I think the balance would shift to more accurately represent people's preferences.

Anyway, for now I can just use ndk-gdb from the terminal, or make use of Android Studio. I would prefer to use vscode however, so if there's anything you can do it would be greatly appreciated.

If not then I'll work on something myself and make it open source and available to the community, as you should also do with this extension.

"Facebook invests in the Linux Ecosystem."