Closed zVMJedi closed 1 year ago
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.
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.
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.
I've always used the generic cu=3990 . I'll add the -6 and see what happens.
Here's my 2nd Level UserID:
LINK MAINT 0190 0190 RR
LINK MAINT 019D 019D RR
LINK MAINT 019E 019E RR
LINK SSIJEDI2 2723 2723 MW
LINK SSIJEDI2 2724 2724 MW
LINK SSIJEDI2 2725 2725 MW
LINK SSIJEDI3 3723 3723 MW
LINK SSIJEDI3 3724 3724 MW
LINK SSIJEDI3 3725 3725 MW
LINK SSIJEDI4 4723 4723 MW
LINK SSIJEDI4 4724 4724 MW
LINK SSIJEDI4 4725 4725 MW
MDISK 0191 3390 6501 10 VMCOM1 MW READ WRITE MULTI
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
Kind regards, Charles
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.
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.
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,
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 is correct.
If you write a Rexx exec to turn the bit on, use the BITOR function in Rexx.
Thanks, Aaron.
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.
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
Hi Fish,
Try your reply with #CP VI VMSG xxxxxx
where xxxxxx is your reply text.
Best regards,
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,
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
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
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
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,
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
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!
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. :(
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,
Fish! See my Comment from 3 hours ago.
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? :)
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. :(
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,
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.
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!
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! See my Comment from 3 hours ago.
Saw it! And responded to it.
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?
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.
Since SSI requires most of the DASD volumes be shared, the only way to setup an SSI cluster under Hercules is to define full pack minidisks with MW. But the fact is you do not need to have a bunch of dedicated volumes to setup a second level zVM system. You can have a fully functional test second level zVM system with less than 1000 cylinders. Best regards,
Fix committed -- 706b63a06758809842be4d4ba8790c0f5c17bcaf
Please git pull, rebuild and retest to confirm. Thanks.
Thank you VERY much! I've never rebuilt for Windows but I know there's a How-To for it somewhere; please point me there and I'll get going. Never mind, I've FOUND it. YIKES!
Well, it's not about setting up an SSI cluster, it's just getting z/VM to IPL 2nd-level.
I suspected as much, which is why I asked.
Replace your DEDICATE statements with these:
Thanks. I'll give it a try.
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.
Understood. But since I don't want these particular dasds shared with anyone (I'm not trying to setup an SSI cluster), there's really no need for me to use MDISK or DEVNO, yes? Besides, I was always taught that it's better (more efficient?) for z/VM to not get involved at all *or only get minimally involved) in a guest's I/O. Thus DEDICATE.
I'm going to try using MDISK solely to try and recreate the problem.
(But if I was setting up a 2nd level for real, I'd use DEDICATE!)
But the fact is you do not need to have a bunch of dedicated volumes to setup a second level zVM system. You can have a fully functional test second level zVM system with less than 1000 cylinders.
I'm sure I could. But I was only trying to get from point A to point B as quickly as possible, and using an exact copy of my existing z/VM 7.2 dasd seemed the fastest and easiest route to take.
Thank you VERY much! I've never rebuilt for Windows but I know there's a How-To for it somewhere; please point me there and I'll get going. Never mind, I've FOUND it. YIKES!
Use Bill's Hercules Helper script. It's fast, easy and foolproof. It does everything for you, from the cloning of the repository, installing needed packages, configuring, building, etc. You just enter a simple command and VOILA! Within minutes you have a working Hercules.
For Windows, use Hercules Helper for Windows
Be sure to read the instructions (which aren't very good) carefully, and don't be bashful about any questions (before trying your own corrective actions).
For Windows, use Hercules Helper for Windows
Be sure to read the instructions (which aren't very good) carefully, and don't be bashful about any questions (before trying your own corrective actions).
Thank you; I'm afraid this is going to take me a while, so be patient. I'm going to be doing this on a Windows Server 2008R2, if that's not an appropriate host, I'm stuck . I'm never going to say an unkind word about VMSES/E again.
Thank you; I'm afraid this is going to take me a while, so be patient. I'm going to be doing this on a Windows Server 2008R2, if that's not an appropriate host, I'm stuck . I'm never going to say an unkind word about VMSES/E again.
We're not in a hurry.
I've never tried it on Windows Server 2008. But I suspect it will work fine. It does work on Windows 7 (with a little fiddling).
Also, I can just send you a pre-built, if you want.
Bill
Thank you; I'm afraid this is going to take me a while, so be patient. I'm going to be doing this on a Windows Server 2008R2, if that's not an appropriate host, I'm stuck . I'm never going to say an unkind word about VMSES/E again.
We're not in a hurry.
I've never tried it on Windows Server 2008. But I suspect it will work fine. It does work on Windows 7 (with a little fiddling).
Also, I can just send you a pre-built, if you want.
Bill
I would appreciate that, Bill. I've got it unZIP'd, but I'm already confused about what options I should specify once in PowerShell and ready to start that buildall.ps1. I do need to learn this process, though, and I will.
OK, let me get it built.
For what it's worth, the command I used in Windows 7 with PowerShell 5.1 was:
.\hercules-buildall.ps1 -BuildDir C:\xfer\hercules-develop -VS2017 -GitBranch develop
It had been run on that Windows 7 system before, so all the "fiddly" part was already in place for me.
Alas, I've put the new build in place and now I'm getting this on every UserID starting on 1st level CP:
15:51:31 HCPERP500I DASD 0703 AN OPERATION WAS TERMINATED BECAUSE A
15:51:31 HCPERP500I COMMAND REJECT ERROR OCCURRED
15:51:31 HCPERP6300I SENSE DATA FORMAT = 00 MSG CODE = 04
15:51:31 HCPERP6301I CHANNEL COMMAND WORD COMMAND CODE = E7
15:51:31 HCPERP6302I SEEK ADDRESS = 000001180000
15:51:31 HCPERP6303I SENSE = 80000000 00FFFF04 00000000 00000000 00000000
15:51:31 HCPERP6303I 00000000 00000080 00011800
15:51:31 HCPERP6304I IRB = 00C24017 5554A568 0E000000 00800000
15:51:31 HCPERP6305I USERID = OPERSYMP
15:51:31 HCPERP2216I CHANNEL PATH ID = 07
15:51:31 HCPERP500I DASD 0703 AN OPERATION WAS TERMINATED BECAUSE A
15:51:31 HCPERP500I COMMAND REJECT ERROR OCCURRED
15:51:31 HCPERP6300I SENSE DATA FORMAT = 00 MSG CODE = 04
15:51:31 HCPERP6301I CHANNEL COMMAND WORD COMMAND CODE = E7
15:51:31 HCPERP6302I SEEK ADDRESS = 000001E70001
15:51:31 HCPERP6303I SENSE = 80000000 00FFFF04 00000000 00000000 00000000
15:51:31 HCPERP6303I 00000000 00000080 0001E701
15:51:31 HCPERP6304I IRB = 00C24017 5554A568 0E000000 00800000
15:51:31 HCPERP6305I USERID = OPERSYMP
15:51:31 HCPERP2216I CHANNEL PATH ID = 07
They're occurring on any of my DASD where a UserID has some MDISK it needs as it gets AUTOLOG'd.
I have cu=3990-6
on my .CNF definitions.
Here's one from OPERATOR as I IPL'd CMS:
15:54:41 I CMS
z/VM V7.2.0 2020-06-26 09:03
15:54:42 HCPERP500I DASD 0703 AN OPERATION WAS TERMINATED BECAUSE A
15:54:42 HCPERP500I COMMAND REJECT ERROR OCCURRED
15:54:42 HCPERP6300I SENSE DATA FORMAT = 00 MSG CODE = 04
15:54:42 HCPERP6301I CHANNEL COMMAND WORD COMMAND CODE = E7
15:54:42 HCPERP6302I SEEK ADDRESS = 00000A480000
15:54:42 HCPERP6303I SENSE = 80000000 00FFFF04 00000000 00000000 00000000
15:54:42 HCPERP6303I 00000000 00000080 000A4800
15:54:42 HCPERP6304I IRB = 00C24017 2AAA1568 0E000000 00800000
15:54:42 HCPERP6305I USERID = OPERATOR
15:54:42 HCPERP2216I CHANNEL PATH ID = 07
DMSACP723I D (192) R/O
Ready; T=0.14/0.19 15:54:42
They're all the 'E7' CCW.
This is what the RDCBK for 703 looks like:
loc 703
16:01:26 RDEV CPVOL VEXBK
16:01:26 00EC5CE8 0115F000 00E39000
Ready; T=0.01/0.01 16:01:26
* COMMENT EC5CE8 + X'138' = EC5E20
CP D HL00EC5E20
16:02:44 HL00EC5E20 00E5A1C0 06 RFFF62E20
Ready; T=0.01/0.01 16:02:44
CP D HL00E5A1C0.64
16:03:07 HL00E5A1C0 3990E933 900C5200 10102032 2721000F 06 RFFFCD1C0
16:03:07 HL00E5A1D0 E000E5A2 05940222 13090674 00000000
16:03:07 HL00E5A1E0 00000000 00000000 32321502 DFEE0001
16:03:07 HL00E5A1F0 0677080F 007F4800 15FF0000 00002721
16:03:07 HL00E5A200 00E54088 F3F3F9F0 A1DC0482 40000000
16:03:07 HL00E5A210 002C4838 002ABD90 0020A170 001FED20
16:03:07 HL00E5A220 001F9338
Ready; T=0.01/0.01 16:03:07
In general, it would be good to show the top of the Hercules output just so we can be sure it's the intended build/commit.
Beyond that, I'll leave it to the experts on this issue.
In general, it would be good to show the top of the Hercules output just so we can be sure it's the intended build/commit. Beyond that, I'll leave it to the experts on this issue.
Here you go, the Version sort of took me by surprise 4.7.0.10955?
HHC01603I version HHC01413I Hercules version 4.7.0.10955-SDL-DEV-g706b63a0 HHC01414I (C) Copyright 1999-2023 by Roger Bowler, Jan Jaeger, and others HHC01417I *** Hercules-Helper Test Build *** HHC01415I Build date: Jun 14 2023 at 16:15:00 HHC01417I Built with: Microsoft Visual Studio 2017 (MSVC 191627048 0) HHC01417I Build type: Windows MSVC AMD64 host architecture build HHC01417I Modes: S/370 ESA/390 z/Arch
I thought we were barely at 4.6 as of a few days ago.
Can you do a t+703
and post the traces for the failing I/O?
Here you go, the Version sort of took me by surprise 4.7.0.10955?
That's just how we do the versioning. After an official release to the 'master' branch, the major number bumps in the 'develop' branch. Lots of projects work like that.
Here you go, the Version sort of took me by surprise 4.7.0.10955?
That's just how we do the versioning. After an official release to the 'master' branch, the major number bumps in the 'develop' branch.
Correct. The current official release is indeed 4.6, but that's in the 'master' branch of our git repository. Once we release a new version, we then begin development on the next version in the 'develop' branch: 4.7 in this case, which is what you (Charles) are running. That's where the fix was commited: in the "still under development" 'develop' branch of our repository. That's what the -DEV
part of the version string means: "This is the 4.7 version of Hercules that is STILL UNDER DEVELOPMENT".
Can you do a
t+703
and post the traces for the failing I/O?
I turned on T+703 and then LOG'd on to an ID that causes the Reject to the address, looks like this:
HHC01315I 0:0703 CHAN: ccw E7400041 55544510=>01800000 00000000 00000000 40C00000 ............ {.. HHC01312I 0:0703 CHAN: stat 0E00, count 0000 HHC01313I 0:0703 CHAN: sense 80000000 00FFFF04 00000000 00000000 00000000 00000000 00000080 0001EE00 HHC01314I 0:0703 CHAN: sense CMDREJ HHC01603I T+ 703 HHC02229I Instruction tracing on range 703-703 HHC00801I Processor CP00: SIE: Special-operation exception interruption code 0013 ilc 4 HHC02324I SIE: CP00: PSW=000830008002416A INST=B2190000 SAC 0(0) set_address_space_control HHC02326I SIE: CP00: R:00000000:A:000000002A8AC000:K:06=00080000 80024038 06000068 70FF0200 ...... ......... HHC02269I CP00: GR00=00000000 GR01=00080000 GR02=00000000 GR03=00000000 HHC02269I CP00: GR04=00000000 GR05=00000000 GR06=00000000 GR07=00000000 HHC02269I CP00: GR08=00000000 GR09=00000000 GR10=00000000 GR11=00000000 HHC02269I CP00: GR12=00024000 GR13=00000000 GR14=80024088 GR15=00000000 HHC02271I CP00: CR00=000000E0 CR01=00000000 CR02=00000000 CR03=00000000 HHC02271I CP00: CR04=00000000 CR05=00000000 CR06=00000000 CR07=00000000 HHC02271I CP00: CR08=00000000 CR09=00000000 CR10=00000000 CR11=00000000 HHC02271I CP00: CR12=00000000 CR13=00000000 CR14=C2000000 CR15=00000000 HHC00801I Processor CP04: SIE: Specification exception interruption code 0006 ilc 4 HHC02324I SIE: CP04: PSW=000810008002338A INST=B2630011 CMPSC 1,1 cmpsc_2012 HHC02326I SIE: CP04: R:0FE7EA50:A:000000002924FA50:K:F6=FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF ................ HHC02326I SIE: CP04: R:0FE7EA50:A:000000002924FA50:K:F6=FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF ................ HHC02269I CP04: GR00=00000061 GR01=0FE7EA50 GR02=0002338E GR03=C1D4C5D5 HHC02269I CP04: GR04=00000006 GR05=00000000 GR06=013F1000 GR07=00022000 HHC02269I CP04: GR08=80F3B480 GR09=00021000 GR10=00000000 GR11=000047A8 HHC02269I CP04: GR12=000232E0 GR13=00021DF0 GR14=80023346 GR15=00000000 HHC02271I CP04: CR00=000010E0 CR01=00000000 CR02=00000000 CR03=00000000 HHC02271I CP04: CR04=00000000 CR05=00000000 CR06=00000000 CR07=00000000 HHC02271I CP04: CR08=00000000 CR09=00000000 CR10=00000000 CR11=00000000 HHC02271I CP04: CR12=00000000 CR13=00000000 CR14=C2000000 CR15=00000000 HHC01315I 0:0703 CHAN: ccw E7400041 2AAA1510=>01800000 00000000 00000000 40C00000 ............ {.. HHC01312I 0:0703 CHAN: stat 0E00, count 0000 HHC01313I 0:0703 CHAN: sense 80000000 00FFFF04 00000000 00000000 00000000 00000000 00000080 0001EE00 HHC01314I 0:0703 CHAN: sense CMDREJ herc =====>
but I've never needed to turn on Trace in Hercules, so if the Trace has gone somewhere else, where is that?
(EDIT by Fish, after the fact: your device trace failed because you entered the command wrong. The command was supposed to be "t+703" as all one word (with no spaces). The command you entered was "t+", which is the command to turn on instruction tracing, not device tracing! (Oops!) The "703" in your command (because of the errant space) was thus interpreted as the storage range of where the instruction trace should take place. And since 703 is an odd address, there will never be any instruction executed at that address! Thus no tracing occurred! (Oops!)
So the lesson to be learned here is, to start a DEVICE I/O trace, you need to enter the command "t+xxx" (with no spaces!), where 'xxx' is the device number of the device you want to trace I/O for. Understand? -- Fish)
Here you go, the Version sort of took me by surprise 4.7.0.10955?
That's just how we do the versioning. After an official release to the 'master' branch, the major number bumps in the 'develop' branch.
Correct. The current official release is indeed 4.6, but that's in the 'master' branch of our git repository. Once we release a new version, we then begin development on the next version in the 'develop' branch: 4.7 in this case, which is what you (Charles) are running. That's where the fix was commited: in the "still under development" 'develop' branch of our repository. That's what the
-DEV
part of the version string means: "This is the 4.7 version of Hercules that is STILL UNDER DEVELOPMENT".
And, the 'develop' branch isn't guaranteed to even build correctly on all systems, at any random point in the commit timeline. Although we all try to do our best!
Alas, I've put the new build in place and now I'm getting this on every UserID starting on 1st level CP:
15:51:31 HCPERP500I DASD 0703 AN OPERATION WAS TERMINATED BECAUSE A 15:51:31 HCPERP500I COMMAND REJECT ERROR OCCURRED 15:51:31 HCPERP6300I SENSE DATA FORMAT = 00 MSG CODE = 04 15:51:31 HCPERP6301I CHANNEL COMMAND WORD COMMAND CODE = E7 15:51:31 HCPERP6302I SEEK ADDRESS = 000001180000 15:51:31 HCPERP6303I SENSE = 80000000 00FFFF04 00000000 00000000 00000000 15:51:31 HCPERP6303I 00000000 00000080 00011800
Yes, I'm seeing the same thing. Apparently the fix for this issue wasn't as "quick" as Aaron made it out to be! ;-)
I'm looking into it and hope the have it fixed "soon". (as in possibly later tonight or tomorrow)
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