P4DTI issue job000017

TitleIf you add a field to the Perforce jobspec, then "p4 -G job -o jobname" fails
Statusclosed
Priorityessential
Assigned userGareth Rees
OrganizationPerforce
DescriptionWith the jobspec unchanged, "p4 -G job -o case_2" works as expected.
But change the jobspec to add a field, say "120 Tester word 32 default". Then "p4 -G job -o case_2" results in an error message from the Perforce client: "Error detected at line 32. Syntax error at ''."
AnalysisThe problem is present in both the NTX86/2000.1/16895 (the 2000.1 release client executable) and in NTX86/2000.1/17595 (the special release).
It is critical that this be fixed, otherwise the integration simply won't work when organizations change their jobspec. It is critical that this be fixed in time for the alpha, otherwise we won't be able to try out transitions.
Here's a session with Perforce illustrating the problem. First I demonstrate that p4 -G job is working as expected:

$ p4 -G job -o case_2 | python -c 'import marshal, sys; print marshal.load(sys.stdin)'
{'P4DTI-filespecs': '', 'P4DTI-status': 'ok', 'P4DTI-rid': 'case', 'P4DTI-issue-id': '2', 'Date': '2000/10/11 17:04:15', 'User': 'chris', 'Description': "When using the spell checker, it isn't changing the text in the document to the accepted correct spelling. It only seems to happen when manually spell checking a single word.\012Note added to description (GDR 2000-09-29 15:06) in TeamTrack\012..\012", 'code': 'stat', 'Job': 'case_2', 'P4DTI-user': 'P4DTI-case', 'Status': 'assigned'}
Second, I add a new field to the jobspec:
$ p4 jobspec -o | sed -e '17i\
> 120 Tester word 32 default' | p4 jobspec -i
Jobspec saved.

Third, I try "p4 -G job" again. This time it fails.

$ p4 -G job -o case_2 | python -c 'import marshal, sys; print marshal.load(sys.stdin)'
{'severity': 3, 'data': "Error detected at line 32.\012Syntax error at ''.\012", 'code': 'error', 'generic': 1}

But "p4 job -o" works as expected.

$ p4 job -o case_2
# A Perforce Job Specification.
#
# Job: The job name. 'new' generates a sequenced job number.
# Status: Either 'open', 'closed', or 'suspended'. Can be changed.
# User: The user who created the job. Can be changed.
# Date: The date this specification was last modified.
# Description: Comments about the job. Required.
Job:case_2
Status:assigned
User:chris
Date:2000/10/11 17:04:15
Description:
When using the spell checker, it isn't changing the text in the document to the accepted correct spelling. It only seems to happen when manually spell checking a single word.
Note added to description (GDR 2000-09-29 15:06) in TeamTrack
..
P4DTI-rid:case
P4DTI-issue-id:2
P4DTI-user:P4DTI-case
P4DTI-status:ok
P4DTI-filespecs:
Tester:

Here's the offending jobspec in its entirity:

$ p4 jobspec -o
# A Perforce Job Spec Specification.
#
# Updating this form can be dangerous!
# See 'p4 help jobspec' for proper directions.
Fields:
101 Job word 32 required
102 Status select 10 required
103 User word 32 required
104 Date date 20 always
105 Description text 0 required
110 P4DTI-rid word 32 required
111 P4DTI-issue-id word 0 required
112 P4DTI-user word 32 always
113 P4DTI-status select 32 required
114 P4DTI-filespecs text 0 default
120 Tester word 32 default
Comments:
# A Perforce Job Specification.
#
# Job: The job name. 'new' generates a sequenced job number.
# Status: Either 'open', 'closed', or 'suspended'. Can be changed.
# User: The user who created the job. Can be changed.
# Date: The date this specification was last modified.
# Description: Comments about the job. Required.
Values-Status:new/assigned/deferred/resolved/closed
Preset-Status:new
Preset-User:$user
Preset-Date:$now
Preset-Description:$blank
Preset-P4DTI-rid:None
Preset-P4DTI-issue-id:None
Preset-P4DTI-user:$user
Values-P4DTI-status:ok/conflicting
Preset-P4DTI-status:ok

Chris discusses the problem and describes a solution in [Seiwald 2000-10-17].
How foundmanual_test
Evidence[Seiwald 2000-10-17] "Re: Adding fields to jobspec causes 'p4 -G job -o jobname' to fail" (e-mail message); Christopher Seiwald; Perforce Software; 2000-10-17 06:24:52 GMT <http://info.ravenbrook.com/mail/2000/10/17/06-24-52/0.txt>.
Created byGareth Rees
Created on2000-10-13 18:01:10
Last modified byGareth Rees
Last modified on2010-10-06 21:20:30
History2000-10-13 GDR Created.
2000-11-07 GDR Added [Seiwald 2000-10-17] and related analysis. This needs to wait for the next server release and then we can check it.
2000-11-28 RB GDR tested Chris's fix. Closed.

Fixes

Change Effect Date User Description
5529 closed 2000-12-06 12:13:09 Richard Brooksby Changing the UG to reflect the "p4 submit -s" behaviour now that Perforce have fixed it.
Changing the AG to insist on a particular changelevel of the server that includes that fix, in case anyone has downloaded an earlier Perforce 2000.2 beta and thinks it will work.