¿ªÔÆÌåÓý


Re: #VMCE #rexx EE goes XEDIT - compiling a wish list #VMCE #rexx

 

On Fri, Oct 28, 2022 at 02:00 AM, Mark A. Stevens wrote:
I don't know where XEDIT lives in memory, when invoked. Does putting it, or part of it in a DisContiguous Saved Segment (DCSS) hurt or help? Was it in the CMS DCSS since SP 1?
Quote from page 348:
System Product Editor Interface to Access Files in Storage

CMS uses the SUBCOM facility to allow a number of CMS commands to use an
XEDIT interface to access files in storage. Applications can read or write specific
records without having to go to disk or use the program stack to transfer the data
to or from XEDIT. This improves performance.
This interface is used internally by CMS for processing the FILELIST, HELP,
PEEK, and SENDFILE commands. The interface is invoked by specifying the
XEDIT option on the LISTFILE or NAMEFIND commands. This option may
only be specified from the XEDIT environment.
When using this interface from an application program, only the extended Parame-
ter List can be used, and the high-order byte of of Register 1 must contain X'02' to
indicate SUBCOM is being used.
The application can invoke this interface via SVC 202 or via a BALR instruction.
Because XEDIT is a nucleus-resident routine, other nucleus-resident routines can
branch directly to it while routines that do not resides in the nucleus use SVC link-
age. When using an SVC 202, register 1 must point to the FSCB where the name
of the routine being invoked is the first token. [...]

348 VM/SP System Programmer's Guide


Re: #VMCE #rexx EE goes XEDIT - compiling a wish list #VMCE #rexx

 

The bREXX bug with literals in the parse template does not break running editor macros in general. If anybody knows of a XEDIT macro where this bug would change behaviour, I'd like to see it. I am sure there is always a way to program around this bug and I am confident to say this because of my experience on VM/SP 1+2.

Martin


Re: Adding disks found in DMKRIO and CPEREP error

 

Hello Mark,

Thank you for the link to the earlier message.? As for the 3270:

: Now start the 3270 emulator.
: Feel free to replace this with your preferred terminal emulation program.
cd WC3270
start wc3270.exe -keymap 3270 -title "VM Login" Model5.wc3270


Bertram Moshier / WB8ERT

On Fri, Oct 28, 2022 at 11:27 PM Mark A. Stevens via <marXtevens=[email protected]> wrote:
2) How do I copy and paste text from a 3270 screen to email without having it look so crappy.? Any thoughts?? Yeah, copy line by line, but ...

What 3270 emulator, on what OS, please?

?... Mark S.


Re: Adding disks found in DMKRIO and CPEREP error

 

2) How do I copy and paste text from a 3270 screen to email without having it look so crappy.? Any thoughts?? Yeah, copy line by line, but ...

What 3270 emulator, on what OS, please?

?... Mark S.


Re: Adding disks found in DMKRIO and CPEREP error

 

On Fri, Oct 28, 2022 at 12:21 PM, Bertram Moshier wrote:
Can someone help me create the 3350 and 3380 drives on the Herc system?? I'm not sure of the command.? (If someone already answered this question, I apologize for mising it.)? The drives are:
Rene gave an example in the following e-mail. I remembered reading it, and found it by searching via groups.io.
/g/h390-vm/message/2601

I Hope This Helps
?... Mark


Re: #VMCE #rexx EE goes XEDIT - compiling a wish list #VMCE #rexx

 

On Fri, Oct 28, 2022 at 07:19 PM, Mike Gro?mann wrote:
what do you mean by:
?
??BREXX still has a problem with parsing its command line, so that will be a challenge, in and of itself.¡°
?
The error in the parse statement or any other issue?
BREXX in MVS 3.8j , and in VM/370 does not handle literals when you use PARSE ARG, or ARG. The problem was discussed in earlier e-mails:

Rexx PARSE on VM/SP 5 behaves different from BRexx on VM/370 CE V1M1R1.1.
/g/h390-vm/message/3843

Possible bug in BREXX parse instruction
/g/h390-vm/message/3736

and issues have been opened in the following GitHub projects.

PARSE errors when literal patterns used #8


BREXX PARSE errors with literals in the template #61


I Hope This Helps
?... Mark S.


Re: Do I have a looping issue?

 

Hello!
<Me wearing a worn looking wide brimmed hat that's also worn by Indy
Jones and a long scarf with special color patterns>
Aaron, ideally the things that the OSTAILOR instructions are properly
documented, they are indeed Fish? The other problem is that how many
of us are even aware of them? Me? I am not.
<Now not wearing those.>

Be careful Fish, there's a crab looking for you.
-----
Gregg C Levine gregg.drwho8@...
"This signature fought the Time Wars, time and again."

On Fri, Oct 28, 2022 at 10:01 PM Aaron Finerman <arfinerman@...> wrote:

If OSTAILOR was meant to help in OS development (which I agree it could come handy) it would be perfected by addition of
EXT+ SVC+ PGM+ MCH+ commands to allow for tracing of all or selective codes.
Best regards,


On Fri, Oct 28, 2022 at 7:04 PM Harold Grovesteen <h.grovsteen@...> wrote:

On Fri, 2022-10-28 at 15:09 -0700, Fish Fish wrote:
Aaron Finerman wrote:

OSTAILOR is a useless option and should default to QUIET.
From the purpose of someone who only runs a mature operating system, I
can understand this perspective. However,...


But why can't Hercules issue a message as well? I mean, I can
certainly envision a situation where a programmer might be writing
code that has some type of program interrupt interception/handling
routine (STXIT I believe it's called? I'm not an MVS person!) to deal
with, say, a page fault or a data exception or even an operation
exception, but which is incorrectly coded to not expect a protection
exception.

Then too there is the case of stand-alone programs or a someone
writing (developing) their own operating system too, and would
appreciate being informed whenever something "unexpected" happens.
Have you considered that?
Absolutely agree 100%! I am aware of activities by individuals in all
of these areas. And can well understand when Hercules was being
debugged, the usefulness of seeing all program interruptions until
Hercules itself was reasonably well debugged. And then the "tailoring"
made sense.


OSTAILOR support (with its current default(*)) has been a part of
Hercules ever since version 1.61 release back in May 2000. And for
good reason IMO: it helps keep the Hercules user (which in most all
cases (but admittedly not necessarily every case) is a single
user/person) informed about the internal goings on inside that
amazing virtual mainframe sitting on their desk and running the
operating system and software of their choosing.

I'm seriously doubting our current OSTAILOR handling is *ever* going
to change in that regard.

HOWEVER...

Having said that, what I *can* envision is *maybe* (*possibly*)
adding a *new* OSTAILOR setting specifically designed for MVS 3.8j. A
new "OSTAILOR MVS38J" perhaps. Or maybe just "OSTAILOR MVS". Or maybe
"MVSNOPROT" or something. THAT I think might have a better chance of
being accepted by the other developers and the rest of the community.

But defaulting OSTAILOR to QUIET? Nope. Ain't gonna ever happen.
(That's a prediction by the way, not a promise.)


Just my 2 cents.
Mine too. :)


Re: Do I have a looping issue?

 

If OSTAILOR was meant to help in OS development (which I agree it could come handy) it would be perfected by addition of?
EXT+?SVC+?PGM+?MCH+?commands to allow for tracing of all or selective codes.
Best regards,?


On Fri, Oct 28, 2022 at 7:04 PM Harold Grovesteen <h.grovsteen@...> wrote:
On Fri, 2022-10-28 at 15:09 -0700, Fish Fish wrote:
> Aaron Finerman wrote:
>
> >
>
> > OSTAILOR is a useless option and should default to QUIET.

From the purpose of someone who only runs a mature operating system, I
can understand this perspective.? However,...
>
>
> But why can't Hercules issue a message as well? I mean, I can
> certainly envision a situation where a programmer might be writing
> code that has some type of program interrupt interception/handling
> routine (STXIT I believe it's called? I'm not an MVS person!) to deal
> with, say, a page fault or a data exception or even an operation
> exception, but which is incorrectly coded to not expect a protection
> exception.
>
> Then too there is the case of stand-alone programs or a someone
> writing (developing) their own operating system too, and would
> appreciate being informed whenever something "unexpected" happens.
> Have you considered that?

Absolutely agree 100%!? I am aware of activities by individuals in all
of these areas.? And can well understand when Hercules was being
debugged, the usefulness of seeing all program interruptions until
Hercules itself was reasonably well debugged. And then the "tailoring"
made sense.

>
> OSTAILOR support (with its current default(*)) has been a part of
> Hercules ever since version 1.61 release back in May 2000. And for
> good reason IMO: it helps keep the Hercules user (which in most all
> cases (but admittedly not necessarily every case) is a single
> user/person) informed about the internal goings on inside that
> amazing virtual mainframe sitting on their desk and running the
> operating system and software of their choosing.
>
> I'm seriously doubting our current OSTAILOR handling is *ever* going
> to change in that regard.
>
> HOWEVER...
>
> Having said that, what I *can* envision is *maybe* (*possibly*)
> adding a *new* OSTAILOR setting specifically designed for MVS 3.8j. A
> new "OSTAILOR MVS38J" perhaps. Or maybe just "OSTAILOR MVS". Or maybe
> "MVSNOPROT" or something. THAT I think might have a better chance of
> being accepted by the other developers and the rest of the community.
>
> But defaulting OSTAILOR to QUIET? Nope. Ain't gonna ever happen.
> (That's a prediction by the way, not a promise.)
>
>
> > Just my 2 cents.
>
> Mine too.? :)
>







Re: Do I have a looping issue?

 

Fish wrote:

> Hercules should not be in the business of reporting program
> checks.
>>>Why not? What is your reasoning?

Hercules is a hardware emulator, not an operating system. According to the architecture, hardware's responsibility?is to store ILC and interrupt code, and swap psws. Operating system would do the rest and if necessary produce any messages.?
You don't see any program check messages on the z15 or zPDT consoles (or any other real hardware).?

> It should only report on a disabled wait condition, which
> it does.
>>>Again, why?

In my days when the hardware loaded a disabled wait, an alarm went off in the machine room to notify the operators that the system went down. Nowadays I hear the status goes red on your HMC connected web browser. So, reporting on a disabled wait is always a good?idea.

> OSTAILOR is a useless option and should default to QUIET.
>>>Why?

Again, back to this being an OS responsibility. Most operating systems display interrupt information or provide exits?to let the?application?handle the program check.? ?
Personally, I like to know who actually benefits from this feature ? It is never a good thing to see illegitimate program check messages from your OS on the console.
You are correct that if one were writing?an?OS this may come handy, But anyone who is doing this would know when you get an interrupt, the first thing you do is to save your registers and the old psw is already stored. So what is Hercules telling you that you don't know ?

Best regards,
??

? ?


On Fri, Oct 28, 2022 at 6:09 PM Fish Fish <david.b.trout@...> wrote:
Aaron Finerman wrote:

> Hercules should not be in the business of reporting program
> checks.

Why not? What is your reasoning?


> It should only report on a disabled wait condition, which
> it does.

Again, why?


> OSTAILOR is a useless option and should default to QUIET.

Why?


> If an application program checks, the underlying OS produces
> the appropriate messages.

Not always, but yes, I'll concede the point.


> If an OS program checks, it either produces a dump, or loads
> a disabled wait with memory intact for problem determination
> or a standalone dump.

Usually, yes. I would agree.

But why can't Hercules issue a message as well? I mean, I can certainly envision a situation where a programmer might be writing code that has some type of program interrupt interception/handling routine (STXIT I believe it's called? I'm not an MVS person!) to deal with, say, a page fault or a data exception or even an operation exception, but which is incorrectly coded to not expect a protection exception.

Then too there is the case of stand-alone programs or a someone writing (developing) their own operating system too, and would appreciate being informed whenever something "unexpected" happens. Have you considered that?

OSTAILOR support (with its current default(*)) has been a part of Hercules ever since version 1.61 release back in May 2000. And for good reason IMO: it helps keep the Hercules user (which in most all cases (but admittedly not necessarily every case) is a single user/person) informed about the internal goings on inside that amazing virtual mainframe sitting on their desk and running the operating system and software of their choosing.

I'm seriously doubting our current OSTAILOR handling is *ever* going to change in that regard.

HOWEVER...

Having said that, what I *can* envision is *maybe* (*possibly*) adding a *new* OSTAILOR setting specifically designed for MVS 3.8j. A new "OSTAILOR MVS38J" perhaps. Or maybe just "OSTAILOR MVS". Or maybe "MVSNOPROT" or something. THAT I think might have a better chance of being accepted by the other developers and the rest of the community.

But defaulting OSTAILOR to QUIET? Nope. Ain't gonna ever happen. (That's a prediction by the way, not a promise.)


> Just my 2 cents.

Mine too.? :)

--
"Fish" (David B. Trout)
Software Development Laboratories

mail: fish@...










Re: #VMCE #rexx EE goes XEDIT - compiling a wish list #VMCE #rexx

 

Hey Mark,

what do you mean by:

??BREXX still has a problem with parsing its command line, so that will be a challenge, in and of itself.¡°

The error in the parse statement or any other issue?

Mike

Mark A. Stevens via <marXtevens=[email protected]> schrieb am Do. 27. Okt. 2022 um 20:00:

On Thu, Oct 27, 2022 at 01:36 PM, Martin Scheffler wrote:
CMS HELP was based on XEDIT since VM/SP 1.
FILELIST arrived with VM/SP 2, EXEC 2 was used ( still EXEC 2 on LCM+L's VM/SP 5 but (compiled) REXX on z/VM 6.4).

REXX arrived with VM/SP 3, XEDIT received EXTRACT, Prefix Macro Support, Selective Line Editing (see ).

I think as a minimum we should approach VM/SP 3 XEDIT compatibility.

Martin
I think SP3 compatibility would be a good start. BREXX still has a problem with parsing its command line, so that will be a challenge, in and of itself. Would support of EXEC2 be present, until BREXX is fixed?

I don't know where XEDIT lives in memory, when invoked. Does putting it, or part of it in a DisContiguous Saved Segment (DCSS) hurt or help? Was it in the CMS DCSS since SP 1?

?... Mark S.

--
Von Gmail Mobile gesendet


Re: Do I have a looping issue?

 

On Fri, 2022-10-28 at 15:09 -0700, Fish Fish wrote:
Aaron Finerman wrote:

OSTAILOR is a useless option and should default to QUIET.
From the purpose of someone who only runs a mature operating system, I
can understand this perspective. However,...


But why can't Hercules issue a message as well? I mean, I can
certainly envision a situation where a programmer might be writing
code that has some type of program interrupt interception/handling
routine (STXIT I believe it's called? I'm not an MVS person!) to deal
with, say, a page fault or a data exception or even an operation
exception, but which is incorrectly coded to not expect a protection
exception.

Then too there is the case of stand-alone programs or a someone
writing (developing) their own operating system too, and would
appreciate being informed whenever something "unexpected" happens.
Have you considered that?
Absolutely agree 100%! I am aware of activities by individuals in all
of these areas. And can well understand when Hercules was being
debugged, the usefulness of seeing all program interruptions until
Hercules itself was reasonably well debugged. And then the "tailoring"
made sense.


OSTAILOR support (with its current default(*)) has been a part of
Hercules ever since version 1.61 release back in May 2000. And for
good reason IMO: it helps keep the Hercules user (which in most all
cases (but admittedly not necessarily every case) is a single
user/person) informed about the internal goings on inside that
amazing virtual mainframe sitting on their desk and running the
operating system and software of their choosing.

I'm seriously doubting our current OSTAILOR handling is *ever* going
to change in that regard.

HOWEVER...

Having said that, what I *can* envision is *maybe* (*possibly*)
adding a *new* OSTAILOR setting specifically designed for MVS 3.8j. A
new "OSTAILOR MVS38J" perhaps. Or maybe just "OSTAILOR MVS". Or maybe
"MVSNOPROT" or something. THAT I think might have a better chance of
being accepted by the other developers and the rest of the community.

But defaulting OSTAILOR to QUIET? Nope. Ain't gonna ever happen.
(That's a prediction by the way, not a promise.)


Just my 2 cents.
Mine too. :)


Re: Do I have a looping issue?

 

¿ªÔÆÌåÓý

Joe, thank you for the explanation of WHY. ?While I worked many years as a systems programmer on MVS ?I was never an internals guy. ?My specialty was "networking" and related subsystems. ?Pretty much all of them.

Yes, I see now how this is a perfectly normal thing for MVS to do. ?The recommendation to change the instruction from CS to something else would seem to be an improved implementation. ?I can see why this is happening so frequently, too.

Again, thanks Joe,
Harold

On Fri, 2022-10-28 at 17:22 -0500, Joe Monk wrote:
"I understand why the CS is being used.? But WHY, MVS is doing this
memory writability check still seems to be a mystery.? Something must
trigger MVS to use it.? I guess once every 20 years its probably not
worth figuring out the underlying condition."

"User-Supplied Addresses for User Storage Areas

A potential integrity exposure exists whenever a routine having a system protection key (key 0-7) accepts a user-supplied address of an area to which a store or fetch is to be done.?If?the system routine does not adequately validate the user-supplied address to ensure that it is the address of an area accessible to the user for storing and fetch data, an integrity violation can occur when the system-key routine:

Stores?into?(overlays) system code?or data (for?example, in the nucleus?or the?system?queue area), or into another?user's code?or?data.

Moves?data?from a?fetch-protected?area?that?is?not?accessible?to the user (for?example, fetch-protected?portion of?the?common?service areas)?to an area that?is accessible?to the?user.

The?elimination?of?this?problem?requires?that?system-key routines always verify?that?the entire?area to be?stored into,?or?fetched from, is accessible?(for?storing?or?fetching)?to the?user in question.?The?primary validation technique is?the?generally established?MVS convention that?system-key routines?obtain the protection?key?of the user before?accessing?the?user-specified?area of?storage.?For?example,?MVS data management SVC?routines (which generally execute in key?5)?assume the user's key?before?modifying a?data control?block?(DCB) or an I/O block (lOB)."

So now you know the WHY.

Page SUP-336 of this book explains the HOW:?

Joe



On Fri, Oct 28, 2022 at 4:38 PM Harold Grovesteen <h.grovsteen@...> wrote:
I finally got back to email.? Thanks everyone for clarifying the
culprit, MVS!? I got that.? I do admit that once every two decades can
be considered rare.

I understand why the CS is being used.? But WHY, MVS is doing this
memory writability check still seems to be a mystery.? Something must
trigger MVS to use it.? I guess once every 20 years its probably not
worth figuring out the underlying condition.

Thanks for the clarification, everyone.

Harold

On Fri, 2022-10-28 at 14:13 -0700, Fish Fish wrote:
> Harold Grovesteen wrote:
>
> > Have we actually determined WHY these protection exceptions
> > are occurring, albeit apparently legitimately with VM/370?
> > If so I missed understanding that.? Yes, I got that CS is
> > being used to test writability to a location.? But WHY is
> > VM doing THAT?? This is the part I missed.
>
> It's not VM that's doing it: it's MVS (i.e. the VM guest).
>
> CS is an unprivileged instruction, so when MVS executes it, it causes
> a program check (which Hercules then logs).
>
>
> > Does it make sense to add protection exceptions to the VM
> > OSTAILOR setting rather than setting it manually?
>
> No. Because Protection Exceptions should NOT normally be occurring.
> It's not an exception that is considered "routine" (expected) in a
> normal operating environment (which are the only type of exceptions
> that OSTAILOR is designed to filter).
>
>
> > One would expect that if this is a "normal" situation with VM/370
>
> MVS. (Not VM)
>
>
> > that the VM setting
>
> MVS setting. :)
>
>
> > would turn this report off.
>
> Correct! Which is precisely WHY it's *not* turned off! Because it's
> NOT considered "normal/expected"! It's *unusual*. It's not something
> that regularly (routinely) happens in a normally functioning
> operating system.
>
>
> > (Obviously it is reported when OSTAILOR is not being
> > used.)
>
> Or even when OSTAILOR *is* used, which was what I tried to make
> clear. That's why if MVS 3.8j is being run either natively -OR- under
> VM, you (currently!) need to add a "PGMTRACE -04" statement to your
> Hercules configuration file if you want to suppress their being
> reported by Hercules.
>
>
> > What mystifies me is why after years of people using VM/370
> > and MVS as guest that this is the first time this apparently
> > legitimate situation has arisen.
>
> Actually it's not the first time. As Dave pointed out in his reply it
> was actually mentioned over 19 years ago too:
>
>? ?
>
>
>
> > (I get it that obviously without OSTAILOR the report would happen.)
> > But why protection exceptions IN THIS CASE must be manually
> > turned off is what confuses me.
>
> Because Hercules does not consider such exceptions to be "routine"
> (ordinary/expected) in a *normally* (properly!) functioning operating
> system! Hercules considers such exceptions to be "unusual" and "out
> of the ordinary" and usually indicative of a programming error. Thus,
> by default, it does NOT filter them out and reports them instead.
>
>
> > (This sort of gets back to why VM/370
>
> MVS!
>
>
> > is testing location writability.)? That would still suggest
> > that there is something unique going on here that others have
> > not encountered.? Or maybe they were all smart enough to know
> > to manually turn off reporting of protection exceptions.
>
> I think the thing that is unique that is going on here is the
> distributers/maintainers of the MVS 3.8j and VM systems ship their
> product with OSTAILOR QUIET purposely enabled in order to prevent
> this very issue. It only popped up this time because Jim Snellen
> reported seeing the messages in his log file because he obviously
> WASN'T using the stock Hercules configuration file that comes shipped
> with the normal MVS/VM distributions, and was instead using a
> Hercules configuration file that he constructed himself (probably via
> my HercGUI, which specifically mentions using NULL or QUIET is *not*
> recommended).
>







Re: Do I have a looping issue?

 

"I understand why the CS is being used.? But WHY, MVS is doing this
memory writability check still seems to be a mystery.? Something must
trigger MVS to use it.? I guess once every 20 years its probably not
worth figuring out the underlying condition."

"User-Supplied Addresses for User Storage Areas

A potential integrity exposure exists whenever a routine having a system protection key (key 0-7) accepts a user-supplied address of an area to which a store or fetch is to be done.?If?the system routine does not adequately validate the user-supplied address to ensure that it is the address of an area accessible to the user for storing and fetch data, an integrity violation can occur when the system-key routine:

Stores?into?(overlays) system code?or data (for?example, in the nucleus?or the?system?queue area), or into another?user's code?or?data.

Moves?data?from a?fetch-protected?area?that?is?not?accessible?to the user (for?example, fetch-protected?portion of?the?common?service areas)?to an area that?is accessible?to the?user.

The?elimination?of?this?problem?requires?that?system-key routines always verify?that?the entire?area to be?stored into,?or?fetched from, is accessible?(for?storing?or?fetching)?to the?user in question.?The?primary validation technique is?the?generally established?MVS convention that?system-key routines?obtain the protection?key?of the user before?accessing?the?user-specified?area of?storage.?For?example,?MVS data management SVC?routines (which generally execute in key?5)?assume the user's key?before?modifying a?data control?block?(DCB) or an I/O block (lOB)."

So now you know the WHY.

Page SUP-336 of this book explains the HOW:?

Joe



On Fri, Oct 28, 2022 at 4:38 PM Harold Grovesteen <h.grovsteen@...> wrote:
I finally got back to email.? Thanks everyone for clarifying the
culprit, MVS!? I got that.? I do admit that once every two decades can
be considered rare.

I understand why the CS is being used.? But WHY, MVS is doing this
memory writability check still seems to be a mystery.? Something must
trigger MVS to use it.? I guess once every 20 years its probably not
worth figuring out the underlying condition.

Thanks for the clarification, everyone.

Harold

On Fri, 2022-10-28 at 14:13 -0700, Fish Fish wrote:
> Harold Grovesteen wrote:
>
> > Have we actually determined WHY these protection exceptions
> > are occurring, albeit apparently legitimately with VM/370?
> > If so I missed understanding that.? Yes, I got that CS is
> > being used to test writability to a location.? But WHY is
> > VM doing THAT?? This is the part I missed.
>
> It's not VM that's doing it: it's MVS (i.e. the VM guest).
>
> CS is an unprivileged instruction, so when MVS executes it, it causes
> a program check (which Hercules then logs).
>
>
> > Does it make sense to add protection exceptions to the VM
> > OSTAILOR setting rather than setting it manually?
>
> No. Because Protection Exceptions should NOT normally be occurring.
> It's not an exception that is considered "routine" (expected) in a
> normal operating environment (which are the only type of exceptions
> that OSTAILOR is designed to filter).
>
>
> > One would expect that if this is a "normal" situation with VM/370
>
> MVS. (Not VM)
>
>
> > that the VM setting
>
> MVS setting. :)
>
>
> > would turn this report off.
>
> Correct! Which is precisely WHY it's *not* turned off! Because it's
> NOT considered "normal/expected"! It's *unusual*. It's not something
> that regularly (routinely) happens in a normally functioning
> operating system.
>
>
> > (Obviously it is reported when OSTAILOR is not being
> > used.)
>
> Or even when OSTAILOR *is* used, which was what I tried to make
> clear. That's why if MVS 3.8j is being run either natively -OR- under
> VM, you (currently!) need to add a "PGMTRACE -04" statement to your
> Hercules configuration file if you want to suppress their being
> reported by Hercules.
>
>
> > What mystifies me is why after years of people using VM/370
> > and MVS as guest that this is the first time this apparently
> > legitimate situation has arisen.
>
> Actually it's not the first time. As Dave pointed out in his reply it
> was actually mentioned over 19 years ago too:
>
>? ?
>
>
>
> > (I get it that obviously without OSTAILOR the report would happen.)
> > But why protection exceptions IN THIS CASE must be manually
> > turned off is what confuses me.
>
> Because Hercules does not consider such exceptions to be "routine"
> (ordinary/expected) in a *normally* (properly!) functioning operating
> system! Hercules considers such exceptions to be "unusual" and "out
> of the ordinary" and usually indicative of a programming error. Thus,
> by default, it does NOT filter them out and reports them instead.
>
>
> > (This sort of gets back to why VM/370
>
> MVS!
>
>
> > is testing location writability.)? That would still suggest
> > that there is something unique going on here that others have
> > not encountered.? Or maybe they were all smart enough to know
> > to manually turn off reporting of protection exceptions.
>
> I think the thing that is unique that is going on here is the
> distributers/maintainers of the MVS 3.8j and VM systems ship their
> product with OSTAILOR QUIET purposely enabled in order to prevent
> this very issue. It only popped up this time because Jim Snellen
> reported seeing the messages in his log file because he obviously
> WASN'T using the stock Hercules configuration file that comes shipped
> with the normal MVS/VM distributions, and was instead using a
> Hercules configuration file that he constructed himself (probably via
> my HercGUI, which specifically mentions using NULL or QUIET is *not*
> recommended).
>







Re: Do I have a looping issue?

 

Aaron Finerman wrote:

Hercules should not be in the business of reporting program
checks.
Why not? What is your reasoning?


It should only report on a disabled wait condition, which
it does.
Again, why?


OSTAILOR is a useless option and should default to QUIET.
Why?


If an application program checks, the underlying OS produces
the appropriate messages.
Not always, but yes, I'll concede the point.


If an OS program checks, it either produces a dump, or loads
a disabled wait with memory intact for problem determination
or a standalone dump.
Usually, yes. I would agree.

But why can't Hercules issue a message as well? I mean, I can certainly envision a situation where a programmer might be writing code that has some type of program interrupt interception/handling routine (STXIT I believe it's called? I'm not an MVS person!) to deal with, say, a page fault or a data exception or even an operation exception, but which is incorrectly coded to not expect a protection exception.

Then too there is the case of stand-alone programs or a someone writing (developing) their own operating system too, and would appreciate being informed whenever something "unexpected" happens. Have you considered that?

OSTAILOR support (with its current default(*)) has been a part of Hercules ever since version 1.61 release back in May 2000. And for good reason IMO: it helps keep the Hercules user (which in most all cases (but admittedly not necessarily every case) is a single user/person) informed about the internal goings on inside that amazing virtual mainframe sitting on their desk and running the operating system and software of their choosing.

I'm seriously doubting our current OSTAILOR handling is *ever* going to change in that regard.

HOWEVER...

Having said that, what I *can* envision is *maybe* (*possibly*) adding a *new* OSTAILOR setting specifically designed for MVS 3.8j. A new "OSTAILOR MVS38J" perhaps. Or maybe just "OSTAILOR MVS". Or maybe "MVSNOPROT" or something. THAT I think might have a better chance of being accepted by the other developers and the rest of the community.

But defaulting OSTAILOR to QUIET? Nope. Ain't gonna ever happen. (That's a prediction by the way, not a promise.)


Just my 2 cents.
Mine too. :)

--
"Fish" (David B. Trout)
Software Development Laboratories

mail: fish@...


Re: virtual memory and overlays

 


Now gcc is a lot bigger than anything from that era, and we have problems -
where it first compiled cRexx on VM/370, now it does not. My speculation is
that if we went in the opposite route than the historic development went, and
we packaged this compiler in overlays, we could lessen its memory footprint.

Is there anyone from that era who still knows how this is done, can tell us
whether it would be possible, and can advise on what to do?
I don't know how this can be done, but it should be possible to strip out the pre-processor. From what I remember GCC 3.x could build itself on a 4MB Atari...


best regards,

¸é±ð²Ô¨¦.
Dave


Re: Do I have a looping issue?

 

Dave Wade wrote:
Harold Grovesteen wrote:
[...]
happen.) But why protection exceptions IN THIS CASE must
be manually turned off is what confuses me. (This sort of
gets back to why VM/370 is testing location writability.)
That would still suggest that there is something unique
going on here that others have not encountered. Or maybe
they were all smart enough to know to manually turn off
reporting of protection exceptions.
It appears that tk4- issues an OSTAILOR QUIET so that will
hide it for many users
Which I still say is wrong! (Sort of.)

I suppose using OSTAILOR QUIET is okay in the *interim* (for the time being) while efforts are under way to *fix* MVS(*) to *not* use the 'CS' (Compare and Swap) instruction in its IEAVEVAL routine (and to use something like 'TPROT' instead), but once MVS is eventually fixed, then it should be *removed* and replaced with a normal OSTAILOR setting instead (such as e.g. OS/390).

And I stand by that quite firmly.

---------
(*) At least I *hope* efforts are going to be undertaken to fix MVS! Because IMO it's currently *broken*! It should *not* be using 'CS'! (in this particular specific case, i.e. in IEAVEVAL), and should instead be changed to use a more sensible instruction such as 'TPROT' for example.

But then it's not my decision to make either. You guys do what you want! I'm only here to try and shed some light on the subject (which I hope I've done).

--
"Fish" (David B. Trout)
Software Development Laboratories

mail: fish@...


Re: Do I have a looping issue?

 

I finally got back to email. Thanks everyone for clarifying the
culprit, MVS! I got that. I do admit that once every two decades can
be considered rare.

I understand why the CS is being used. But WHY, MVS is doing this
memory writability check still seems to be a mystery. Something must
trigger MVS to use it. I guess once every 20 years its probably not
worth figuring out the underlying condition.

Thanks for the clarification, everyone.

Harold

On Fri, 2022-10-28 at 14:13 -0700, Fish Fish wrote:
Harold Grovesteen wrote:

Have we actually determined WHY these protection exceptions
are occurring, albeit apparently legitimately with VM/370?
If so I missed understanding that. Yes, I got that CS is
being used to test writability to a location. But WHY is
VM doing THAT? This is the part I missed.
It's not VM that's doing it: it's MVS (i.e. the VM guest).

CS is an unprivileged instruction, so when MVS executes it, it causes
a program check (which Hercules then logs).


Does it make sense to add protection exceptions to the VM
OSTAILOR setting rather than setting it manually?
No. Because Protection Exceptions should NOT normally be occurring.
It's not an exception that is considered "routine" (expected) in a
normal operating environment (which are the only type of exceptions
that OSTAILOR is designed to filter).


One would expect that if this is a "normal" situation with VM/370
MVS. (Not VM)


that the VM setting
MVS setting. :)


would turn this report off.
Correct! Which is precisely WHY it's *not* turned off! Because it's
NOT considered "normal/expected"! It's *unusual*. It's not something
that regularly (routinely) happens in a normally functioning
operating system.


(Obviously it is reported when OSTAILOR is not being
used.)
Or even when OSTAILOR *is* used, which was what I tried to make
clear. That's why if MVS 3.8j is being run either natively -OR- under
VM, you (currently!) need to add a "PGMTRACE -04" statement to your
Hercules configuration file if you want to suppress their being
reported by Hercules.


What mystifies me is why after years of people using VM/370
and MVS as guest that this is the first time this apparently
legitimate situation has arisen.
Actually it's not the first time. As Dave pointed out in his reply it
was actually mentioned over 19 years ago too:





(I get it that obviously without OSTAILOR the report would happen.)
But why protection exceptions IN THIS CASE must be manually
turned off is what confuses me.
Because Hercules does not consider such exceptions to be "routine"
(ordinary/expected) in a *normally* (properly!) functioning operating
system! Hercules considers such exceptions to be "unusual" and "out
of the ordinary" and usually indicative of a programming error. Thus,
by default, it does NOT filter them out and reports them instead.


(This sort of gets back to why VM/370
MVS!


is testing location writability.) That would still suggest
that there is something unique going on here that others have
not encountered. Or maybe they were all smart enough to know
to manually turn off reporting of protection exceptions.
I think the thing that is unique that is going on here is the
distributers/maintainers of the MVS 3.8j and VM systems ship their
product with OSTAILOR QUIET purposely enabled in order to prevent
this very issue. It only popped up this time because Jim Snellen
reported seeing the messages in his log file because he obviously
WASN'T using the stock Hercules configuration file that comes shipped
with the normal MVS/VM distributions, and was instead using a
Hercules configuration file that he constructed himself (probably via
my HercGUI, which specifically mentions using NULL or QUIET is *not*
recommended).


Re: Do I have a looping issue?

 

On Fri, 28 Oct 2022 at 17:13, Fish Fish <david.b.trout@...> wrote:
[...]
It's not VM that's doing it: it's MVS (i.e. the VM guest).

Hmmm... Must be timezone problems. :-)

On Fri, 28 Oct 2022 at 13:32, Tony Harminc <tharminc@...> wrote:
[...]
It's not in VM (CP) code; the CS is in MVS code running in a virtual machine.
?

CS is an unprivileged instruction, so when MVS executes it, it causes a program check (which Hercules then logs).
?
Not clear to me why it matters if an instruction program checks because of a protection exception (4) or because it's a privileged instruction (2). Either way it's Hercules that sees it and may report on it.

Tony H.


Re: Do I have a looping issue?

 

Harold Grovesteen wrote:

Have we actually determined WHY these protection exceptions
are occurring, albeit apparently legitimately with VM/370?
If so I missed understanding that. Yes, I got that CS is
being used to test writability to a location. But WHY is
VM doing THAT? This is the part I missed.
It's not VM that's doing it: it's MVS (i.e. the VM guest).

CS is an unprivileged instruction, so when MVS executes it, it causes a program check (which Hercules then logs).


Does it make sense to add protection exceptions to the VM
OSTAILOR setting rather than setting it manually?
No. Because Protection Exceptions should NOT normally be occurring. It's not an exception that is considered "routine" (expected) in a normal operating environment (which are the only type of exceptions that OSTAILOR is designed to filter).


One would expect that if this is a "normal" situation with VM/370
MVS. (Not VM)


that the VM setting
MVS setting. :)


would turn this report off.
Correct! Which is precisely WHY it's *not* turned off! Because it's NOT considered "normal/expected"! It's *unusual*. It's not something that regularly (routinely) happens in a normally functioning operating system.


(Obviously it is reported when OSTAILOR is not being
used.)
Or even when OSTAILOR *is* used, which was what I tried to make clear. That's why if MVS 3.8j is being run either natively -OR- under VM, you (currently!) need to add a "PGMTRACE -04" statement to your Hercules configuration file if you want to suppress their being reported by Hercules.


What mystifies me is why after years of people using VM/370
and MVS as guest that this is the first time this apparently
legitimate situation has arisen.
Actually it's not the first time. As Dave pointed out in his reply it was actually mentioned over 19 years ago too:




(I get it that obviously without OSTAILOR the report would happen.)
But why protection exceptions IN THIS CASE must be manually
turned off is what confuses me.
Because Hercules does not consider such exceptions to be "routine" (ordinary/expected) in a *normally* (properly!) functioning operating system! Hercules considers such exceptions to be "unusual" and "out of the ordinary" and usually indicative of a programming error. Thus, by default, it does NOT filter them out and reports them instead.


(This sort of gets back to why VM/370
MVS!


is testing location writability.) That would still suggest
that there is something unique going on here that others have
not encountered. Or maybe they were all smart enough to know
to manually turn off reporting of protection exceptions.
I think the thing that is unique that is going on here is the distributers/maintainers of the MVS 3.8j and VM systems ship their product with OSTAILOR QUIET purposely enabled in order to prevent this very issue. It only popped up this time because Jim Snellen reported seeing the messages in his log file because he obviously WASN'T using the stock Hercules configuration file that comes shipped with the normal MVS/VM distributions, and was instead using a Hercules configuration file that he constructed himself (probably via my HercGUI, which specifically mentions using NULL or QUIET is *not* recommended).

--
"Fish" (David B. Trout)
Software Development Laboratories

mail: fish@...


Re: virtual memory and overlays

 

On Fri, 28 Oct 2022 at 11:51, rvjansen@... <rvjansen@...> wrote:
Just a wild question here with regard to the compiler we need to use for cREXX.

The gcc compiler ported to VM/370 suffers address space size problems (so I have heard from reliable sources) and even has led to the ¡®380¡¯ version of Hercules to be able to be compiled (so I have read). A larger language like PL/I does not have these problems however, and when I read up about its history, this seems to be due to the fact that it has a lot of ¡®phases¡¯ that could be implemented in overlays, something the linkage editor/loader could handle in the pre-virtual memory days (and following IBM¡¯s reputation for preserving compatibility, probably still can).

Yeeesss...

This has led to the anecdote that one IBM lab was toiling at phases and overlays to fit PL/I in even the smallest of S/360 machines, while the other team was putting the finishing touches on virtual memory. Should they have talked to each other, a lot of work could have been avoided.

It's conceivable, but probably a lot more subtle in the details. IBM has roughly forever pitted internal groups against each other, and there is generally a winner and one or more losers. Sometimes the losers manage to get their project repurposed into something else, and then become winners. Or if not, the people get reallocated and the cycle begins again. I doubt that's going to change.

Now gcc is a lot bigger than anything from that era, and we have problems - where it first compiled cRexx on VM/370, now it does not. My speculation is that if we went in the opposite route than the historic development went, and we packaged this compiler in overlays, we could lessen its memory footprint.

Is there anyone from that era who still knows how this is done, can tell us whether it would be possible, and can advise on what to do?

Overlays (officially "planned overlay structure") are one way of several to save space. Another is to do it yourself on the fly with LOAD/LINK/XCTL, and I believe, though I'm not 100% sure, this is what PL/I F does. (There is a summary of how this works in the PLM for these compilers.) In both cases the saving from overlay schemes is in code space, and I rather doubt that this is the main problem. Programs like GCC, and pretty much everything else these days, use a huge amount of *data* storage to keep track of the program being compiled as it progresses through the various stages.

PL/I F, like Assembler F, and probably all the other old style compilers, uses work files, which are disk datasets. Data structures representing the various apects of the program at various stages - for example the symbol dictionary - are written to and read back from these disk work files. Whether there is a single work file that's logically partitioned or, as with Assembler F, three different physical files, each containing different sets of work in progress items, main storage is typically used for not much more than buffers for the data items in the work files.

One can think of this as a kind of application-specific virtual storage, rather than the general purpose virtual storage we are all used to.

Something like GCC does indeed have a much larger executable, but it also has a very much larger use of data storage, and I think has no concept of work files at all.

Before setting out on anything like your approach I would want to understand where the main storage is going.

Tony H.