- Community Home
- >
- Servers and Operating Systems
- >
- Operating Systems
- >
- Operating System - OpenVMS
- >
- Re: Change in DCL continuation-line behavior, 7.3-...
Categories
Company
Local Language
Forums
Discussions
Forums
- Data Protection and Retention
- Entry Storage Systems
- Legacy
- Midrange and Enterprise Storage
- Storage Networking
- HPE Nimble Storage
Discussions
Discussions
Discussions
Forums
Forums
Discussions
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
- BladeSystem Infrastructure and Application Solutions
- Appliance Servers
- Alpha Servers
- BackOffice Products
- Internet Products
- HPE 9000 and HPE e3000 Servers
- Networking
- Netservers
- Secure OS Software for Linux
- Server Management (Insight Manager 7)
- Windows Server 2003
- Operating System - Tru64 Unix
- ProLiant Deployment and Provisioning
- Linux-Based Community / Regional
- Microsoft System Center Integration
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Community
Resources
Forums
Blogs
- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
тАО11-03-2009 06:00 AM
тАО11-03-2009 06:00 AM
Change in DCL continuation-line behavior, 7.3-2 to 8.3 ?
One of my customers uses a foreign command supplied by a third-party vendor for linking with some menu- and database- linking code.
He has the command defined as
TPLINK == @TPHOME:TPXLINK_DATABASE
If he does:
TPLINK MAINPROG SUB1,INCLDIR:TPLIST/OPT
This works fine under OpenVMS 7.3-2 and 8.3
If he does:
TPLINK MAINPROG -
SUB1,-
INCLDIR:TPLIST/OPT
This works in 7.3-2 and in 8.3.
If he does:
TPLINK MAINPROG -
SUB1,{tab}-
INCLDIR:TPLIST/OPT
This worked in 7.3-2, fails in 8.3, only because of that tab character. The failure is that it somehow misses the last continuation line and blows off the implied LINK command because it doesn't have enough to build the image without the stuff from our shared include-file area.
We have a workaround (remove the tab...) so this isn't a threat to project completion, but I'm wondering if something changed here that I didn't notice.
Oh, the user is fairly astute. He is aware of SET PROC/PARSE=EXTENDED, but that does not seem to have any effect.
Any comments or suggestions?
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
тАО11-03-2009 06:09 AM
тАО11-03-2009 06:09 AM
Re: Change in DCL continuation-line behavior, 7.3-2 to 8.3 ?
Ensure the box is on the most current UPDATE and DCL ECO kits (patches), and then report what looks to be a DCL parsing bug to HP.
(One of the first items in the HP support script tends to be the "are you patched to current?" question. Preemptively patch to current tends to speed travel through the support center queue.)
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
тАО11-03-2009 06:34 AM
тАО11-03-2009 06:34 AM
Re: Change in DCL continuation-line behavior, 7.3-2 to 8.3 ?
My latest DCL patch is VMS83A_DCL-V0300, which had to have been installed from the UPDATE v10 patch ('cause I didn't do it separately.) It is clearly there even though not in PROD SHOW HIST, so it must have come through UPDATE 10.
I agree that with a workaround, we can go to fight another day. However, I was very curious to see if anyone had heard of this before.
I'm currently working with the customer on my theory that the tab changes the DCL parsing of the Px parameters such that with both the comma and tab, the parameters are
commmand P1=main, P2=sub, p3="", p4=include-stuff/opt
That is, having comma AND tab skips the p3 parameter. The only gripe I've got is that he discovered this because the foreign command was used in a script that was working before the upgrade - so some basic parsing behavior has changed in that upgrade. (Yeah, I know - wouldn't be the first time, won't be the last time.)
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
тАО11-03-2009 01:06 PM
тАО11-03-2009 01:06 PM
Re: Change in DCL continuation-line behavior, 7.3-2 to 8.3 ?
Please try to reduce this bug down to minimal commands and procedures and submit it to HP as a high priority issue.
If it's general, this is potentially VERY scary, as it has the potential for introducing silent bugs in existing, correct procedures. It needs to be fixed ASAP.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
тАО11-03-2009 10:11 PM
тАО11-03-2009 10:11 PM
Re: Change in DCL continuation-line behavior, 7.3-2 to 8.3 ?
I tried it on different VMS versions (Alpha V7.3 and 8.3 and VAX V5.5-2 and V7.3) and all behave the same.
regards Kalle
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
тАО11-04-2009 05:50 AM
тАО11-04-2009 05:50 AM
Re: Change in DCL continuation-line behavior, 7.3-2 to 8.3 ?
Actually, to be honest, I'm surprised it worked correctly under 7.3-2 based on my understanding of how command-line parsing is supposed to work for scripts.
As noted by Kalle, the behavior in 8.3 is what I would have expected. Tab breaks the parse as a "major" token delimiter. What surprised me more than anything else is that the comma DIDN'T act as a parameter delimiter for either case. If I had written the parser myself, that comma would have been an "eatable" parameter break.
I have now had some time to examine the actual script. It basically builds a complex, multi-line LINK command via string substitution. The P1 parameter is always handled correctly, "MAINPROG" - but it is the P2 parameter that goes whacky.
In the cases that works as intended, the P2 parameter is "SUB1,INCLDIR:TPLIST/OPT" - but when that tab is there, the comma is part of P2 and the INCLDIR part is now P3. It goes to another (incorrect) part of the LINK command, hence the error.
I had the user switch to wide-screen and then re-form the commands into single-line format but retaining tabs or spaces or other formatting. In other words, I had him rejoin the continued lines literally. It behaves exactly as I expected it to do. The tab or space makes the INCLDIR portion move to P3 (proven by turning on all verification). If he removes all excess tabs and spaces, the P2 parameter includes the comma, SUB1, and the INCLDIR part. If he encloses the SUB1 and INCLDIR parts in " marks, any tabs and spaces inside that string are retained but the parameters stay together as P2.
Basically, I agree with Kalle that this is what you would expect - and would have expected for OpenVMS 7.3-2. I am at a loss to explain why it ever worked with those tabs for OpenVMS 7.3-2 because to me, it is doing what I expected it to do for version 8.3 of VMS.
I have advised my user that he was getting away with something earlier and now he has to follow the parser rules a bit better. He's good-hearted enough to not give me too much of a hard time about that answer, particularly since chapter and verse of the DCL documentation describes this behavior.
At least we can now recognize the problem. And as we all know, "experience" is what allows you to recognize your mistake when you make it again. Guess that makes us very experienced.