× The internal search function is temporarily non-functional. The current search engine is no longer viable and we are researching alternatives.
As a stop gap measure, we are using Google's custom search engine service.
If you know of an easy to use, open source, search engine ... please contact support@midrange.com.



On 01-Jun-2010 08:22, Bonnie Lokenvitz wrote:
Thanks for the insights. Ctrl-Esc is mapped to SysRqs.

The user's message queue status was set to *NOTIFY but she had 4
interactive sessions. The user message queue was allocated to a
different session.

IIRC, if the workstation [& user?] message queue were held to the requesting job, the TFRSECJOB would effect the drop of the *MSGQ allocation much like a signoff. Then upon returning to the original job, attempt to reestablish the original /delivery method/ of the message queue held prior to TFRSECJOB. Since the user did not have their *MSGQ allocated in that job, then that should exclude it from source of any issue. It might be interesting to note however, if messages were received during processing such that the /notify/ condition for the *WRKSTN message queue had been established.

The program that was active in the 'hung' session has a message
handling program that does send formatted messages TOPGMQ(*PRV).
The user had done over 2600 entries each of which would have
caused a message to be sent.

Unless it was a /break handling/ program associated with the user or workstation message queue, what processing upon returning to the initial job from the signoff from a secondary job should be moot; at least unrelated to any suspicion that the OS processing to handle the status of a break\notify condition to the workstation device\emulator or the user.

FWiW, it might be interesting to test if sending a break message to the device might resolve the apparent hang; i.e. that if the message breaks, and the user presses Enter\F3\F12 to exit from the DSPMSG panel, if then processing can continue just as if in the manner currently used to effect recovery by TFRSECJOB.

Anyhow, I think the relatedness of user\workstation messaging to the issue may be off the mark. I only mentioned it, because the TFRSECJOB was being utilized to circumvent. I very much suspect that something like SNDBRKMSG or simply SysRqs-3 then returning to the screen might suffice to circumvent versus actually transferring to a secondary job and then returning. Easy enough to test; though probably best before a SNDBRKMSG, but after getting the output from WRKJOB OUTPUT(*PRINT).

QJOBMSGQFL is set to *PRTWRAP. I did not see that happen. Other
message queue values (QJOBMSGQMX, QJOBMSGQSZ, QJOBMSGQTL) are set
at the shipped levels (64, 16, 24). This is a V6R1 system with
lots of disk & memory and only 4 users each running 4 sessions.

Interesting thought. So apparently it was determined that the condition was not just a /wait condition/ caused by having wrapped the job message queue.? Note that the Job message queue maximum size [JOBMSGQMX] and Job message queue full action [JOBMSGQFL] are attributes of the job, which may not resolve directly from their respective system values. Also FWiW, of the noted sysvals, only the QJOBMSGQMX and QJOBMSGQMX are still of interest; i.e. the other two mentioned have long been ineffectual.

We will do the WRKJOB OUTPUT(*PRINT) next time it happens.

Could also STRSRVJOB and TRCJOB *ON after the problem starts and before the circumvention is attempted, or even long before the problem appears, in anticipation the trace will catch the apparent hang. Because the job can issue SysRqs-1 during the /stop/, that means the request to service the job should be possible even after the issue arises; not that also allows starting debug on the subfile program.

Regards, Chuck

CRPence wrote:

On 27-May-2010 13:23, Bonnie Lokenvitz wrote:
I am working with an interactive production program that is
used daily. About once a month it quits functioning for one
user after she has entered 2000+ lines (which are written to
a file in QTEMP). The program stops after it writes the
subfile control record and attempts the following READ
statement.

Today I had the user do a CTRL/ESC to a new session, log on,
log off. This made the READ statement in the original session
work.

Any ideas of what is going on?


What is Ctrl-Esc mapped to? Presumably SysRqs [System
Request] such that SysRqs-1 effects TFRSECJOB, or SysRqs shows
the System Request panel? If so, are the other activities
required, or might just SysRqs followed by F12 to return to the
processing get things going again? Regardless, when it happens
again, probably better to have another user\job request a
WRKJOB OUTPUT(*PRINT) against the apparently-hung job to see
its status and program stack.

FWiW the return to a job after the sequence of TFRSECJOB,
signon, and signoff, will check the break\notify for the
workstation [& user?] message queue. The DLVRY() setting for
the user or the workstation message queue might be germane.


As an Amazon Associate we earn from qualifying purchases.

This thread ...


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.