-
Notifications
You must be signed in to change notification settings - Fork 413
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
[regression] promotion of directory targets has trouble with directories starting in @ #10609
Comments
it's interesting because the bug does not trigger with just "mkdir node_modules/@x/y; touch node_module/@x/y/z.txt" |
Indeed, I wonder if my npm is doing some hardlinking on its own? Just in case |
Nothing weird on that side, |
Yes, I managed to repro with
To clarify, hardlinks are regular files; did you check the link count too? |
They have link count larger than 1, I see:
|
FTR, #9873 points to the same commit, but it's a bit different, it's when a symlink points to a dir. |
Indeed, symlinks were an obvious suspect, but I can't see any involved here (so far) |
one thing I haven't checked is if the issue happens when no directory starts with |
I have checked, if the |
I've tracked this to the part of b1c339b that avoids adding "empty" directories: dune/src/dune_targets/dune_targets.ml Lines 246 to 248 in 4f86203
I am trying to understand what is wrong here. |
…cases When the promoted directory has sub-directories with only other sub-directories inside, the map will miss that directory and it will not be properly re-created, failing at children creation time. I am not sure I fully follow the logic here (cc: @rleshchinskiy), for example, I did have trouble making a testcase fail without using `npm` to generate a large directory. Regression in b1c339b / ocaml#9407 Closes ocaml#10609 . Signed-off-by: Emilio Jesus Gallego Arias <[email protected]>
…cases When the promoted directory has sub-directories with only other sub-directories inside, the map will miss that directory and it will not be properly re-created, failing at children creation time. I am not sure I fully follow the logic here (cc: @rleshchinskiy). The current test case works for me (TM), if we revert the fix we get: ``` Error: Cannot promote files to "node_modules/node-cmake/node_modules/ansi-regex". Reason: opendir(node_modules/node-cmake/node_modules/ansi-regex): No such file or directory ``` Regression in b1c339b / ocaml#9407 Closes ocaml#10609 . Signed-off-by: Emilio Jesus Gallego Arias <[email protected]>
Dear dune devs,
updating to Dune 3.15, I've found the following problem with this simple rule (that used to work):
it seems in 3.15.3, dune chokes with:
File is correctly present in
_build
dir.Any package.json file that depends on a package starting with
@
seems to do the trick, for example:Bisect points to b1c339b , I've verified this to be the culprit cc @rleshchinskiy
The text was updated successfully, but these errors were encountered: