# The form data below was edited by perforce # 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: job000432 Status: open Project: perforce-software-p4api-net Severity: A ReportedBy: marcin_poreba ReportedDate: 2016/01/08 06:43:34 ModifiedBy: perforce ModifiedDate: 2019/02/19 10:51:28 OwnedBy: marcin_poreba Description: "pServer is null" Error Random API operations fail returning 'pServer is null' error message intermittently . Our .NET service/application uses Perforce quite heavily and the errors seem to appear more often when the workload is high. We found that restarting our .NET service often prevents ‘pServer is null’ errors to appear or at least minimize their frequency. There are random API methods failing on occasion returning this message, the example would be: Perforce.P4.Connection.Client.SyncFiles(flags, file); The API code returning the error is present in the P4Server.cs file https://swarm.workshop.perforce.com/files/guest/perforce_software/p4api.net/p4api.net/P4Server.cs private void RunCommandThreadProc(object param) { RunCommandThreadParam CmdParams = param as RunCommandThreadParam; if (CmdParams == null) { Debug.Trace(string.Format("RunCommandThreadProc CmdParams is null param != null:{0}", param != null)); return; } try { Debug.Trace(string.Format("Entering RunCommandThreadProc, cmdId = {0}",CmdParams.cmdId)); CmdParams.RunCmdException = null; if (pServer == IntPtr.Zero) { Debug.Trace("RunCommandThreadProc pServer is null"); CmdParams.Results = false; CmdParams.RunCmdException = new P4Exception(ErrorSeverity.E_FATAL, "pServer is null"); return; } ... DevNotes: Type: Bug