-
Notifications
You must be signed in to change notification settings - Fork 520
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
Intermittent Paket.Restore.props error in 5.181.1 - Index was outside the bounds of the array #3404
Comments
On further investigation this appears to be caused by having paket files from 5.173.1 lying around when running the 5.181.1 restore process. If I scorch the project ( |
It seems to be reliably trigger-able by a dirty workspace. In my case, e.g.
I assume that either:
|
Aha! Yes, and running |
Can someone can send a pr to the targets file with proper error handling
around that?
Am Mo., 5. Nov. 2018, 22:27 hat Jonathan Leaver <[email protected]>
geschrieben:
… It seems to be reliably trigger-able by a dirty workspace.
In my case, Project\obj\Project.csproj.netstandard2.0.paket.resolved,
Project\obj\Project.csproj.net46.paket.resolved and similar are CSV files
with only 5 columns, not 6.
Aha! Yes, and running git -xdf from the root of my project and running
through it again works. I made the mistake of copying the repo from my
windows VM and then trying to build in Visual Studio for mac.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
<#3404 (comment)>,
or mute the thread
<https://github.com/notifications/unsubscribe-auth/AADgNE2VkanF9VzMKHynFUzD9F1gqUAgks5usK0-gaJpZM4YBMwo>
.
|
I think I can make a get-or-default fairly easily, but should the default be true, false, or some other behaviour entirely? |
maybe just make it a nicer error message? |
“Aaaaaaaah please delete all your obj/ folders and try again”? 🙃 |
Well maybe go with a default of false then 😂
Am Di., 6. Nov. 2018, 11:57 hat Yaakov <[email protected]>
geschrieben:
… “Aaaaaaaah please delete all your obj/ folders and try again”? 🙃
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
<#3404 (comment)>,
or mute the thread
<https://github.com/notifications/unsubscribe-auth/AADgNP0IxBObiteW9rKABdggyEwL6Pcrks5usWr_gaJpZM4YBMwo>
.
|
The paket target file need to add msbuild condition, to check array length after split
because was trying to load a csv with fewer columns, generated by previous paket version |
I can't quite make sense of 373c969: A new column was inserted as the second-last column in the file. This doesn't leave me with a simple answer to default value. Can we perhaps force packet.exe to regenerate this intermediary file if the column count is off? |
Ok then just give the error with info about cleaning /obj. Sorry
Am Mi., 7. Nov. 2018, 01:40 hat Yaakov <[email protected]>
geschrieben:
… I can't quite make sense of 373c969
<373c969>
:
A new column was inserted as the second-last column in the file.
The new column is AllPrivateAssets.
The old column was AllPrivateAssets and is now CopyLocal.
This doesn't leave me with a simple answer to default value.
Can we perhaps force packet.exe to regenerate this intermediary file if
the column count is off?
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
<#3404 (comment)>,
or mute the thread
<https://github.com/notifications/unsubscribe-auth/AADgNH5qnDU-Wvxyc2Q-XJtCxLf83Q9eks5usiv5gaJpZM4YBMwo>
.
|
I'd rather have Paket self-recover than stall and require the user to take action. Particularly because I'd have to manually clean up a lot of obj folders. Another possible fix: If there are 5 columns, use old behaviour in props. Would you be OK with a bit of back-compat in the props file? |
Git clean -xdf and run build again. It does not matter how many obj you
have.
The problem with the fallback is that it's doing wrong behavior if you
already use the properties.
I think I'd rather see it come up with a better error message.
Am Mi., 7. Nov. 2018, 07:42 hat Yaakov <[email protected]>
geschrieben:
… I'd rather have Paket self-recover than stall and require the user to take
action. Particularly because I'd have to manually clean up a *lot* of obj
folders.
Another possible fix:
If there are 5 columns, use old behaviour in props.
If there are 6 columns, use new behaviour in props.
Would you be OK with a bit of back-compat in the props file?
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
<#3404 (comment)>,
or mute the thread
<https://github.com/notifications/unsubscribe-auth/AADgNOg8qB2bvJ1eAMoMlrcCSMdoIqVPks5usoDPgaJpZM4YBMwo>
.
|
Try about 80 different TFVC repositories times 40 build servers, and I'd have to clean all serversat the time where paket is upgraded, in each repository. If I clean too early, the old paket will write the old files back out again. (No, the build servers don't auto-clean between builds yet 😢) |
Ok but these issues are unrelated to paket. They will always bite you with
all the others tools as well.
I mean I can certainly feel your pain, but I don't see a good solution here
that won't make things potentially worse.
Am Mi., 7. Nov. 2018, 08:00 hat Yaakov <[email protected]>
geschrieben:
… Git clean -xdf and run build again. It does not matter how many obj you
have.
Try about 80 different TFVC repositories times 40 build servers, and I'd
have to clean all serversat the time where paket is upgraded, in each
repository. If I clean too early, the old paket will write the old files
back out again.
(No, the build servers don't auto-clean between builds yet 😢)
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
<#3404 (comment)>,
or mute the thread
<https://github.com/notifications/unsubscribe-auth/AADgNIogSI-kt9T0tgGatGxQf1s5ZqnOks5usoTygaJpZM4YBMwo>
.
|
Possibly, but at the same time, I've never seen a similar tool that requires major intervention on a minor version upgrade. It should be able to either deal with it, or self-heal. |
That is actually a good point. I fucked up here. Let me try to fix it
myself.
Am Mi., 7. Nov. 2018, 08:11 hat Yaakov <[email protected]>
geschrieben:
… Possibly, but at the same time, I've never seen a similar tool that
requires major intervention on a minor version upgrade. It should be able
to either deal with it, or self-heal.
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
<#3404 (comment)>,
or mute the thread
<https://github.com/notifications/unsubscribe-auth/AADgNBuKOyLebmToiFFZfUzy5SnQ_YYUks5usoe4gaJpZM4YBMwo>
.
|
can you please retry with latest - it also comes with slightly changed targets file |
I retried with 5.186.0, but now Paket doesn't include my dependencies from If I scorch/clean the repository and rebuild, it works, suggesting that some leftover data from the old version is still being (mis-)used. |
I'm not sure this is solved. I'm seeing something similar in the fake release process. I'd expect that the following scenario works:
As the following build shows this scenario is not working:
I feel like we need to be much more careful when updating caching files as this scenario is kind of important for fake to work properly together with paket. |
Description
After upgrading Paket to 5.181.1 from 5.173.1 I get an intermittent build error in Paket.Restore.props.
Repro steps
.paket\paket.exe restore
dotnet.exe restore MyProject.csproj --no-dependencies
Expected behavior
Packages are restored
Actual behavior
Known workarounds
Delete all un-source-controlled files and rebuild.
The text was updated successfully, but these errors were encountered: