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

project.py: request users to stop IDEs before running west init #703

Merged
merged 1 commit into from
Jan 24, 2024

Conversation

marc-hb
Copy link
Collaborator

@marc-hb marc-hb commented Jan 18, 2024

There have been many users reports in #558 that west init fails on the Windows NTFS filesystem when some IDEs are running concurrently.

There is no simple and reliable fix for this because:

  • The lack of concurrency is a core limitation in the NTFS design that will not change anytime soon,
  • IDEs have no reliable way to know when they should pause scanning the filesystem.
  • Placing temporary files outside the workspace would invite other, complex and nasty issues with cross-filesystem moves (west init completes but leaves everything in zephyr/manifest-tmp #558)

Short of a fix, explain why this happens very briefly in west init -h and request users to temporarily close their IDEs. It's the only simple and universal mitigation available.

Mention the issue number in case someone needs more details, some evidence or smarter workarounds specific to certain IDEs.

There have been many users reports in zephyrproject-rtos#558 that `west init` fails on the
Windows NTFS filesystem when some IDEs are running concurrently.

There is no simple and reliable fix for this because:

- The lack of concurrency is a core limitation in the NTFS design that
  will not change anytime soon,
- IDEs have no reliable way to know when they should pause scanning the
  filesystem.
- Placing temporary files outside the workspace would invite other, complex
  and nasty issues with cross-filesystem moves (zephyrproject-rtos#558)

Short of a fix, explain why this happens very briefly in `west init -h`
and request users to temporarily close their IDEs. It's the only simple
and universal mitigation available.

Mention the issue number in case someone needs more details, some
evidence or smarter workarounds specific to certain IDEs.

Signed-off-by: Marc Herbert <marc.herbert@intel.com>
@marc-hb marc-hb marked this pull request as ready for review January 18, 2024 22:25
@thewh1teagle
Copy link

The whole installation process is very inconvenient.
I don't know why you moved from MSYS2 which makes things much more simple.

@marc-hb
Copy link
Collaborator Author

marc-hb commented Jan 18, 2024

I don't remember west ever using MSYS2. You're probably confusing west with Zephyr.

BTW this particular NTFS design issue is not specific to west, it has been reproduced without west in #558.

@marc-hb
Copy link
Collaborator Author

marc-hb commented Jan 18, 2024

This is really off-topic but I heard that https://docs.platformio.org/en/latest/frameworks/zephyr.html is much more user-friendly than plain Zephyr. I never tried it myself.

Copy link

@trond-snekvik trond-snekvik left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Bit of a drive-by review, but LGTM.

For VS Code, I believe temporarily disabling the git.autoRefresh setting would be enough, actually, but it has a pretty extensive file watching system, so you never know.

Comment on lines +162 to +163
filesystem. Find other, similar "Access is denied" examples in west
issue #558.

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
filesystem. Find other, similar "Access is denied" examples in west
issue #558.
filesystem. Find other, similar "Access is denied" examples in
https://github.com/zephyrproject-rtos/west/issues/558.

Most terminals make links clickable these days, so this is worth spelling out, IMO

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I considered this but I tried to minimize the length as much as possible. In fact I was a bit reluctant to add this at all because a help text should be really concise and not turn into a changelog or bug list. However this particular bug seems frequent, fatal and totally unfixable.

@mbolivar-ampere mbolivar-ampere merged commit aeca29a into zephyrproject-rtos:main Jan 24, 2024
9 checks passed
@marc-hb marc-hb deleted the single-user-ntfs branch January 24, 2024 20:28
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

Successfully merging this pull request may close these issues.

4 participants