Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

z/VM 7.2 IPL'ing as guest of itself CCW Command Rejects Aaron says "quick fix" #572

Closed
zVMJedi opened this issue Jun 12, 2023 · 161 comments
Closed
Assignees
Labels
BUG The issue describes likely incorrect product functionality that likely needs corrected.

Comments

@zVMJedi
Copy link

zVMJedi commented Jun 12, 2023

Hello, Charles here.

Aaron said to open an Issue, so here it is.

He pretty well lays it out in the message thread about this issue, one last lousy little bit in byte 6 of the z/VM RDCBK Real Device Characteristics control block isn't being set correctly to handle PFX (CCW opcode X'E7'): byte 6 needs to be set with 'D2' instead of the 'D0' it contains otherwise.

And I'm running Hyperion 4.5 on a Windows Server 2008 R2 Host, so no tricky Linux builds.

Thank you, and there is no urgency about this; I can stuff those Byte 6's with 'D2' from an EXEC
for all my CP OWNED DASD. Maybe just slipstream it into 4.6 along with other fixes. I'm about to
pull 4.6 and get it going.

Regards,

Charles Perkins

@Fish-Git Fish-Git added the BUG The issue describes likely incorrect product functionality that likely needs corrected. label Jun 13, 2023
@Fish-Git
Copy link
Member

Fish-Git commented Jun 13, 2023

byte 6 needs to be set with 'D2' instead of the 'D0' it contains otherwise.

I doubt it.

I suspect he just worded things sloppily, but what he actually meant to say was: "the X'02' bit needs to be turned on in byte 6."

Byte 6 of the z/VM RDCBK is defined as:

    *** Bytes defined for CKD/ECKD DASD RDC Features field
0006    6 Bitstring    1 RDCVFAC        Program-visible facilities
         .... 1...      RDCSSCSP       X'08' RDCSSCSP Set System
                                       Characteristics is supported
         .... .1..      RDCSSCRC       X'04' RDCSSCRC Set System
                                       Characteristics has been received
                                       for this Path Group
         .... ..1.      RDCPRFX        X'02' RDCPRFX Prefix CCW
                                       supported & enabled

If you just blindly change byte 6 to the hard coded value X'D2', you might end up turning some of its bits on that were previously off and vice-versa.

For example:  if the the value in byte 6 happens to be X'DC', then you need to change it to X'DE', not X'D2'!

You need to be very careful how you write your EXEC, Charles.

@Fish-Git
Copy link
Member

  1. What cu=xxxx control unit option value are you using on your Hercules device statements? I always use cu=3990-6 on all of mine.

  2. What does your Directory entry for your second level z/VM guest look like? I'd like to try and recreate this issue for myself, and could really use a jump-start! Thanks.

@zVMJedi
Copy link
Author

zVMJedi commented Jun 13, 2023 via email

@Fish-Git
Copy link
Member

Fish-Git commented Jun 13, 2023

General FYI regarding email replies:

I would very much appreciate it if you would not respond/reply to GitHub Issues via email.

I would much prefer that you instead respond/reply directly via the GitHub Issues web page itself:

When you reply directly via their web page, I can make minor edits to your reply so it is more readable (prettier) by editing the fonts being used, formatting of log messages, etc.

When you reply via email however, I cannot edit your reply (GitHub does not allow it), so oftentimes it is much harder (more difficult) to read.

GitHub also does not allow attachments in their email replies either, making it impossible to receive a file that may have been requested from you.

It is up to you whether or not you want to take the time to reply via their web page or continue to reply via email, but it is generally preferable that you reply directly via their web page instead. Especially if you need to attach a file that was requested from you.

Thanks for understanding.

@zVMJedi
Copy link
Author

zVMJedi commented Jun 13, 2023

I'll gladly comply by responding only here. I'd never used GitHub except as an observer and couldn't figure out how to specify a fixed font, I think I've found that now. I used a fixed font in my e-mail reply and it appears Git lost it somehow.

@arfineman
Copy link
Contributor

arfineman commented Jun 14, 2023

Charles,

Fish is correct. D2 was based on your specific display results. As I indicated in my final comment, when PFX command was added, byte 6, bit 6 should have been turned on. Just as it is indicated in the RDCBK that Fish posted.

If you write a Rexx exec to turn the bit on, use the BITOR function in Rexx.

There are other ways around it, but its not worth pursuing. Turning this bit on will add support for PFX command for guest running under zVM, both for minidisks and dedicated devices.

Best regards,

@Fish-Git
Copy link
Member

Fish-Git commented Jun 14, 2023

I'd never used GitHub except as an observer and couldn't figure out how to specify a fixed font, I think I've found that now.

(I personally prefer the PDF)

I used a fixed font in my e-mail reply and it appears Git lost it somehow.

As I explained, GitHub does not allow formatting of emails. That's why I prefer that people reply to GitHub Issues directly via their web interface instead. When you post your comment/reply via their web page, you can use markdown to format your comment/reply however you like. Depending on what you are posting, this can make a HUGE difference in readability.

@Fish-Git
Copy link
Member

Fish is correct.

If you write a Rexx exec to turn the bit on, use the BITOR function in Rexx.

Thanks, Aaron.

@Fish-Git
Copy link
Member

Fish-Git commented Jun 14, 2023

Charles,

Since you're the zVM Jedi (cool nickname btw!), maybe you can help me.

I'm trying to recreate your problem by IPLing a second level z/VM 7.2 under my existing z/VM 7.2, but things aren't working out too well.   :(

(It's been YEARS since I've messed with such things!)

Each time I do my IPL, it displays the ipl/startup messages on my CMS userid's console, and invariably gets to a point where it says I need to reply to something. Only problem is, I don't know how to reply!

PLEASE NOTE: I know what I want to reply, but I can't seem to figure out how to reply! Just entering the reply and pressing enter accomplishes nothing.

I don't know if my terminal conmode is wrong, or if I should dial into my userid before IPLing, or something else.

I seem to recall I might need a different LINEND setting or something? (I forget! It's been too long since I've done this shit!)

HELP!   :(

p.s. I'm not seeing any type of I/O errors so far, but I'm not convinced I've gotten far enough into the second level IPL to reach that point yet.

@Fish-Git
Copy link
Member

p.p.s. Here's the directory entry I've defined, and the exec I'm using to IPL my second level system with:

******************************************
*         z/VM 7.2 -- second level       *
******************************************


USER ZVM72 ZVM72 6G 6G BCEFGH

IPL ZCMS
MACHINE Z 4
OPTION DEVINFO DEVMAINT MAINTCCW LNKS LNKE LNKNOPAS

CONSOLE 009 3215

SPOOL 00C 2540 READER *
SPOOL 00E 1403 A

MDISK 191 3390 6351 10 M01RES MR
LINK MAINT 190 190 RR
LINK MAINT 19D 19D RR
LINK MAINT 19E 19E RR

DEDICATE 0223 0123
DEDICATE 0224 0124
DEDICATE 0225 0125
DEDICATE 0226 0126
DEDICATE 0227 0127
DEDICATE 0228 0128                                  

Here's the exec I use to IPL with:

/*-------------------------------------------------------------------*/
/*                         z/VM 7.2                                  */
/*-------------------------------------------------------------------*/

Call InitDasd

'CP TERMINAL CONMODE 3270'
"PIPE CP IPL 123 | STEM cpmsg."

/* If we reach here then the IPL command obviously failed! */
'CP TERMINAL CONMODE 3215'
say 'ERROR: IPL failed! rc='rc': "'cpmsg.1'"'

Return

/*-------------------------------------------------------------------*/
/*                         z/VM 7.2                                  */
/*-------------------------------------------------------------------*/

InitDasd:

'CP DETach Virtual 0123-0128'

'CP ATTach 0223 * 0123'
'CP ATTach 0224 * 0124'
'CP ATTach 0225 * 0125'
'CP ATTach 0226 * 0126'
'CP ATTach 0227 * 0127'
'CP ATTach 0228 * 0128'

Return

@arfineman
Copy link
Contributor

arfineman commented Jun 14, 2023

Hi Fish,
Try your reply with #CP VI VMSG xxxxxx where xxxxxx is your reply text.
Best regards,

@zVMJedi
Copy link
Author

zVMJedi commented Jun 14, 2023

You seem to have it all correct. Once logged on to your 2nd level ID, and you invoke that startup EXEC, the next thing you should see is the z/VM "startup" messages, then the prompt for what sort of start WARM, FORCE, COLD, plus the other PARMS you'd probably want to say FORCE since I don't know what shape your 2nd level would be in.

You should be able to enter something on the command line such as
FORCE DRAIN NOAUTOLOG, hit "Enter"

then it will ask for TOD, just hit "Enter" to that, and then it will proceed from there.

If it isn't responding to what you reply, and then "Enter" I'm not sure what your problem might be. At that point your virtual console is "talking" to your 2nd-level system, the different LINEND is if you need to pass something to 1st-Level CP . Since you're DEDICATE'ing the DASD in the CP Dir you don't need the ATTACH'es. 3270 is the correct CONMODE setting.

I use Tom Brennan's Vista3270 emulator product in Windows. If you're using some X-Terminal 3270 emulator, I've never stepped into that world. I can't think of any other show-stopper but I've just awakened. You are getting to here, right? :

07:14:11 z/VM  V7 R2.0  SERVICE LEVEL 2001 (64-BIT)
07:14:11 SYSTEM NUCLEUS CREATED ON 2020-07-29 AT 16:50:40, LOADED FROM M01RES
07:14:11
07:14:11 ****************************************************************
07:14:11 * LICENSED MATERIALS - PROPERTY OF IBM*                        *
07:14:11 *                                                              *
07:14:11 * 5741-A09 (C) COPYRIGHT IBM CORP. 1983, 2020. ALL RIGHTS      *
07:14:11 * RESERVED. US GOVERNMENT USERS RESTRICTED RIGHTS - USE,       *
07:14:11 * DUPLICATION OR DISCLOSURE RESTRICTED BY GSA ADP SCHEDULE     *
07:14:11 * CONTRACT WITH IBM CORP.                                      *
07:14:11 *                                                              *
07:14:11 * * TRADEMARK OF INTERNATIONAL BUSINESS MACHINES.              *
07:14:11 ****************************************************************
07:14:11
07:14:11 HCPZCO6718I Using parm disk 1 on volume VMCOM1 (device 0700).
07:14:11 HCPZCO6718I Parm disk resides on cylinders 1 through 120.
07:14:12
07:14:12 HCPIIS954I DASD 1725 VOLID M01P01 IS A DUPLICATE OF DASD 0705
07:14:12 HCPIIS954I DASD 1723 VOLID M01RES IS A DUPLICATE OF DASD 0703
07:14:12 HCPIIS954I DASD 1724 VOLID M01S01 IS A DUPLICATE OF DASD 0704
07:14:12 HCPIIS954I DASD 0721 VOLID 720RL1 IS A DUPLICATE OF DASD 0701
07:14:12 HCPIIS954I DASD 0722 VOLID 720RL2 IS A DUPLICATE OF DASD 0702
07:14:12 HCPIIS954I DASD 0720 VOLID VMCOM1 IS A DUPLICATE OF DASD 0700
07:14:12 Start ((Warm|Force|COLD|CLEAN) (DRain) (DIsable)  (NODIRect)
07:14:12       (NOAUTOlog)) or (SHUTDOWN)          <---------------------- what 'cha want ?
07:14:19 WARM DRAIN NOAUTOLOG                      <---------------------- plus hit 'Enter'
07:14:19 NOW 07:14:19 CDT WEDNESDAY 2023-06-14
07:14:19 Change TOD clock (Yes|No)                 <---------------------- just 'Enter' to this
07:14:21
07:14:21 The directory on volume M01RES at address 0703 has been brought online.
07:14:28 HCPWRS2513I
07:14:28 HCPWRS2513I Spool files available     1614
07:14:30 HCPWRS2512I Spooling initialization is complete.
07:14:30 DASD 0704 dump unit CP IPL pages 25157 PGMBKs DEFAULT FRMTBL DEFAULT
07:14:30 HCPAAU2700I System gateway ZVMJEDI identified.
07:14:30 z/VM Version 7 Release 2.0, Service Level 2001 (64-bit),
07:14:30 built on IBM Virtualization Technology
07:14:30 There is no logmsg data
07:14:30 FILES: 0056 RDR, 0014 PRT,   NO PUN
07:14:30 LOGON AT 07:14:30 CDT WEDNESDAY 06/14/23
07:14:30 GRAF  0020 LOGON  AS  OPERATOR USERS = 1

                                                            HOLDING   ZVMJEDI

@zVMJedi
Copy link
Author

zVMJedi commented Jun 14, 2023

Actually, you should be getting the first Command Reject even before the "What kind of start do you want??" message appears; it will occur the moment it tries to bring the Object Directory online.
like this:

20:50:54 z/VM  V7 R2.0  SERVICE LEVEL 0000 (64-BIT)
20:50:55 SYSTEM NUCLEUS CREATED ON 2020-06-26 AT 09:02:09, LOADED FROM M01RES
20:50:55
20:50:55 ****************************************************************
20:50:55 * LICENSED MATERIALS - PROPERTY OF IBM*                        *
20:50:55 *                                                              *
20:50:55 * 5741-A09 (C) COPYRIGHT IBM CORP. 1983, 2020. ALL RIGHTS      *
20:50:55 * RESERVED. US GOVERNMENT USERS RESTRICTED RIGHTS - USE,       *
20:50:55 * DUPLICATION OR DISCLOSURE RESTRICTED BY GSA ADP SCHEDULE     *
20:50:55 * CONTRACT WITH IBM CORP.                                      *
20:50:55 *                                                              *
20:50:55 * * TRADEMARK OF INTERNATIONAL BUSINESS MACHINES.              *
20:50:55 ****************************************************************
20:50:55
20:50:55 ****************************************************************
20:50:55 * IBM z/VM Single System Image Function is active.
20:50:55 ****************************************************************
20:50:55
20:50:55 HCPZCO6718I Using parm disk 1 on volume VMCOM1 (device 0720).
20:50:55 HCPZCO6718I Parm disk resides on cylinders 1 through 120.
20:50:55 HCPERP500I  DASD  1723 AN OPERATION WAS TERMINATED BECAUSE A
20:50:55 HCPERP500I  COMMAND REJECT ERROR OCCURRED
20:50:55 HCPERP6300I SENSE DATA FORMAT = 00       MSG CODE = 01
20:50:55 HCPERP6301I CHANNEL COMMAND WORD COMMAND CODE = N/A HPF
20:50:55 HCPERP6302I SEEK ADDRESS =   000000000000
20:50:55 HCPERP6303I SENSE = 80000000 00FFFF01 00000000 00000000 00000000
20:50:55 HCPERP6303I 00000000 00000080 00000000
20:50:55 HCPERP6304I IRB = 00C24017 1F6AE008 02000040 00800000
20:50:55 HCPERP6305I USERID = SYSTEM
20:50:55 HCPERP2216I CHANNEL PATH ID = 17
20:50:55 HCPUDX1777E The directory on volume M01RES could not be initialized.
20:50:55 HCPUDS1752E No directory could be initialized.
20:50:55 HCPPLM1663E SSI function WORTHINESS CHECK has failed for service DIRECT
ORY.
20:50:55 HCPPLM1691E SSI service initialization failed
20:50:55 HCPPLM1697I The state of SSI system ZVMJEDI1 has changed from DOWN to I
SOLATED
20:50:55 HCPPLM1698I The mode of the SSI cluster is SAFE
20:50:55 HCPERP500I  DASD  1723 AN OPERATION WAS TERMINATED BECAUSE A
20:50:55 HCPERP500I  COMMAND REJECT ERROR OCCURRED
20:50:55 HCPERP6300I SENSE DATA FORMAT = 00       MSG CODE = 01

                                                          HOLDING   ZVMJEDI1

@zVMJedi
Copy link
Author

zVMJedi commented Jun 14, 2023

Eureka! But don't start cheering yet. Well, ok... cheer a little, but not too loudly.

I noticed you DEDICATE'd your CP VOLS, instead of using DEVNO statements as I did. I changed my 2nd-level ID to use DEDICATEs and now mine is coming up cleanly, NO Command Rejects anywhere and AUTOLOG1 brought up all The Usual Suspects. So far, so good.

This is a great clue, though, because what it tells us is: when a volume is DEDICATE'd, that changes completely how the I/O is handled between Host and Guest. So "something" is going wrong between Host 7.2 and Guest 7.2 as they pass the I/O back and forth when DEVNO is used. If I remember right, and I'm not sure I do, when a volume is DEDICATED, the Guest gets to do its own I/O and Host CP just watches. Or maybe it's the other way around. Aaron???? Geez, I hate getting old!

Unfortunately, this will preclude this 2nd level z/VM from ever being part of a true 2nd-level SSI cluster, because each Member has to see everyone else's CP OWNED volumes, you'll notice I had LINK statements to 3 other eventual Members. Thus, why full-pack DEVNO was necessary. See Page 79 of the z/VM 7.2 Installation Guide:

Anyway, that's what I've discovered from here. I hope it will be helpful. This much success WILL allow the creation of what back in the day was called CSE ( Cross-System Extension, the predecessor of SSI ) but without being able to share SPOOL.

Thanks. Charles

@arfineman
Copy link
Contributor

arfineman commented Jun 14, 2023

The logic in zVM for CCW translation is different between Dedicated/Attached and Devno/Minidisk. The bottom line is it should work either way. But just an FYI: the first thing it checks is Byte 6, Bit 6 of RDC. If it is not on, then it will go thru a series of checks with control unit models, starting with 2107 then 2105, then 1750, 3390-6.. etc.
Best regards,

@Peter-J-Jansen
Copy link
Collaborator

Peter-J-Jansen commented Jun 14, 2023

Charles / zVMJedi,

Have you tried with MDISK statements including the MWV option? You could place all of these as needed for z/VM SSI members in a VM, e.g. called VMDUMMY, that never get's IPL'd. It's the technique to run z/OS Parallel Sysplex ("PS") members under z/VM, and they too all need access to all 2nd level z/OS PS DASD's. (This uses a non-IPL'd VM named MVSDUMMY; each actual z/OS PS member then LINKs MW to MVSDUMMY's full pack MDISKS.)

Cheers,

Peter

@zVMJedi
Copy link
Author

zVMJedi commented Jun 14, 2023

Hi Peter, I believe I did try MDISK statements when I first started this endeavour and they didn't work. They gave the same Command Rejects as DEVNO. I'll try again so MDISK can be included in The Usual Suspects round-up. I used that same trick back in the day when my Guests were DOS/VSE and VSE/ESA.
Thanks!

@Fish-Git
Copy link
Member

Hi Fish,
Try your reply with #CP VI VMSG xxxxxx where xxxxxx is your reply text.
Best regards,

THANK YOU AARON!!   :-D

It worked! My second level system is up and running!

Unfortunately(?) however, I'm not seeing any of the I/O errors that Charles is seeing.   :(

@arfineman
Copy link
Contributor

You should not see the errors for dedicated/attached devices on the control unit types I previously posted. But it will still fail on minidisk/devno devices and that should not be.
Best regards,

@zVMJedi
Copy link
Author

zVMJedi commented Jun 14, 2023

Fish! See my Comment from 3 hours ago.

@Fish-Git
Copy link
Member

Since you're DEDICATE'ing the DASD in the CP Dir you don't need the ATTACH'es.

Actually I do.

When the first level system is IPL'ed, it complains(?) about duplicate volume ids (volsers) or something (I forget what the exact message was; I didn't bother to write it down), more than likely because my second level system's dasds are exact copies of my first level system's dasds:

#  Disk Drives

0123    3390    "$(ZVM72DIR)/M01RES.cckd64" sf="$(ZVM72DIR)/M01RES_Shadow_*.cckd64" cu=$(CU)
0124    3390    "$(ZVM72DIR)/VMCOM1.cckd64" sf="$(ZVM72DIR)/VMCOM1_Shadow_*.cckd64" cu=$(CU)
0125    3390    "$(ZVM72DIR)/720RL1.cckd64" sf="$(ZVM72DIR)/720RL1_Shadow_*.cckd64" cu=$(CU)
0126    3390    "$(ZVM72DIR)/720RL2.cckd64" sf="$(ZVM72DIR)/720RL2_Shadow_*.cckd64" cu=$(CU)
0127    3390    "$(ZVM72DIR)/M01S01.cckd64" sf="$(ZVM72DIR)/M01S01_Shadow_*.cckd64" cu=$(CU)
0128    3390    "$(ZVM72DIR)/M01P01.cckd64" sf="$(ZVM72DIR)/M01P01_Shadow_*.cckd64" cu=$(CU)

0223    3390    "$(ZVM72DIR)/M01RES.cckd64" sf="$(ZVM72DIR)/M01RES_LEVEL2_Shadow_*.cckd64" cu=$(CU)
0224    3390    "$(ZVM72DIR)/VMCOM1.cckd64" sf="$(ZVM72DIR)/VMCOM1_LEVEL2_Shadow_*.cckd64" cu=$(CU)
0225    3390    "$(ZVM72DIR)/720RL1.cckd64" sf="$(ZVM72DIR)/720RL1_LEVEL2_Shadow_*.cckd64" cu=$(CU)
0226    3390    "$(ZVM72DIR)/720RL2.cckd64" sf="$(ZVM72DIR)/720RL2_LEVEL2_Shadow_*.cckd64" cu=$(CU)
0227    3390    "$(ZVM72DIR)/M01S01.cckd64" sf="$(ZVM72DIR)/M01S01_LEVEL2_Shadow_*.cckd64" cu=$(CU)
0228    3390    "$(ZVM72DIR)/M01P01.cckd64" sf="$(ZVM72DIR)/M01P01_LEVEL2_Shadow_*.cckd64" cu=$(CU)

As you can see, I've simply defined another set of dasd (with different device addresses/CUUs) using the exact same set of base images, but specifying a different set of shadow files for each. (All of my base dasd images are marked read-only; I'm running on Windows.)

I felt that was the fastest/easiest way to get a second level system created. (I didn't want to have to go through a full formal install.)

In any case, it certainly doesn't hurt anything to detach and re-attach my dasds, right?   :)

@Fish-Git
Copy link
Member

Actually, you should be getting the first Command Reject even before the "What kind of start do you want??" message appears; it will occur the moment it tries to bring the Object Directory online.

Well, it's not happening to me.   :(

@arfineman
Copy link
Contributor

Dedicating a device and attaching it is the same thing. In either case, the device can not be shared and it follows the logic path in CCW translation. DEVNO/MINIDISK allows for device sharing and has a more strict CCW translation.
Best regards,

@zVMJedi
Copy link
Author

zVMJedi commented Jun 14, 2023

It's not happening because you're using ATTACH'd volumes, which take a different I/O path. As soon as you try to use MDISK or DEVNO statements in your 2nd-level UserID definition, you'll get the pre-Fourth-of-July fireworks show.

@Fish-Git
Copy link
Member

Eureka! But don't start cheering yet. Well, ok... cheer a little, but not too loudly.

I noticed you DEDICATE'd your CP VOLS, instead of using DEVNO statements as I did. I changed my 2nd-level ID to use DEDICATEs and now mine is coming up cleanly, NO Command Rejects anywhere and AUTOLOG1 brought up all The Usual Suspects. So far, so good.

Interesting!

Unfortunately, this will preclude this 2nd level z/VM from ever being part of a true 2nd-level SSI cluster, because each Member has to see everyone else's CP OWNED volumes, you'll notice I had LINK statements to 3 other eventual Members. Thus, why full-pack DEVNO was necessary.

Yes, I noticed that in your sample directory statements that you were using, but didn't think it was anything important. (I don't "do" SSI clusters. I like to keep things simple. SSI clusters are for z/VM Jedis like you, not for mere mortals like me.<G>)

Anyway, that's what I've discovered from here. I hope it will be helpful. This much success WILL allow the creation of what back in the day was called CSE ( Cross-System Extension, the predecessor of SSI ) but without being able to share SPOOL.

That's good to know.

Unfortunately, that's kind of bad news for me, because it means I am unable to recreate your problem in order to verify that my quick fix is good or not. (I am NOT interested in trying to set up an SSI cluster! I'm a Hercules developer. I don't have the time to learn how to operate all the many different operating systems that Hercules is able to run. I have my hands full with Hercules. I let you guys -- the Hercules users -- have all the fun with that!)

Give me a few minutes(?) and I'll commit what I believe is the fix (according to Aaron anyway): initializing the Control Unit features string with the X'02' bit turned on in the 6th byte of the RDC.

I'll let you know once it's been committed. Once it is, you should then simply do a pull (from the 'develop' branch of course) and rebuild your Hercules.

Thank you to both you and Aaron with all the help you two have provided me. I really appreciate it you guys!

@Fish-Git
Copy link
Member

You should not see the errors for dedicated/attached devices on the control unit types I previously posted. But it will still fail on minidisk/devno devices and that should not be.

Because Hercules is not (YET!) turning on the X'02' bit in the RDC byte you mentioned. That's why. (Hopefully!)

But I'm about to fix that, so everybody just hang loose for a little bit...

@Fish-Git
Copy link
Member

Fish! See my Comment from 3 hours ago.

Saw it! And responded to it.

@Fish-Git
Copy link
Member

It's not happening because you're using ATTACH'd volumes, which take a different I/O path. As soon as you try to use MDISK or DEVNO statements in your 2nd-level UserID definition, you'll get the pre-Fourth-of-July fireworks show.

I know that, but how to I turn them into MDISK or DEVNO statements? I don't really need to be sharing these dasds with any of the other VM users, so why use MDISK or DEVNO? Other than the fact that doing so will trigger the problem of course!

I mean, I'm willing to try (if you can explain to me how to do it), but generally speaking, in normal situations, DEDICATE is the proper way to go about it, yes?

@zVMJedi
Copy link
Author

zVMJedi commented Jun 14, 2023

Well, it's not about setting up an SSI cluster, it's just getting z/VM to IPL 2nd-level.

Replace your DEDICATE statements with these:

    MDISK 0720 3390 DEVNO 0720 MW
    MDISK 0721 3390 DEVNO 0721 MW
    MDISK 1723 3390 DEVNO 1723 MW
    MDISK 1724 3390 DEVNO 1724 MW
    MDISK 1725 3390 DEVNO 1725 MW
    MDISK 1726 3390 DEVNO 1726 MW

adjusting the RDEV's and DEVNO's to the addresses of your second-level DASD, then in your 2nd-level ID, IPL your M01RES address and it should blow up beautifully.

As for DEDICATE, "best practices" with DASD is "don't do it unless you have a really good reason". As Peter tossed in a few Comments ago, you want to define your "everybody uses these" DASD to a dummy NOLOG UserID, then LINK to that from whomever needs to see whatever.

@Fish-Git
Copy link
Member

@arfineman, @zVMJedi, @Peter-J-Jansen, @wrljet:

FYI:

I have just committed some fixes to Hercules's E7 Prefix CCW handling that should resolve all known/reported issues:

Charles?  Please refresh your repository, rebuild and retest.

Aaron?  Please pull, rebuild and re-run all of your tests again too. I wrote a new Hercules runtest QA test for E7 Prefix based on the information you provided, and all of them now pass. I have not committed this test program yet, but will be doing so shortly.

I am once again going to close this issue as having been RESOLVED.  (*)

Thank you to everyone for all of your help! I couldn't have done it without you guys!


(*) Sorry, Peter! I wish I could help you, but I unfortunately do not have the necessary skills to do so. If you're still having trouble I suggest either doing some serious intensive Hercules debugging to try and find the cause. But until you can manage to provide convincing evidence to the contrary, I'm left with no choice but to presume your problem isn't being caused by my changes to Hercules. (At least not directly anyway.) I'm still open and willing to being proven wrong on that however!

@Peter-J-Jansen
Copy link
Collaborator

Peter-J-Jansen commented Jun 29, 2023

No problem @fish, I'll do some more tests still, which I'll continue reporting under this Issue.

What I have found so far:

A test with the current commit 69a0fab2 using a non-SSI z/VM 7.1 seems to have worked just fine. But using a SSI z/VM 7.2 produces the Wait 902 as reported earlier. This time I too requested a trace of only the X'E7' CCW:

 17:18:01 z/VM  V7 R2.0  SERVICE LEVEL 2201 (64-BIT)
 17:18:01 SYSTEM NUCLEUS CREATED ON 2022-11-12 AT 14:10:41, LOADED FROM M01RES
17:18:02  
17:18:02 ****************************************************************
17:18:02 * LICENSED MATERIALS - PROPERTY OF IBM*                        *
17:18:02 *                                                              *
17:18:02 * 5741-A09 (C) COPYRIGHT IBM CORP. 1983, 2020. ALL RIGHTS      *
17:18:02 * RESERVED. US GOVERNMENT USERS RESTRICTED RIGHTS - USE,       *
17:18:02 * DUPLICATION OR DISCLOSURE RESTRICTED BY GSA ADP SCHEDULE     *
17:18:02 * CONTRACT WITH IBM CORP.                                      *
17:18:02 *                                                              *
17:18:02 * * TRADEMARK OF INTERNATIONAL BUSINESS MACHINES.              *
17:18:02 ****************************************************************
17:18:02  
17:18:02 ****************************************************************
17:18:02 * IBM z/VM Single System Image Function is active.
17:18:02 ****************************************************************
17:18:02  
 17:18:02 HCPZCO6718I Using parm disk 1 on volume VMCOM1 (device 1201). 
 17:18:02 HCPZCO6718I Parm disk resides on cylinders 1 through 120.
 17:18:02 HCPERP500I  DASD  1200 AN OPERATION WAS TERMINATED BECAUSE A  
 17:18:02 HCPERP500I  COMMAND REJECT ERROR OCCURRED 
 17:18:02 HCPERP6300I SENSE DATA FORMAT = 00       MSG CODE = 01      
 17:18:02 HCPERP6301I CHANNEL COMMAND WORD COMMAND CODE = N/A HPF 
 17:18:02 HCPERP6302I SEEK ADDRESS =   000000000000

The CCW trace:

17:17:13 HHC01413I Hercules version 4.7.0.10968-SDL-DEV-g69a0fab2
[...]
17:17:45 HHC01603I t+1200 (E7)
17:17:45 HHC02204I CCW trace for 0:1200 for CCWs (E7) set to ON
[...]
17:18:02 HHC01334I 0:1200 CHAN: ORB: IntP:00F27C08 Key:0 LPM:80 Flags:0C000 ....FP...... ........ CCW:7FFDB078
17:18:02 HHC00806I Processor CP00: I/O interrupt code 00010042 parm 00F27C08 id 00000000
17:18:02 HHC01317I 0:1200 CHAN: scsw 00C04007, stat 0C00, count 0000, ccw 7FFDB090
17:18:02 HHC01318I 0:1200 CHAN: test I/O: cc=0
17:18:02 HHC01334I 0:1200 CHAN: ORB: IntP:00F27C08 Key:0 LPM:80 Flags:0C000 ....FP...... ........ CCW:7FFDB0E8
17:18:02 HHC00806I Processor CP00: I/O interrupt code 00010042 parm 00F27C08 id 00000000
17:18:02 HHC01317I 0:1200 CHAN: scsw 00C04007, stat 0C00, count 0000, ccw 7FFDB100
17:18:02 HHC01318I 0:1200 CHAN: test I/O: cc=0
17:18:02 HHC01334I 0:1200 CHAN: ORB: IntP:00F27C08 Key:0 LPM:80 Flags:0C200 ....FP....H. ........ CCW:7FE2D000
17:18:02 HHC01315I 0:1200 CHAN: ccw E7400040 7FE2DF50=>01800000 00000000 00000000 40C01000 00000042 00020000 00020000 00000000 00000000 00000000 00000000 06000001 00020000 00020000 02290000 00000000 ............ {..................................................
17:18:02 HHC01315I 0:1200 CHAN: ccw E7400040 7FE2DF50=>01800000 00000000 00000000 40C01000 00000042 00020000 00020000 00000000 00000000 00000000 00000000 06000001 00020000 00020000 02290000 00000000 ............ {..................................................
17:18:02 HHC01312I 0:1200 CHAN: stat 0E00, count 0000
17:18:02 HHC01313I 0:1200 CHAN: sense 80000000 00FFFF01 00000000 00000000 00000000 00000000 00000080 00000000
17:18:02 HHC01314I 0:1200 CHAN: sense CMDREJ 
17:18:02 HHC00806I Processor CP00: I/O interrupt code 00010042 parm 00F27C08 id 00000000
17:18:02 HHC01317I 0:1200 CHAN: scsw 00C24017, stat 0E00, count 0000, ccw 7FE2D008
17:18:02 HHC01318I 0:1200 CHAN: test I/O: cc=0
17:18:16 HHC01334I 0:1200 CHAN: ORB: IntP:00F27C08 Key:0 LPM:80 Flags:0C200 ....FP....H. ........ CCW:7FE2A000
17:18:16 HHC01315I 0:1200 CHAN: ccw E7400040 7FE2AF50=>01800000 00000000 00000000 40C01000 00000042 00150000 00150000 00000000 00000000 00000000 00000000 06000001 00150000 00150000 01180000 00000000 ............ {..................................................
17:18:16 HHC01315I 0:1200 CHAN: ccw E7400040 7FE2AF50=>01800000 00000000 00000000 40C01000 00000042 00150000 00150000 00000000 00000000 00000000 00000000 06000001 00150000 00150000 01180000 00000000 ............ {..................................................
17:18:16 HHC01312I 0:1200 CHAN: stat 0E00, count 0000
17:18:16 HHC01313I 0:1200 CHAN: sense 80000000 00FFFF01 00000000 00000000 00000000 00000000 00000080 00000000
17:18:16 HHC01314I 0:1200 CHAN: sense CMDREJ 
17:18:16 HHC00806I Processor CP00: I/O interrupt code 00010042 parm 00F27C08 id 00000000
17:18:16 HHC01317I 0:1200 CHAN: scsw 00C24017, stat 0E00, count 0000, ccw 7FE2A008
17:18:16 HHC01318I 0:1200 CHAN: test I/O: cc=0
17:18:16 17:18:16 HCPWRP959I EULER1   SYSTEM TERMINATION IN PROGRESS ON 2023-06-29 
17:18:16 HHC01317I 0:1200 CHAN: scsw 00C20000, stat 0E00, count 0000, ccw 7FE2A008
17:18:16 HHC01318I 0:1200 CHAN: test I/O: cc=1
17:18:20 HHC00809I Processor CP00: disabled wait state 0002000000000000 0000000000000902

As much as I've followed the interesting conversation with @arfineman, the CCW trace is far beyond my level of knowledge; perhaps they are meaningful to you. But the success with the non-SSI z/VM, and the Wait 902 failure only with the SSI z/VM, kinda supports my earlier suspicion. It would mean that a 1st level SSI build, prior to the x'E7' fix, has created what is for the x'E7' fixed build a corrupted DASD. I think.

As stated, I'll do so more tests. including doing a 1st level SSI build with the x'E7' fixed SDL-hyperion. OK. it'll take some time, so please bear with me.

Cheers,

Peter

@arfineman
Copy link
Contributor

arfineman commented Jun 29, 2023

Hi Fish,

Why do I get this error when I try to trace?

HHC01603I t+100 (E7)
HHC02205E Invalid argument t+100 (E7)
HHC00007I Previous message from function 'OnOffCommand' at hsccmd.c(8315)

The previous traces no matter what the cause, it should not have been '01' in byte 7 of the sense. That is format 0 message 1 "Invalid Command". E7 is not an invalid command.

In regard to testing, I have been enjoying the generosity of @wrljet with providing a link to a pre-build version of Hercules with the latest fixes. Otherwise I have to get back to restarting my old build machine.

Best regards,

@zVMJedi
Copy link
Author

zVMJedi commented Jun 29, 2023

I'm in the same boat, alas. I had to pull my VS2017 environment because it was causing Excel to crash.
Yes, really. Similar to Aaron, I'm planning a W7 VM in my WS2008R2 solely to do builds in the future, but I have not yet started that project.

Hi Fish, Why do I get this error when I try to trace ? HHC01603I t+100 (E7) HHC02205E Invalid argument t+100 (E7) HHC00007I Previous message from function 'OnOffCommand' at hsccmd.c(8315)

The previous traces no matter what the cause, it should not have been '01' in byte 7 of the sense. That is format 0 message 1 'Invalid Command'. E7 is not an invalid command.

In regard to testing, I have been enjoying the generosity of @wrljet with providing a link to a pre-build version of Hercules with the latest fixes. Otherwise I have to get back to restarting my old build machine. Best regards,

@wrljet
Copy link
Member

wrljet commented Jun 29, 2023

I'm in the same boat, alas. I had to pull my VS2017 environment because it was causing Excel to crash. Yes, really.

Really? That's crazy. Any ideas how/why?

Bill

@wrljet
Copy link
Member

wrljet commented Jun 29, 2023

In regard to testing, I have been enjoying the generosity of @wrljet with providing a link to a pre-build version of Hercules with the latest fixes.

I'll rebuild now with the latest. Stand by... :)

(I really need to get that automated!)

@zVMJedi
Copy link
Author

zVMJedi commented Jun 29, 2023

I'm in the same boat, alas. I had to pull my VS2017 environment because it was causing Excel to crash. Yes, really.

Really? That's crazy. Any ideas how/why?

Bill

Some Merry Prankster called "TLSOfficeAdd-in.dll" installed by VS. I found a purported solution posted by another victim experiencing the same Excel crash caused by VS. They solved theirs by un-Registering the .dll but that didn't work for me. So I sadly pulled VS2017, it worked beautifully with all your kind help.

@wrljet
Copy link
Member

wrljet commented Jun 29, 2023

Here you go:

@arfineman
Copy link
Contributor

arfineman commented Jun 29, 2023

Thank you. You are a life saver. :)
Best regards,

@wrljet
Copy link
Member

wrljet commented Jun 29, 2023

I'm in the same boat, alas. I had to pull my VS2017 environment because it was causing Excel to crash. Yes, really.

Really? That's crazy. Any ideas how/why?
Bill

Some Merry Prankster called "TLSOfficeAdd-in.dll" installed by VS. I found a purported solution posted by another victim experiencing the same Excel crash caused by VS. They solved theirs by un-Registering the .dll but that didn't work for me. So I sadly pulled VS2017, it worked beautifully with all your kind help.

I wonder what's up with that?!

I just checked my main system (which has VS2010, 2017, and 2022 installed, and I don't have that DLL.
Nor is it on the Win 10 VM I typically use for Hercules stuff.

But, if you had installed VS "by hand" at some point (not with Hercules Helper) it might have installed some Office development "workload" that includes that DLL.

This last build took me a little longer because I ran into a bug that sneaked in when I made things Hercules-Aethra aware a while back. So if you do use Hercules-Helper for Windows, you'll want to refresh your copy.

Bill

@arfineman
Copy link
Contributor

arfineman commented Jun 29, 2023

Hi Fish,

This is excellent work. With the latest version that the Great @wrljet built, good tests succeed and bad ones fail.

However, I did notice when the device trace is on, in most cases the first CCW is displayed twice, specially in cases of a failure.

I don't know if it relates to secret feature I knew about Hercules that I was not going to disclose, for the concern that it may be fixed. I had noticed that when PGMTRACE is on, the failing CCWs are traced. I liked this feature so much, that I always started a PGMTRACE with a nonexistence program interrupt code.

But the channel program that was rejected from the trace provided by @Peter-J-Jansen is valid and its failure should be investigated.

Best regards,

17:18:16 HHC01315I 0:1200 CHAN: ccw E7400040 7FE2AF50=>01800000 00000000 00000000 40C01000 00000042 00150000 00150000 00000000 00000000 00000000 00000000 06000001 00150000 00150000 01180000 00000000 ............ {..................................................
17:18:16 HHC01315I 0:1200 CHAN: ccw E7400040 7FE2AF50=>01800000 00000000 00000000 40C01000 00000042 00150000 00150000 00000000 00000000 00000000 00000000 06000001 00150000 00150000 01180000 00000000 ............ {..................................................
17:18:02 HHC01312I 0:1200 CHAN: stat 0E00, count 0000
17:18:02 HHC01313I 0:1200 CHAN: sense 80000000 00FFFF01 00000000 00000000 00000000 00000000 00000080 00000000
17:18:02 HHC01314I 0:1200 CHAN: sense CMDREJ 

@Fish-Git
Copy link
Member

Fish-Git commented Jun 30, 2023

But the success with the non-SSI z/VM, and the Wait 902 failure only with the SSI z/VM, kinda supports my earlier suspicion. It would mean that a 1st level SSI build, prior to the x'E7' fix, has created what is for the x'E7' fixed build a corrupted DASD. I think.

I'm not so sure! I personally feel a compiler bug is more likely. Why? Because according to your provided CCW trace, the X'E7' Prefix CCW that z/VM is issuing is completely valid!

When I first saw your message, I copied and added the above E7 CCW into my test program (which I'm still trying to get ready for committing), and guess what? It ran fine! No error whatsoever!

I suggest doing this:

Since we can see from the sense information in your trace that the CMDREJ is Format 0, Message 1 (sense 80000000 00FFFF01), I suggest inserting a simple LOGMSG everywhere in Hercules where a FORMAT_0, MESSAGE_1 command reject (SENSE_CR) is being issued, so we can determine precisely where it is occurring:

    LOGMSG("HHC99999E *** BINGO! ***");

Because the above message begins with an error message number, Herc's logmsg logic should then identify (via the HHC00007I message) the exact source file and line number where that message was issued (as long as your msglevel includes '+emsgloc' of course, which I believe should be the default for production Release builds of Hercules).

Then we can go from there, by inserting some additional LOGMSG statements to display the values of the variables that triggered that CMDREJ, etc.

Something else you could try too, is to do a full (non-specific) CCW trace on that device (just t+1200) so that we can see the complete channel program being issued (entire CCW chain). It might be that some other CCW following the E7 Prefix is the one that's being rejected and it simply appears that the E7 Prefix CCW is being rejected when it really isn't. It might be some other CCW that's being rejected.

There are only 6 places that I can see in Hercules where a Format 0 Message 1 Command Reject is being issued, and they're all in ckddasd.c: lines 3530, 3633, 3667, 5156, 5419 and 5951 (with 5951 being the most likely culprit).

Do all of your dasds specify cu=3990-6? Because if they don't, that might be your problem! See the code at line 5951 where the CMDREJ is being issued for Locate Record Extended:

    /* LRE only valid for 3990-3 or 3990-6 (or greater) */
    if (0
        || dev->ckdcu->devt != 0x3990
        || !(0
             || MODEL3( dev->ckdcu )
             || MODEL6( dev->ckdcu )
            )
    )
    {
        /* Set command reject sense byte, and unit check status */
        ckd_build_sense (dev, SENSE_CR, 0, 0, FORMAT_0, MESSAGE_1);
        *unitstat = CSW_CE | CSW_DE | CSW_UC;
        return;
    }

As stated, I'll do so more tests. including doing a 1st level SSI build with the x'E7' fixed SDL-hyperion. OK. it'll take some time, so please bear with me.

Nah! Don't bother doing that just yet! Do what I suggested above first. I believe the above will be much faster and easier and should absolutely without question identify precisely where the CMDREJ is being issued. Once we know that, completing the remainder of the puzzle should quickly follow.

Good Luck! I hope that helps!

@Fish-Git
Copy link
Member

Fish-Git commented Jun 30, 2023

Why do I get this error when I try to trace?

HHC01603I t+100 (E7)
HHC02205E Invalid argument t+100 (E7)
HHC00007I Previous message from function 'OnOffCommand' at hsccmd.c(8315)

Probably because you're not running the right version of Hercules!  :)

That new feature was only just added just a few days ago on June 23. Have you done a git pull to refresh your repository and rebuilt Hercules since then? Because if you haven't, then that's your problem!

@zVMJedi
Copy link
Author

zVMJedi commented Jun 30, 2023

With Peter probably asleep, I'll help out by saying he surely must be specifying cu=3990-6 because when this all started, one of the first things he suggested to me in an e-mail was to be sure I had cu=3990-6 in my DASD statements.

Do all of your dasds specify cu=3990-6? Because if they don't, that might be your problem! See the code at line 5951 where the CMDREJ is being issued for Locate Record Extended:

    /* LRE only valid for 3990-3 or 3990-6 (or greater) */
    if (0
        || dev->ckdcu->devt != 0x3990
        || !(0
             || MODEL3( dev->ckdcu )
             || MODEL6( dev->ckdcu )
            )
    )
    {
        /* Set command reject sense byte, and unit check status */
        ckd_build_sense (dev, SENSE_CR, 0, 0, FORMAT_0, MESSAGE_1);
        *unitstat = CSW_CE | CSW_DE | CSW_UC;
        return;
    }

@Fish-Git
Copy link
Member

Fish-Git commented Jun 30, 2023

However, I did notice when the device trace is on, in most cases the first CCW is displayed twice, specially in cases of a failure.

Anomaly. Herc was changed a short while back to try and defer tracing for read type CCWs until after the data has been read (instead of always tracing CCW before they're processed like it was doing before).

Because a control CCW, while not strictly a "read" type (it can actually be a write AND a read type, depending on what it's designed to do), it is traced once before it is processed (just like write type CCWs are) and then again after it has been processed (just like read type CCWs are), resulting in it being traced twice.

Otherwise we would need much more complicated logic to determine whether it should be traced before or after or both. I wanted to keep things simple.

Note that you will sometimes still get double traces even for non-control type commands, such as when a write type CCW fails: because it is a write type command, it is traced before it is processed, and then again when it fails. Weird, yes, but there you have it.

(My goal when I made this change was to ensure we could see the data that was actually read from the device. Before my change, the CCW trace displayed whatever garbage happened to be in the read command's I/O buffer (which was misleading) and we would never see what was actually read. With the change however, now we can see the data that was actually read.)

@Fish-Git
Copy link
Member

With Peter probably asleep, I'll help out by saying he surely must be specifying cu=3990-6 because when this all started, one of the first things he suggested to me in an e-mail was to be sure I had cu=3990-6 in my DASD statements.

Good!  That's one suspect eliminated.  :)

Thanks, Bill.

@Fish-Git
Copy link
Member

But the channel program that was rejected from the trace provided by @Peter-J-Jansen is valid and its failure should be investigated.

No shit, Aaron!  :)

What do you think we're doing?!  :)

@arfineman
Copy link
Contributor

Fish is correct and mystery solved. I tested standalone with DASD that was not a Mod-6 and received format 0, message 1, which is the correct behavior.
Best regards,

@Fish-Git
Copy link
Member

Fish-Git commented Jun 30, 2023

Fish is correct and mystery solved. I tested standalone with DASD that was not a Mod-6 and received format 0, message 1, which is the correct behavior.

Duh!  But according to Bill, Peter is supposedly specifying cu=3990-6, so it's still a mystery why he's getting command reject. There're still some missing pieces to this puzzle that we need to identify.

I'm wondering if when running in SSI mode, z/VM is somehow presuming an older model CU (Control Unit) is being used, or something like that? It's channel programs are obviously not the same as they are when running in non-SSI mode. I don't know SSI so I'm just speculating (guessing) here.

Do know much about SSI, Aaron? Because I don't know shit about it!  :(

@arfineman
Copy link
Contributor

From what I know about Hercules, I don't think you can run SSI first level. SSI requires shared DASD and at least one CTC connecting every member to others. When you run SSI on different CPUs, all members will get downgraded to the lowest model CPU. This is to ensure if a virtual machine is relocated from one member to another, the virtual machine doesn't crash due to lack of CPU facilities. If I know the configuration details of the SSI setup, I may be able to assist.
Best regards,

@zVMJedi
Copy link
Author

zVMJedi commented Jun 30, 2023

It can be done, it'll be a single-Member SSI, which is about as satisfying as kissing one's sister given the whole intent and purpose of SSI but it can be done. Hercules' DASD-sharing scheme and Peter's CTCE make it possible to add Members 2,3, and 4 if desired. If they're all running the same Version/Release of Hercules, in like Flynn. As for "Would it / could it / will it handle an LGR?" that's yet to be determined by some Brave Soul with a fetish for arrows in the back.

From what I know about Hercules, I don't think you can run SSI first level. SSI requires shared DASD and at least one CTC connecting every member to others. When you run SSI on different CPUs, all members will get downgraded to the lowest model CPU. This is to ensure if a virtual machine is relocated from one member to another, the virtual machine doesn't crash due to lack of CPU facilities. If I know the configuration details of the SSI setup, I may be able to assist. Best regards,

@Peter-J-Jansen
Copy link
Collaborator

Peter-J-Jansen commented Jun 30, 2023

cu=3990-6 fixed it. How embarrassing for me. I had indeed mentioned that to @zVMJedi, and I have that option always present on z/OS DASD's, but for these z/VM 7.2 DASD's that cu option wasn't present yet. Added it, and bingo, all works now.

Apologies for wasting all of your precious time caused by this silly oversight of mine!

Cheers,

Peter

@Fish-Git
Copy link
Member

Fish-Git commented Jun 30, 2023

cu=3990-6 fixed it.

Fantastic!  Mystery solved.  :)

How embarrassing for me. I had indeed mentioned that to @zVMJedi, and I have that option always present on z/OS DASD's, but for these z/VM 7.2 DASD's that cu option wasn't present yet. Added it, and bingo, all works now.

Apologies for wasting all of your precious time caused by this silly oversight of mine!

Well don't feel too embarrassed, Peter, It's okay to feel a little embarrassed maybe, but you shouldn't feel overly embarrassed about it. You're human! Just like the rest of us. And humans sometimes make mistakes. Sometimes they're little ones, like this time. Other times they're big ones. But people make mistakes all the time. It's a part of life.

I'm just glad you got things working!  :)

Take care my friend.

@arfineman
Copy link
Contributor

The fix in addition to improved functionality also closed a bug that allowed LRE to execute on a device that did not support it. Because PFX was incorrectly bundled to LR.
Best regards,

@zVMJedi
Copy link
Author

zVMJedi commented Jun 30, 2023

Everything working correctly here with this latest Build. Level1 z/VM 7.2 is running smoothly and all 4 Kluster Kids on the 2nd floor are happy campers as well. Now for RSCS and DirMaint and DB/2 for z/VM!

Thanks again, Bill!   And Fish!   And everybody else who chipped in!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
BUG The issue describes likely incorrect product functionality that likely needs corrected.
Projects
None yet
Development

No branches or pull requests

5 participants