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

Windows UNC Path Handling #14387

Closed
AlanGitMan opened this issue Nov 2, 2024 · 6 comments
Closed

Windows UNC Path Handling #14387

AlanGitMan opened this issue Nov 2, 2024 · 6 comments

Comments

@AlanGitMan
Copy link

The version of Eclipse-theia included in Arduino IDE V2.3.3 is - according to Arduino support - causing a highly reproducible issue with the use of UNC filenames when a Windows client and a Windows fileshare server are in use. I believe this is a known problem of quite long standing - please take this as a request to expedite a fix. .

Bug Description:

My config: Windows 10 22H2 Build 19045.5011 16GB RAM 3.2GHz Intel processor.
When Arduino IDE user opens an existing project which resides on a UNC network share like:
\\windowserv\arduino\projects\myproject\myproject.ino

no error message is shown but the user only gets an empty template project. If the IDE is closed and restarted, then the project is correctly loaded. This affects any Arduino user who is using Windows to Windows file sharing using UNC. Arduino support says this is due to an issue with UNC filename handling in the Eclipse library.

Steps to Reproduce:

  1. In Arduino V2.3.3 click on file->Open
  2. Enter a UNC path like \\windowserv\arduino\projects\myproject\myproject.ino
  3. Click "Open" button.
  4. No error message occurs, but the user just gets a default empty project with just template "setup" and "loop" functions.
  5. Close the Arduino IDE.
  6. Open it up again - your project is NOW opened correctly.
  7. The same thing happens if you click File-->preferences and set your default sketchbook location to a UNC share and open a project.
  8. If you map the Arduino share to a local drive name (essentially mount the share as a drive letter) - for example map the share as drive "q:"
    then open
    q:\projects\myproject\myproject.ino"
    then it all works as it should. This is not an ideal workaround for reasons given below.

Additional Information

This potentially affects any users of Arduino IDE on Windows (which is reckoned to be 70% of users) though in reality it is those using Arduino IDE in shared environments (home networks, schools, colleges, universities) who will be affected. As shown above, the mapped drives workaround is available, but that workaround comes with its own set of issues which arise from thread blocking in the client Windows system when network or hardware problems can occur - even if the shared drive is not actually in use. So the workaround is less than ideal.

  • Operating System: Windows 10 (probably 11 as well)
  • Theia Version: Whatever version is built into Arduino V2.3.3
@msujew
Copy link
Member

msujew commented Nov 2, 2024

It is indeed a known problem, as it is a duplicate of #11997. Please continue the discussion in there.

Since the issue seems to be extra relevant to users of the Arduino IDE, I would advise the contributors of Arduino to work on this themselves. I've added the help wanted label quite a while ago to the issue.

@msujew msujew closed this as not planned Won't fix, can't repro, duplicate, stale Nov 2, 2024
@AlanGitMan
Copy link
Author

Well, they say they are waiting for you guys. So I am piggy in the middle here!

@msujew
Copy link
Member

msujew commented Nov 2, 2024

I've listed the issue in our support epic #13192. However, I find it a bit unexpected that a company (with people that have a history of contributing to Theia), just waits on us (maintainers of a free open source project) do to their work/bidding without any incentive. Not faulting you @AlanGitMan, but we just don't have enough time/resources to address everything in this repo without outside help.

@AlanGitMan
Copy link
Author

AlanGitMan commented Nov 2, 2024 via email

@per1234
Copy link
Contributor

per1234 commented Nov 2, 2024

they say they are waiting for you guys

This is false @AlanGitMan . We never said that we are waiting for the Theia "guys".

What was said is that the fix must be made in Theia. As I explained on your Arduino Forum topic Theia is an open source project that everyone is welcome to contribute to. So, as @msujew pointed out, Arduino is welcome to contribute the fix for the bug as our priorities and resources allow. Just the same, @AlanGitMan is welcome to contribute that fix. But what you did instead was waste the time of the Theia maintainers by submitting a duplicate issue that stirred up drama.

@AlanGitMan
Copy link
Author

AlanGitMan commented Nov 3, 2024

It was not my intention to foment drama.

they say they are waiting for you guys

This is false @AlanGitMan . We never said that we are waiting for the Theia "guys".

What was said is that the fix must be made in Theia.

Surely, you are not contending that, having identified that "the fix must be made in Theia", that you didn't let them know this? It's a fair assumption that Arduino's efforts toward fixing this problem are therefore dependent on Theia which is what my statement effectively said - perhaps too emotively. As you see above, the Theia view is that they posted a "help wanted" on this - which I (perhaps falsely) assumed meant they needed help from Arduino. Yes, I should eschew assumption!

I get that in the Open Source world everyone is doing stuff around a full time job or occupation and honestly I am grateful for all that you folks do. I am not sure if my skillset is suitable for helping fix this issue - but anything I can do within my capabilities I am ready and waiting to do.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants