SDP-447 #4

  • //
  • spec/
  • job/
  • SDP-447
  • View
  • Commits
  • Open Download .zip Download (4 KB)
# The form data below was edited by tom_tyler
# Perforce Workshop Jobs
#
#  Job:           The job name. 'new' generates a sequenced job number.
#
#  Status:        Job status; required field.  There is no enforced or
#                 promoted workflow for transition of jobs from one
#                 status to another, just a set of job status values
#                 for users to apply as they see fit.  Possible values:
#
#                 open - Issue is available to be worked on.
#
#                 inprogress - Active development is in progress.
#
#                 blocked - Issue cannot be implemented for some reason.
#
#                 fixed - Fixed, optional status to use before closed.
#                 
#                 closed - Issue has been dealt with definitively.
#
#                 punted - Decision made not to address the issue,
#                    possibly not ever.
#
#                 suspended - Decision made not to address the issue
#                    in the immediate future, but noting that it may
#                    have some merit and may be revisited later.
#
#                 duplicate - Duplicate of another issue that.
#
#                 obsolete - The need behind the request has become
#                    overcome by events.
#
#  Project:       The project this job is for. Required.
#
#  Severity:      [A/B/C] (A is highest)  Required.
#
#  ReportedBy     The user who created the job. Can be changed.
#
#  ReportedDate:  The date the job was created.  Automatic.
#
#  ModifiedBy:    The user who last modified this job. Automatic.
#
#  ModifiedDate:  The date this job was last modified. Automatic.
#
#  OwnedBy:       The owner, responsible for doing the job. Optional.
#
#  Description:   Description of the job.  Required.
#
#  DevNotes:      Developer's comments.  Optional.  Can be used to
#                 explain a status, e.g. for blocked, punted,
#                 obsolete or duplicate jobs.  May also provide
#                 additional information such as the earliest release
#                 in which a bug is known to exist.
#
# Component:      Projects may use this optional field to indicate
#                 which component of the project a givenjob is associated
#                 with.
#
#                 For the SDP, the list of components is defined in:
#                 //guest/perforce_software/sdp/tools/components.txt
#
#  Type:          Type of job [Bug/Feature].  Required.
#
#  Release:       Release in which job is intended to be fixed.

Job:	SDP-447

Status:	open

Project:	perforce-software-sdp

Severity:	C

ReportedBy:	brian_hair

ReportedDate:	2020/01/21 12:25:08

ModifiedBy:	tom_tyler

ModifiedDate:	2020/01/21 13:08:21

OwnedBy:	tom_tyler

Description:
	p4verify.ps1 gets P4PASSWD error only when verifying shelved files.
	
	Sample p4verify.log output:
	2020/01/16 04:12:10 FGS has type stream
	2020/01/16 04:12:10 c:\p4\1\bin\p4.exe -p 1667 -s -u p4admin verify -qz //FGS/... >> c:\p4\1\logs\p4verify.log 2>&1
	exit: 0
	2020/01/16 04:28:34 c:\p4\1\bin\p4.exe -p 1667 -s -u p4admin verify -qS //FGS/... >> c:\p4\1\logs\p4verify.log 2>&1
	error: Perforce password (P4PASSWD) invalid or unset.
	exit: 1
	
	Note how the first 'p4 verify' command succeeds, but the second fails with a P4PASSWD error, like it's somehow losing the ticket.
	
	As reported by the customer, sometimes it does not fail, other times it does; the behavior is NOT consistent. However, what does seem to be consistent is that it only fails on the second command called by the script (the '-qS' pass verifying shelves rather than submitted files), not the first pass doing '-qz'.
	
	The 'shelved' files thing may be a red herring, as a P4PASSWD indicates a ticket authentication error before we know we're dealing with shelved files. But it could be that it's the subsequent call from the same script that is somehow not seeing the P4TICKETS setting?
	
	This line in p4verify.ps1 seems likely to be involved:
	
	$cmd = "$global:P4exe -p $global:P4PORT -s -u $global:SDP_P4SUPERUSER verify -qS $replica_args //$dname/... >> $global:LogFile 2>&1"
	
	The value of $replica_args is either "" or "-t".

Component:	core-win

Type:	Bug
# Change User Description Committed
#4 default
#3 default
#2 default
#1 default