Hidden Value – April 2002

Q: We want to change our default output device for stdlists from LP to NERDD -- our electronic document distribution software. We'd prefer not to have to change the OUTCLASS= parm on every JOB card, and the HELP JOB command indicates that this is changed in the system configuration. The question is where?

A: John Clogg and Gilles Schipper replied:

You can do that by modifying ldev 10 in sysgen, as follows:

:sysgen
io
md 10 outdev=nerdd
ho
exit
ke
exit

Then, reboot with a "start norecovery". You also need to ensure that NERDD is a valid output device class name. Finally, you need to ensure that device NERDD is "openq'ed" before intitiating any job streams - otherwise the jobs will simply enter the wait state.

Q: I'm on 6.0 PP2 and need to adjust the rins and grins on a server. I know that I need to update from tape, but I've been told that I can only make one change at a time. I'd like to know if I can just change both rins and grins, cut a tape, then boot from it.

A: Rick Clark replied:

I went onto ITRC and found the following document.

Increasing GLOBAL and LOCAL RIN values

DocId: MPEKBRC00005601

NOTE: It is very important to know that GLOBAL and LOCAL RINS cannot be increased on the system at the same time. One or the other can be done in a single pass by creating an SLT with the changes and then booting the system with an UPDATE CONFIG START NORECOVERY. Once this is done, the other RINS are changed and the system is booted again.

Q: How can I find out information about udc files on my system and who has them "setcataloged"?

A: Jeff Vance replied:

Version A.03 of the CHKUDC script is on Jazz now at: http://jazz.external.hp.com/src/scripts/chkudc.txt

This version distinguishes between "active" UDC files, meaning one or more job/session is using them vs. UDC files catalogued for users that aren't logged on. :chkudc ? provides online help for the new parm. The chkudc script reports UDC info based on "user.acct" input parameter.

Q: If I am using a command file to create another command file by using 'echo' commands, I can put the string "abcd goldfish" into my new command file by saying "echo abcd goldfish >blap". But how can I put in the string ">short"? If I say "echo >short >blap" it doesn't work.

A: Larry Barnes and Jeff Vance replied:

Try the escape character "!" as in

echo !>short >blap

Q: I'd like to compare files across 2 systems. I have the full DS product.

A: Dale Strommer replied:

fcopy.pub.sys has a compare option and will work across a dsline.

Q: A customer has a new A-box with only a DDS-4 tape drive. The tape that HP sent for an add-on product is 60m DDS-1 format. It appears the DDS-4 cannot read the 60m DDS-1 tape. It just keeps ejecting the tape. Is this correct?

A: Denys Beauchemin replied:

I warned of this problem almost a year ago, but it looks like HP did not listen. The DDS-4 will indeed not read from nor write to 60m tapes. It can read from but not write to a 90M tape. The 120, 125 and 150 are all ok for read and write.

[The original questioner noted HP's solution: "Just wanted to update you on the situation. HP has sent the customer an external DDS-2 tape drive, cable, and terminator. Apparently, it is etched in stone that all the 3000 tapes cut are DDS-1 format on 60m tapes (which cannot be read by DDS-4). The poor guy at the response center said that they wouldn’t budge. He gets an 'A+' for his effort to take care of the customer. He asked us to contact someone higher up to see if we could help get this fixed. So, we've forwarded this problem to 'higher ups' hoping they can get the policy changed."]

Q: We have been seeing impedes on our 989/650 that can't be tied to anything. No database locks, no disc I/O problems, no memory issues. They slowly clear themselves up, but it sometimes takes 5 to 10 minutes. A stack trace on an impede processes show it is waiting on dispatch.

We are escalated with HP now, and they responded that we should enable DSEM and PREFETCH on our databases. Does anyone have these options enabled? We are an extremely large MACS shop 1300+ users and very large databases.

A: Ken Sletten (Chairman of SIGImage/SQL) replied:

We have had both DSEM and PREFETCH enabled on our production database on our 959-400 for a long time now; at least a couple years if not longer, I think. No problems at our site; and no outstanding problems with either of these options anywhere AFAIK (which of course doesn't guarantee there are no problems).

The August 1997 and later versions of the TurboIMAGE DBMS Reference Manual have a good discussion of DSEM; and a short description of PREFETCH. PREFETCH is covered mostly under "Coordinating Additions to a Database" and similar for "Deletions" in Chapter 4.

There is just one caution listed in the manual for enabling PREFETCH: Be sure you have "Adequate CPU and memory resources available on your system". Just what constitutes "adequate" and how to make that judgement is not defined; I guess it's left as a YMMV exercise to the reader. Our 959 has 1.792 GB memory. During routine daily operations (backup or VSTORE not in process) our memory page fault and Disc I/O rates per second are usually down in the noise: Less than 10 per second for disc I/O and less than 5 per second for page faults is common. Of course we normally have less than 100 concurrent Jobs and Sessions; our peak was somewhere around 120. So clearly compared to 1300+ users we are tiny.

Q: I have been asked to find out if there is an FTP client for the HP3000 (MPE/iX 6.0) that supports Passive mode.

A: Gavin Scott and James Hoffmeister replied:

Passive is available in FTP/iX in General Release patches, See FTPDOC.ARPA.SYS for details:

FTPGD93 for C.70.00
FTPGD92 for C.65.00
FTPGD91 for C.60.00

Q: I'm getting intermittent "error 421, service not available" messages with a process that is ftp'ing from HP-UX to MPE/iX. The MPE is on 6.0 pp2, with ftpgd91a. The server is a 996 with 2047mb of memory. Any suggestions?

A: Glen Nichols suggested:

The background job needs to be in a higher queue. Add ";pri=cs" to the run command in the job (jinetd). I had case id 3200101327 on July 11, 2001 with HP for this.

Mark Bixby added:

The call log for case ID 3200101327 neglected to mention it, but the latest GR INTxxxx patches for both 6.0 and 6.5 modify JINETD to run INETD.NET.SYS with CS priority. This fix is also apparently included in the 7.0 mainline.

However, this did not fix the problem.

Bill Cadier then suggested:

I'm not a networking guru but from what I've read about this particular error it is caused when the FTP server on the 3000 cannot get time to run and the connection then times out. So the shortage of some resource on the 3000 could be causing this.

Someone else suggested checking memory pressure by looking at page faults. The original questioner then responded:

Page faults were very high. We did a major defrag last night, and ftp hasn't had any errors today. We started out with 83k+ blocks of less than 1000 sectors...72% of our free disk space was in these small blocks. After the defrag, we have 544 of these small blocks, only 1% of our free disk space.

Q: Anybody know how I can find out what's the largest value that the HPPIN variable will hold? Our system is a 979/200 running 6.5.

A: Stan Sieler replied:

From MPE/iX 5.0 through MPE/iX 7.0 (base release), the maximum PIN is 8190. (In MPE/iX 4.0 and 4.5, it was 5460). As of MPE/iX 7.0 PowerPatch 1, you can have a maximum PIN of 12000 ... if your machine is large enough. (The maximum value scales with the amount of memory you have.) In short, make sure your code supports a 5 digit PIN for doing things like creating file names with embedded PINs, formatting PINs, etc.

Q: How do I find the MAC-address of the LAN interface card?

A: Gilles Schipper and Craig Lalley replied:

LINKCONTROL @;STATUS=ALL

Q: I'm wondering if anyone knows of a similar tool to "md5sum" from Debian Linux, but for MPE/iX. "md5sum" calculates some sort of check sum for a binary file in some method that all but gaurentees that 2 files cannot have the same check sum.

A: Lars Appel replied:

See GNU textutils 2.0 for MPE/iX at

http://www.editcorp.com/Personal/Lars_Appel/index.html

which, as far as I recall, includes md5sum.

Q: If a program is run by multiple people at the same time, do they share one copy of the object code in memory? Will many people using the same program cause less memory pressure than using different programs? Does a stack pointer exist for each execution which could be used to determine which command the current execution is using?

A: Craig Lalley, Jerry Fochtman and Stan Sieler replied:

The answer to the first two questions is "Yes".

For the third question, the answer is "not exactly". The terminology is the problem here. If a user says "RUN FOO", where FOO doesn't interact with the user, is the user "excuting a current command" *WITHIN* FOO? Compare with "RUN QEDIT.PUB.ROBELLE", and then the user enters "TEXT FUM" ... the user is executing the TEXT command. But what happens when that command finishes, and QEDIT prompts for the next command? Is the program "executing a current command" whilst it is waiting for user input?

Every process has the concept of a current instruction address, known as the PC (Program Counter). You can see the value of PC for another process via DEBUG, if you have PM capability.

Q: I'd like to add an entry to CICATERR (for SR2237), just to make things a little more consistent. Is this safe? Do I need to run something to re-index it?

A: Jeff Vance replied:

You should only need to run MAKECAT.PUB.SYS,help.

1) copy cicaterr,caterr1
2) file input=caterr1
3) run makecat,help
4) if all OK, then
5) purge cicaterr
6) rename helpcat,cicaterr

Q: What is the term for whether a sort algorithm retains original record order notwithstanding the sort keys. Does SORT have this attribute?

A: Bill Cadier replied:

The term is "stable". My ancient copy of "The Design and Analysis of Computer Algorithms" (Aho/Hopcraft/Ullman) says on page 105: "A sorting method is stable if equal elements remain in the same relative order in the sorted sequence as they were in originally."

A couple of quick tests of SORT shows that it is stable; however, I do not know which algorithm it uses.

Q: This morning we experienced a system abort 1455 from subsystem 102. The last few messages on the console were:

...

6:26 /#J3383/573/SHOWJOB JOB=@.SYS;*FEQ
6:26 /#J3383/573/INTERNAL ERROR! PLEASE REPORT THE ABOVE COMMAND IMAGE TO
YOUR SE IMMEDIATELY.
6:26 /#J3383/573/THE SESSION EXECUTING THIS COMMAND IS HUNG
(SR4700-781690).
SYSTEM ABORT 1455 FROM SUBSYSTEM 102
SYSHALT 7, $05AF

Can anyone help?

A: Bill Cadier replied:

The patch you probably need is:

MPEMX43(A) 6.0 - Beta Test as of today
MPEMX43(B) 6.5 - General Release
MPEMX43(C) 7.0 - Beta Test as of today

Patch MPELXV2 introduced a problem where a malformed !JOB card could cause corruption to the header of the Job Master Table (JMAT). The next SHOWJOB that traversed the table would generate the abort. An intermediate patch MPEMX28 (B for 7.0, C for 6.5) was created that just backed out the MPELXV2 changes so the abort could not occur.