Chuck,

you are right. I found CPF2801 in the job log of job
444060/QUSER/QZRCSRVS:

Client request - run program QSYS/QWCRTVCA.
Client request - run program QSYS/QWCLOBJL.
Client request - run program QSYS/QUSRMBRD.
Client request - run program QSYS/QUSRTVUS.
Client request - run program QSYS/QWCRTVCA.
Client request - run command CPYSRCF.
From-file EVFEVENT in KS01TS0O not allowed.
Copy command ended because of error.
Client request - run program QSYS/QWCRTVCA.
Client request - run program QSYS/QUSRJOBI.
Client request - run program QSYS/QWCRTVCA.

Seems the source "data" (SRCDTA column data) is identical, but the
apparent record format used for the data is different. As one physical
file with one RcdFmt, the implication seems to be that the SRCSEQ and
SRCDAT columns have been overwritten with data from SRCDTA.

The rcord format is the same, because it is the same EVFEVENT file object.
After having compiled a bunch of modules KS01TS0O/EVFEVENT contains the
following members:

KS001
KS002
KS004
KS005
KS020
KS030
KS040
KS050
RSE7392242

For that reason I do not think that dmpsysobj is necessary.

Member RSE7392242 contains the record with SRCSEQ and SRCDTE:

*...+....1....+....2....+....3....+....4....+....5....+....6....+....7
000000140115TIMESTAMP 0 20140115210323
000000140115PROCESSOR 0 000 1

Whereas member KS020 contains:

*...+....1....+....2....+....3....+....4....+....5....+....6....+....7
TIMESTAMP 0 20140115210323
PROCESSOR 0 000 1

To no ones suprise I can reproduce the error with:

cpysrcpf ks01ts0o/evfevent ks01ts0o/evfevent
frommbr(RSE7392242) tombr(KS020)
mbropt(*replace)

The journal shows the following file operations:

....+....1....+....2....+....3....+....4....+....5....+....6....+....7....+....8....+....9
CODE TYPE JOB USER JOB PROGRAM OBJECT LIBRARY
MEMBER
NAME NAME NUMBER NAME NAME NAME
NAME
F JM QZRCSRVS QUSER 444.059 STRPREPRC EVFEVENT
KS01TS0O KS001
F MC QZRCSRVS QUSER 444.059 STRPREPRC EVFEVENT
KS01TS0O KS001
F CR QZRCSRVS QUSER 444.059 STRPREPRC EVFEVENT
KS01TS0O KS001
F OP QZRCSRVS QUSER 444.059 STRPREPRC EVFEVENT
KS01TS0O KS001
F CL QZRCSRVS QUSER 444.059 STRPREPRC EVFEVENT
KS01TS0O KS001
F JM QZRCSRVS QUSER 444.059 STRPREPRC EVFEVENT
KS01TS0O KS002
F MC QZRCSRVS QUSER 444.059 STRPREPRC EVFEVENT
KS01TS0O KS002
F CR QZRCSRVS QUSER 444.059 STRPREPRC EVFEVENT
KS01TS0O KS002
F OP QZRCSRVS QUSER 444.059 STRPREPRC EVFEVENT
KS01TS0O KS002
F CL QZRCSRVS QUSER 444.059 STRPREPRC EVFEVENT
KS01TS0O KS002
F JM QZRCSRVS QUSER 444.059 STRPREPRC EVFEVENT
KS01TS0O KS004
F MC QZRCSRVS QUSER 444.059 STRPREPRC EVFEVENT
KS01TS0O KS004
F CR QZRCSRVS QUSER 444.059 STRPREPRC EVFEVENT
KS01TS0O KS004
F OP QZRCSRVS QUSER 444.059 STRPREPRC EVFEVENT
KS01TS0O KS004
F CL QZRCSRVS QUSER 444.059 STRPREPRC EVFEVENT
KS01TS0O KS004
F JM QZRCSRVS QUSER 444.059 STRPREPRC EVFEVENT
KS01TS0O KS005
F MC QZRCSRVS QUSER 444.059 STRPREPRC EVFEVENT
KS01TS0O KS005
F CR QZRCSRVS QUSER 444.059 STRPREPRC EVFEVENT
KS01TS0O KS005
F OP QZRCSRVS QUSER 444.059 STRPREPRC EVFEVENT
KS01TS0O KS005
F CL QZRCSRVS QUSER 444.059 STRPREPRC EVFEVENT
KS01TS0O KS005
F JM QZRCSRVS QUSER 444.059 STRPREPRC EVFEVENT
KS01TS0O KS020
F MC QZRCSRVS QUSER 444.059 STRPREPRC EVFEVENT
KS01TS0O KS020
F CR QZRCSRVS QUSER 444.059 STRPREPRC EVFEVENT
KS01TS0O KS020
F OP QZRCSRVS QUSER 444.059 STRPREPRC EVFEVENT
KS01TS0O KS020
F CL QZRCSRVS QUSER 444.059 STRPREPRC EVFEVENT
KS01TS0O KS020
F JM QZRCSRVS QUSER 444.059 STRPREPRC EVFEVENT
KS01TS0O KS030
F MC QZRCSRVS QUSER 444.059 STRPREPRC EVFEVENT
KS01TS0O KS030
F CR QZRCSRVS QUSER 444.059 STRPREPRC EVFEVENT
KS01TS0O KS030
F OP QZRCSRVS QUSER 444.059 STRPREPRC EVFEVENT
KS01TS0O KS030
F CL QZRCSRVS QUSER 444.059 STRPREPRC EVFEVENT
KS01TS0O KS030
F JM QZRCSRVS QUSER 444.059 STRPREPRC EVFEVENT
KS01TS0O KS040
F MC QZRCSRVS QUSER 444.059 STRPREPRC EVFEVENT
KS01TS0O KS040
F CR QZRCSRVS QUSER 444.059 STRPREPRC EVFEVENT
KS01TS0O KS040
F OP QZRCSRVS QUSER 444.059 STRPREPRC EVFEVENT
KS01TS0O KS040
F CL QZRCSRVS QUSER 444.059 STRPREPRC EVFEVENT
KS01TS0O KS040
F JM QZRCSRVS QUSER 444.059 STRPREPRC EVFEVENT
KS01TS0O KS050
F MC QZRCSRVS QUSER 444.059 STRPREPRC EVFEVENT
KS01TS0O KS050
F CR QZRCSRVS QUSER 444.059 STRPREPRC EVFEVENT
KS01TS0O KS050
F OP QZRCSRVS QUSER 444.059 STRPREPRC EVFEVENT
KS01TS0O KS050
F CL QZRCSRVS QUSER 444.059 STRPREPRC EVFEVENT
KS01TS0O KS050
F OP QRWTSRVR QUSER 415.952 QRWTSRVR EVFEVENT
KS01TS0O KS001
F CL QRWTSRVR QUSER 415.952 QRWTSRVR EVFEVENT
KS01TS0O KS001
F OP QRWTSRVR QUSER 415.952 QRWTSRVR EVFEVENT
KS01TS0O KS002
F CL QRWTSRVR QUSER 415.952 QRWTSRVR EVFEVENT
KS01TS0O KS002
F OP QRWTSRVR QUSER 415.952 QRWTSRVR EVFEVENT
KS01TS0O KS004
F CL QRWTSRVR QUSER 415.952 QRWTSRVR EVFEVENT
KS01TS0O KS004
F OP QRWTSRVR QUSER 415.952 QRWTSRVR EVFEVENT
KS01TS0O KS005
F CL QRWTSRVR QUSER 415.952 QRWTSRVR EVFEVENT
KS01TS0O KS005
F OP QRWTSRVR QUSER 415.952 QRWTSRVR EVFEVENT
KS01TS0O KS020
F CL QRWTSRVR QUSER 415.952 QRWTSRVR EVFEVENT
KS01TS0O KS020
F JM QZRCSRVS QUSER 444.060 QZRCSRVS EVFEVENT
KS01TS0O RSE7392242
F MC QZRCSRVS QUSER 444.060 QZRCSRVS EVFEVENT
KS01TS0O RSE7392242
F OP QRWTSRVR QUSER 415.952 QRWTSRVR EVFEVENT
KS01TS0O KS030
F CR QZRCSRVS QUSER 444.060 QZRCSRVS EVFEVENT
KS01TS0O RSE7392242
F CL QRWTSRVR QUSER 415.952 QRWTSRVR EVFEVENT
KS01TS0O KS030
F OP QRWTSRVR QUSER 415.952 QRWTSRVR EVFEVENT
KS01TS0O RSE7392242
F CL QRWTSRVR QUSER 415.952 QRWTSRVR EVFEVENT
KS01TS0O RSE7392242
F OP QRWTSRVR QUSER 415.952 QRWTSRVR EVFEVENT
KS01TS0O KS020
F OP QRWTSRVR QUSER 415.952 QRWTSRVR EVFEVENT
KS01TS0O KS040
F CL QRWTSRVR QUSER 415.952 QRWTSRVR EVFEVENT
KS01TS0O KS040
F CL QRWTSRVR QUSER 415.952 QRWTSRVR EVFEVENT
KS01TS0O KS020
F OP QRWTSRVR QUSER 415.952 QRWTSRVR EVFEVENT
KS01TS0O KS050
F CL QRWTSRVR QUSER 415.952 QRWTSRVR EVFEVENT
KS01TS0O KS050
******** End of data ********

Interesting to notice is that the "ordered" sequence gets out of order
starting with member RSE7392242, which gets created for unknown reasons,
because at the end all members compiled just fine.

Last but not least I did not delete EVFEVENT before the latest test, but
removed all members from file EVFEVENT as I did with my last tests. Do not
get confused about the KS* member names. Just different members but same
error.

Hopefully I answered all your questions and did not forget something.

Regards,

Thomas.



wdsci-l-bounces@xxxxxxxxxxxx schrieb am 15.01.2014 20:17:45:

Von: CRPbottle@xxxxxxxxx
An: wdsci-l@xxxxxxxxxxxx,
Datum: 15.01.2014 20:17
Betreff: Re: [WDSCI-L] CRTRPGMOD: CPYSRCF: From-file EVFEVENT in
KS01TS0O not allowed.
Gesendet von: wdsci-l-bounces@xxxxxxxxxxxx

On 15-Jan-2014 05:37 -0800, thomas.raddatz@xxxxxx wrote:

Ocassionally I get the following error message when I compile a RPG
modules from the RSE:

<errorMessage>
Member /QSYS.LIB/LIBHTTP.LIB/EVFEVENT.FILE/BASE64R4 could not be
saved successfully because an attempt to copy temporary member
/QSYS.LIB/LIBHTTP.LIB/EVFEVENT.FILE/RSE8791045 to source member
/QSYS.LIB/LIBHTTP.LIB/EVFEVENT.FILE/BASE64R4 failed. Check the
allow-write or allow-update flags for source file
/QSYS.LIB/LIBHTTP.LIB/EVFEVENT.FILE are set to *YES. Also make sure
file member /QSYS.LIB/LIBHTTP.LIB/EVFEVENT.FILE/BASE64R4 is not
locked by another job. During a save, the Remote Systems LPEX Editor
first creates a temporary member, uploads the changes to the
temporary member and then copies the temporary member over the
original member if the upload was successful. The temporary member is
then deleted. If this problem persists you can change the member save
behavior on the Remote Systems -> IBM i -> Objects Subsystem
preference page and then try saving again. Below is the message
returned from the server when attempting to run the CPYSRCF command:

From-file EVFEVENT in LIBHTTP not allowed.

Hardly accurate to claim that is "the message returned from the
server". That's merely the _text_, and besides that, only the
first-level message text. Damned subversives... refusing to reveal the
message identifier, exposing only the text! ;-) Seriously though... Why

must they force themselves and everyone else to search? Are they
unaware that not everything will be presented in their own language?
Anyhow, after both that rant and having looked up the USEng message
text, I found that was apparently CPF2801 "From-file &1 in &2 not
allowed."

</errorMessage>

I can safely bet on that message when I compile a bunch of modules
from the RSE.

The "Commands Log" does not show anything special:

<commandsLog>
<<SNIP>>

Module BASE64R4 placed in library LIBHTTP. 00 highest severity.
Created on 15.01.14 at 14:15:43.
<<SNIP>>

Module CCSIDR4 placed in library LIBHTTP. 00 highest severity.
Created on 15.01.14 at 14:15:43.
<<SNIP>>

Module COMMSSLR4 placed in library LIBHTTP. 00 highest severity.
Created on 15.01.14 at 14:15:44.
<<SNIP>>

Module COMMTCPR4 placed in library LIBHTTP. 00 highest severity.
Created on 15.01.14 at 14:15:45.
<<SNIP>>
</commandsLog>

Seems likely origin, from the description so far, this could be a
concurrency issue.

But the Eclipse error contains the error message:

<errorLog>

!ENTRY org.eclipse.rse.ui 4 0 2014-01-15 14:15:46.308
!MESSAGE Error uploading member
!STACK 0
org.eclipse.rse.services.clientserver.messages.SystemMessageException:
Save failed. Could not copy temporary member
/QSYS.LIB/LIBHTTP.LIB/EVFEVENT.FILE/RSE8791045 to member
/QSYS.LIB/LIBHTTP.LIB/EVFEVENT.FILE/BASE64R4.
<<SNIP>>

So apparently the actual failing request that was not recorded in the

error log, was:

cpysrcpf libhttp/evfevent libhttp/evfevent
frommbr(rse8791045) tombr(base64r4)
mbropt(*replace) /* srcopt() srcseq() likely n/a */

!ENTRY org.eclipse.rse.ui 4 0 2014-01-15 14:15:46.316
!MESSAGE EVFF5037
</errorLog>

Although an object lock could be the reason for the problem, I wonder
why the content of the EVFEVENT/RSE8791045 member of file EVFEVENT
is different from member EVFEVENT/BASE64R4:

Or possibly a lack of locking; i.e. the copy utility having made
decisions based on information obtained without holding a lock. Or,
there is an anomaly with the file and\or member(s), but then the effects

should be consistent across identical requests [in this scenario, that
may depend on the origin for the name RSE8791045 being utilized];
questions and possible doc collections noted later, below.

Seems the source "data" (SRCDTA column data) is identical, but the
apparent record format used for the data is different. As one physical
file with one RcdFmt, the implication seems to be that the SRCSEQ and
SRCDAT columns have been overwritten with data from SRCDTA.

<RSE8791045> (stripped to 70 columns)
*...+....1....+....2....+....3....+....4....+....5....+....6....+....7
000000140115TIMESTAMP 0 20140115141543
...
****** END OF DATA ******
</RSE8791045>

<BASE64R4> (stripped to 70 columns)
*...+....1....+....2....+....3....+....4....+....5....+....6....+....7
TIMESTAMP 0 20140115141543
...
</BASE64R4>

What interface was used for the above two snippets of data? Seems
likely Display Physical File Member (DSPPFM)? The EOD line was missing
from the second snippet; perhaps oversight, or perhaps there was none
presented.? The data of each member viewed with Run Query (RUNQRY)
could be worthwhile, to show the data within field; i.e. the layout:

runqry *n ((libhttp/evfevent rse8791045))
runqry *n ((libhttp/evfevent base64r4 ))

Same content, but RSE8791045 is a source file format.

Interesting effect, because The error msg CPF2801 implies the
FROMFILE is not a source physical file; i.e. the cause suggests that
"CPYSRCF command requires a source file on the FROMFILE parameter."

Does the output from DSPFD LIBHTTP/EVFEVENT *MBR include both members

RSE8791045 and BASE64R4? In actual counting, vs trusting the member
count presented by DSPFD, do the number of members listed in that prior
DSPFD request and the DSPFD LIBHTTP/EVFEVENT *MBRLIST request show the
same number of members [and the same members by name; effectively the
same origin for the question about if BASE64R4 might be missing in
presentation in one request but not the other].

Possibly worth collecting each of:

dmpsysobj 'EVFEVENT RSE8791045' libhttp 0d 50
dmpsysobj 'EVFEVENT BASE64R4 ' libhttp 0d 50

<<SNIP>>
All your comments would be greatly appreciated.

Is the EVFEVENT file being deleted and re-created for each compile or

even just some compiles? Sometimes as PF-SRC, and other times as
PF-DTA? If object auditing is active, at least the former can be
determined. If the file is being deleted and re-created concurrent to
Copy Source File (CPYSRCF) requests, that would be a likely origin for a

concurrency issue being exposed with that feature.

Or is the EVFEVENT file historical, i.e. existing from prior and was
not deleted and created anew for that recent compile activity? The
creation data from DSPOBJD LIBHTTP/EVFEVENT *FILE *FULL OUTPUT(*PRINT)
would establish that; i.e. if the creation data is long ago. If the
EVFEVENT file is historical, then Start Journal Physical File (STRJRNPF)

of that file might gives some timestamps of future member activity which

might be helpful; [and including data, but] unlikely to significantly
impact the ability to recreate the error.

--
Regards, Chuck
--
This is the Rational Developer for IBM i / Websphere Development
Studio Client for System i & iSeries (WDSCI-L) mailing list
To post a message email: WDSCI-L@xxxxxxxxxxxx
To subscribe, unsubscribe, or change list options,
visit: http://lists.midrange.com/mailman/listinfo/wdsci-l
or email: WDSCI-L-request@xxxxxxxxxxxx
Before posting, please take a moment to review the archives
at http://archive.midrange.com/wdsci-l.


--
IMPORTANT NOTICE:
This email is confidential, may be legally privileged, and is for the
intended recipient only. Access, disclosure, copying, distribution, or
reliance on any of it by anyone else is prohibited and may be a criminal
offence. Please delete if obtained in error and email confirmation to the sender.

As an Amazon Associate we earn from qualifying purchases.

This thread ...

Replies:

Follow On AppleNews
Return to Archive home page | Return to MIDRANGE.COM home page

This mailing list archive is Copyright 1997-2024 by midrange.com and David Gibbs as a compilation work. Use of the archive is restricted to research of a business or technical nature. Any other uses are prohibited. Full details are available on our policy page. If you have questions about this, please contact [javascript protected email address].

Operating expenses for this site are earned using the Amazon Associate program and Google Adsense.