incremental patch fails [server-side checkout, Perforce ticket-based authentication]
Hi,
my builds are failing when
- building incremental patches, AND
- using Perforce ticket-based authentication, AND
- using server-side checkout, AND
The failure is as follows:
[12:55:12]: Clearing temporary directory: C:\BuildAgent\temp\buildTmp
[12:55:12]: Checkout directory: C:\BuildAgent\work\11552abc395c902f
[12:55:12]: Updating sources: server side checkout...
[12:55:13]: [Updating sources: server side checkout...] Will perform clean checkout. Reason: Checkout directory is empty or doesn't exist
[12:55:13]: [Updating sources: server side checkout...] Transferring cached clean patch for VCS root: QARel
[12:55:13]: [Updating sources: server side checkout...] Building incremental patch over the cached patch
[12:55:13]: [Updating sources: server side checkout...] Failed to build patch for build #312 {build id=43117}, VCS root: perforce: qaperforce:1666 {instance id=1857, parent id=70}, due to error: Login failed: password is incorrect
[12:55:12]: [Updating sources: server side checkout...] Repository sources transferred: 1.49Mb total
[12:55:12]: Will repeat attempt when server will be available, number of attempts left: 2
...
[12:55:33]: Patch is broken, can be found in file: C:\BuildAgent\temp\cache\temp8976865838764162926patch_43117
[12:55:33]: Failed to build patch for build #312 {build id=43117}, VCS root: perforce: qaperforce:1666 {instance id=1857, parent id=70}, due to error: Login failed: password is incorrect
jetbrains.buildServer.agent.impl.patch.PatchDownloaderImpl$1: Server was not able to build correct patch, most likely due to VCS errors, will try again.
at jetbrains.buildServer.agent.impl.patch.PatchDownloaderImpl.throwError(PatchDownloaderImpl.java:113)
at jetbrains.buildServer.agent.impl.patch.PatchDownloaderImpl.checkPatch(PatchDownloaderImpl.java:103)
at jetbrains.buildServer.agent.impl.patch.PatchDownloaderImpl.copyPatchAndCheck(PatchDownloaderImpl.java:64)
1. This only happens for incremental patches.
If I delete the cached patch on the server (.buildServer/system/caches/sources/*.cache), thus forcing a "clean patch", it works:
It also works if the last run was successful and I rerun with no pending code changes. This is probably because no incremental patch is necessary:
2. This only happens with ticket-based authentication
When I change the VCS settings to use username+password, it works. (For some reason, switching from ticket-based authentication to user+pass seems to lead to building a clean patch.)
3. This only happens with server-side checkout
I have not checked this point thoroughly, but I'm using server-side checkout, and the problem does not occur in other projects which use client-side.
Please advise.
Thanks,
Sam
TeamCity Enterprise Version 6.5.4 (build 18046)
Please sign in to leave a comment.
Hello Sam,
I'd appreciate if you collect VCS debug logs on the TeamCity server side when you see the problem and send them to us (using teamcity-feedback email address).
Or you may create an issue in our issue tracker, and attach logs there.
A possible workaround for the problem is not to use ticket-based authentication.
Thanks!
KIR
Hi Kirill,
Thanks. I have entered an issue and will add the logs shortly.
Sam