Re: Full TRAP feature support

2023-03-02 Thread Ed Jaffe

On 3/2/2023 1:04 AM, David Cole wrote:

Hi Ed,

WRT "ColeSoft acquired zDebug many years ago" I don't recall that we 
ever did that.


We beta tested zDebug (from your old colleague Jeffrey Smith at Farsight 
Systems) back in 2004 and it was excellent.


I remembered it being acquired by Cole not long afterwards. I must have 
remembered incorrectly.


If not Cole, then who acquired that excellent debugger? Is it still 
around as a different product? z/TDF maybe?



--
Phoenix Software International
Edward E. Jaffe
831 Parkview Drive North
El Segundo, CA 90245
https://www.phoenixsoftware.com/



This e-mail message, including any attachments, appended messages and the
information contained therein, is for the sole use of the intended
recipient(s). If you are not an intended recipient or have otherwise
received this email message in error, any use, dissemination, distribution,
review, storage or copying of this e-mail message and the information
contained therein is strictly prohibited. If you are not an intended
recipient, please contact the sender by reply e-mail and destroy all copies
of this email message and do not otherwise utilize or retain this email
message or any or all of the information contained therein. Although this
email message and any attachments or appended messages are believed to be
free of any virus or other defect that might affect any computer system into
which it is received and opened, it is the responsibility of the recipient
to ensure that it is virus free and no responsibility is accepted by the
sender for any loss or damage arising in any way from its opening or use.

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN


Re: Full TRAP feature support

2023-03-02 Thread Steve Smith
I use z/XDC a lot, and I've had SET TRAP2 in my start-up script since I
found out about it.  It has worked seamlessly for me.  The only visible
difference is seeing x'01FF' at breakpoints rather than x'00'.

And it's great that ZDC and other debuggers figured out how to exploit the
facility.

I'm still curious about the conditional trap instructions, e.g. LAT, CIT.
They have programming notes that imply they're intended for use in
try-blocks, or assert.  I have no idea if any current compilers use them.

sas

On Thu, Mar 2, 2023 at 3:06 AM David Cole  wrote:

> Hi Ed,
>
> WRT "ColeSoft acquired zDebug many years ago" I
> don't recall that we ever did that.
>
> WRT "and incorporated much of that technology
> into z/XDC." I'm sure we never did that.
>
> z/XDC does have TRAP2 support, but we didn't
> implemented it until sometime in 2018. (Peter Morrison did the work.)
>
>

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN


Re: Full TRAP feature support [was: RE: Re: z/OS 3.1 Announcement US Letter]

2023-03-02 Thread Peter Relson
I agree with most of the sentiments expressed here. But that ship has sailed. 
And it is far from true that every operating system provides support for every 
hardware facility.

Back when TRAP2 and TRAP4 were introduced (about 25 years ago), OS/390 
development (it was pre-z/OS) was not even aware of it. And we were shocked to 
learn that debug tool had implemented to the architecture. I hope we can agree 
that that was not appropriate - the OS should have provided an API and debug 
tool should have used it. Whether that API would have been limited to 
authorized users is a different question entirely.

At this point, nothing is going to be done without a strong business 
justification.

Peter Relson
z/OS Core Technology Design


--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN


Re: Full TRAP feature support

2023-03-02 Thread David Cole

Hi Ed,

WRT "ColeSoft acquired zDebug many years ago" I 
don't recall that we ever did that.


WRT "and incorporated much of that technology 
into z/XDC." I'm sure we never did that.


z/XDC does have TRAP2 support, but we didn't 
implemented it until sometime in 2018. (Peter Morrison did the work.)


Our TRAP2 support integrates pretty well into our 
existing X'00'-opcode support. Users can use a 
simple command (SET TRACE TRAP2|ZERO) TO switch 
back and forth at will between the two forms of breakpoints.




The problem, of course, with TRAP2 support is 
that the scope of TRAP2 activation is limited to 
only those tasks (or SRBs) for which a Trap 
Handler Exit has been linked into the DUCT. But 
there is no z/OS supported mechanism for 
automatically installing Trap Handler Exits into a task when one is needed.


There are two ways that I can think of to deal 
with this. One is to place intercepts in z/OS's 
ATTACH service that adds Trap Handler Exits (when 
appropriate) at task creation time. (This is NOT what z/XDC does.)


The other is to monitor for PIC 0013 (which 
becomes abend 0D3-13 an ESTAE time) and install 
the missing Trap Handler Exit at TRAP2 instruction failure time.


I don't know what Chuck Arney does, but 
monitoring for the 0D3-13 is what z/XDC does.




The problem here, of course, is that you'd think 
you could dispense altogether with z/XDC running 
as an ESTAEX if you use TRAP2 instructions, but 
you can't. (At least not yet you can't.) You 
still need z/XDC to exist as an ESTAEX in order 
to catch the 0D3-13 abends so that it can know 
when Trap Handler Exit setup is needed. [sigh]




However, the good news is that I'm currently 
working on easier ways to cause Trap Handler 
Exits to be installed. I expect to have that 
published in a month or few. Then it will become 
much more feasible to let z/XDC use TRAP2-type 
breakpoints without z/XDC also having to be present as an ESTAEX.


This will make debugging much easier for programs 
having numerous, ephemeral ESTAEs popping up 
everywhere. (LE code is an example of such.) This 
will definitely help our c/XDC users a lot! (Our 
assembler customers should like it too.)




Dave Cole, Developer

dbc...@gmail.com (personal)
dbc...@colesoft.com (business)
540-456-6518 (cell)






At 3/1/2023 11:34 PM, Ed Jaffe wrote:

On 3/1/2023 4:01 PM, Bernd Oppolzer wrote:

Am 01.03.2023 um 19:51 schrieb Martin Trübner:
I know of one big z/OS installation that has a 
debugger in use that uses TRAP (and the author is on IBM-main as well)
That's me ... but as I said in the other mail, 
I am not the author of the debugger;
I am only the maintainer today, and I changed 
the breakpoint mechanism (was: S0C1) by TRAP in the 2010 time frame.
He might have been referring to z/XDC. ColeSoft 
acquired zDebug many years ago, which used TRAP 
exclusively, and incorporated much of that technology into z/XDC.
IIRC, you must use the 0C1/ESTAEX method only 
once at initial entry. After that, you can 
switch over to TRAP (which is advantageous)...


--
Phoenix Software International
Edward E. Jaffe
831 Parkview Drive North
El Segundo, CA 90245
https://www.phoenixsoftware.com/

 


This e-mail message, including any attachments, appended messages and the
information contained therein, is for the sole use of the intended
recipient(s). If you are not an intended recipient or have otherwise
received this email message in error, any use, dissemination, distribution,
review, storage or copying of this e-mail message and the information
contained therein is strictly prohibited. If you are not an intended
recipient, please contact the sender by reply e-mail and destroy all copies
of this email message and do not otherwise utilize or retain this email
message or any or all of the information contained therein. Although this
email message and any attachments or appended messages are believed to be
free of any virus or other defect that might affect any computer system into
which it is received and opened, it is the responsibility of the recipient
to ensure that it is virus free and no responsibility is accepted by the
sender for any loss or damage arising in any way from its opening or use.
--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN


--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN


Re: Full TRAP feature support [was: RE: Re: z/OS 3.1 Announcement US Letter]

2023-03-01 Thread Ed Jaffe

On 3/1/2023 4:01 PM, Bernd Oppolzer wrote:

Am 01.03.2023 um 19:51 schrieb Martin Trübner:


I know of one big z/OS installation that has a debugger in use that 
uses TRAP (and the author is on IBM-main as well)


That's me ... but as I said in the other mail, I am not the author of 
the debugger;
I am only the maintainer today, and I changed the breakpoint mechanism 
(was: S0C1) by TRAP in the 2010 time frame.


He might have been referring to z/XDC. ColeSoft acquired zDebug many 
years ago, which used TRAP exclusively, and incorporated much of that 
technology into z/XDC.


IIRC, you must use the 0C1/ESTAEX method only once at initial entry. 
After that, you can switch over to TRAP (which is advantageous)...



--
Phoenix Software International
Edward E. Jaffe
831 Parkview Drive North
El Segundo, CA 90245
https://www.phoenixsoftware.com/



This e-mail message, including any attachments, appended messages and the
information contained therein, is for the sole use of the intended
recipient(s). If you are not an intended recipient or have otherwise
received this email message in error, any use, dissemination, distribution,
review, storage or copying of this e-mail message and the information
contained therein is strictly prohibited. If you are not an intended
recipient, please contact the sender by reply e-mail and destroy all copies
of this email message and do not otherwise utilize or retain this email
message or any or all of the information contained therein. Although this
email message and any attachments or appended messages are believed to be
free of any virus or other defect that might affect any computer system into
which it is received and opened, it is the responsibility of the recipient
to ensure that it is virus free and no responsibility is accepted by the
sender for any loss or damage arising in any way from its opening or use.

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN


Re: Full TRAP feature support [was: RE: Re: z/OS 3.1 Announcement US Letter]

2023-03-01 Thread Bernd Oppolzer

Am 01.03.2023 um 19:51 schrieb Martin Trübner:


I know of one big z/OS installation that has a debugger in use that 
uses TRAP (and the author is on IBM-main as well)


That's me ... but as I said in the other mail, I am not the author of 
the debugger;
I am only the maintainer today, and I changed the breakpoint mechanism 
(was: S0C1) by TRAP in the 2010 time frame.


Kind regards

Bernd

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN


Re: Full TRAP feature support [was: RE: Re: z/OS 3.1 Announcement US Letter]

2023-03-01 Thread Bernd Oppolzer

FWIW,

some years ago (maybe 2010), I replaced the breakpoint mechanism in a 
home grown debug tool
written by my customer; the breakpoints were implemented by capturing 
the S0C1 interrupts of hex zero
insertions into the load module instead of real opcodes. I now insert 
TRAP2 instead of hex zero.


So: I know how to do this ... maybe others on this list, too. The 
problem is: to insert the address of the
TRAP handler routine into the DUCT, you need to be authorized. In our 
installation, we created something
like a special "user SVC" to do this (don't know the details, because 
this was done by our systems people).
That is: a special SVC which only allows to "configure the DUCT". I 
wrote the specification, and then the

systems people created the SVC.

All other actions can be done by normal non-authorized code ... this is 
kind of easy. The rest of the debug tool
remained unchanged. The debug tool was much faster after this change, 
because the RTM work involved

by the S0C1 handling is now saved.

This is a very special application, of course, and I never would have 
thought about using TRAP2, if the
debug tool of the customer didn't exist already (since the 1980s, long 
before TRAP2 arrived, which was ca. 2000,
IIRC). But when I learned about the internals of the debug tool (the 
S0C1 mechanism), it seemed
sort of natural to me to think about this TRAP2 replacement. And the 
customer allowed me to give it a try.


If you want to know more, feel free to ask me offline; maybe I remember 
the details after all this time.
The debug tool is still in daily use by the developers at the customer's 
site (for PL/1 and ASSEMBLER programs).


Kind regards

Bernd



Am 01.03.2023 um 17:32 schrieb Farley, Peter:

<*Sigh*> Yes, I do understand the "business justification/resource allocation" 
argument/excuse.  I deal with similar issues all the time in my employer's business.  I hate 
it, but it is real.

IMHO the IBM z/OS development team should never have *needed* a "formal 
request/requirement" to implement OS support for an implemented architectural 
feature.  There is a new hardware feature, our clients will no doubt wish to take 
advantage of its benefits, let's support that feature.  Full stop.

But please accept my apologies, I am obviously beating that poor dead horse 
once again.

As an alternative, would it ever be possible for IBM to publish the program design and 
detailed error-handling needed to practically and *safely* use the TRAP feature?  Maybe a 
Redbook project sponsored by the Debug Tool team?  Something detailed enough to enable a 
knowledgeable independent developer to produce the code you say IBM won't ever write.  I 
wouldn't expect the major ISV's to undertake it, it is far too small a market for them to 
spend real money on (there is that dad-blasted "business justification" thing 
again), but an independent developer might wish to spend *their* private time on getting 
it done, IFF they had all the details needed to do it the right way without needing to 
guess what to do.

I would hope that publishing information on how to properly and safely use an 
existing (and already published) architectural feature wouldn't run afoul of IP 
concerns.

Peter

-Original Message-
From: IBM Mainframe Discussion List  On Behalf Of 
Peter Relson
Sent: Wednesday, March 1, 2023 9:57 AM
To: IBM-MAIN@LISTSERV.UA.EDU
Subject: Re: z/OS 3.1 Announcement US Letter

EXTERNAL EMAIL

Peter F wrote:

What I would like to know is when z/OS development will finally manage to find 
the round tuits to actually implement a supported API to actually be able to 
USE the TRAP (and compare-and-trap) instructions introduced to the architecture 
so long ago I have forgotten which zArch generation they in came with (and I'm 
too tired to go looking for that generation today).


I believe IBM Debug Tool uses this. But you're right that there is no API 
provided.

And given the amount of time that has gone by and the fact that, to my knowledge, there 
never has been a formal request/requirement submitted asking for such an API, the answer 
to your question (unless such a requirement is submitted) is, in practice, 
"never".

And a new requirement might be declined unless there is significant business 
justification that would make this a good candidate.

We all wish that we were in a world where "should" would match "it is", but there is always a 
resource tradeoff to be made between competing items and the question has to be answered of what would you the customer 
(and IBM) be willing to sacrifice getting in order to get "this". "Should" only takes you so far. 
That should be apparent to all (but many discussions on IBM-Main do not seem to take that into account).

Peter Relson
z/OS Core Technology Design
--

This message and any attachments are intended only for the use of the addressee 
and may contain information that is privileged and confidential. If the reader 
of the message is not the intended recipient or a

Re: Full TRAP feature support [was: RE: Re: z/OS 3.1 Announcement US Letter]

2023-03-01 Thread Phil Smith III
Traditionally, the business case would have been that a debugging facility
like this led to increased ability to exploit the platform, thus leading to
more usage and more sales. Whether that still applies-whether IBM is
interested in that for IBM zSystems-is unclear. With cloud, cloud, and more
cloud, maybe not so much?


--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN


Re: Full TRAP feature support [was: RE: Re: z/OS 3.1 Announcement US Letter]

2023-03-01 Thread Martin Trübner

I did develop a fully featured debugger solely on TRAP for VSE.

I did that in 2000 as proof of concept or better to show that TRAP is 
not there for "year 200o fix up" as pops did say at that time.



Originally it was object code only in CICS (just to see that it works)- 
meanwhile I support CICS and batch as well as debugging source code.



I am semi retired now- but the tool is still available for free for a 
VSE environment. It supports z-arch including the z14. Because of the 
only use of TRAP to intercept it doe not need to know every instruction.



What I like to say:  pops has everything needed, but a software 
supported API would be great.



I know of one big z/OS installation that has a debugger in use that uses 
TRAP (and the author is on IBM-main as well)



Mentioning software vendors- there is a debugger called z/TDF from Arney 
Software - runs on z/OS and explored TRAP as well.



Chuck is a good friend and I can see/imagine roots of his debugger in 
talks we had (and it is way younger than mine)MINE) during various real 
life meeting (in bars) we had.



Best


Martin



--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN


Re: Full TRAP feature support [was: RE: Re: z/OS 3.1 Announcement US Letter]

2023-03-01 Thread Charles Mills
One potential business justification for IBM would be "to sell the hardware 
that contains this spiffy feature."

Isn't that essentially the business justification for *all* new z/OS features?

Charles


-Original Message-
From: IBM Mainframe Discussion List [mailto:IBM-MAIN@LISTSERV.UA.EDU] On Behalf 
Of Farley, Peter
Sent: Wednesday, March 1, 2023 8:33 AM
To: IBM-MAIN@LISTSERV.UA.EDU
Subject: Re: Full TRAP feature support [was: RE: Re: z/OS 3.1 Announcement US 
Letter]

<*Sigh*> Yes, I do understand the "business justification/resource allocation" 
argument/excuse.  I deal with similar issues all the time in my employer's 
business.  I hate it, but it is real.

IMHO the IBM z/OS development team should never have *needed* a "formal 
request/requirement" to implement OS support for an implemented architectural 
feature.  There is a new hardware feature, our clients will no doubt wish to 
take advantage of its benefits, let's support that feature.  Full stop.

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN


Re: Full TRAP feature support [was: RE: Re: z/OS 3.1 Announcement US Letter]

2023-03-01 Thread Farley, Peter
<*Sigh*> Yes, I do understand the "business justification/resource allocation" 
argument/excuse.  I deal with similar issues all the time in my employer's 
business.  I hate it, but it is real.

IMHO the IBM z/OS development team should never have *needed* a "formal 
request/requirement" to implement OS support for an implemented architectural 
feature.  There is a new hardware feature, our clients will no doubt wish to 
take advantage of its benefits, let's support that feature.  Full stop.

But please accept my apologies, I am obviously beating that poor dead horse 
once again.

As an alternative, would it ever be possible for IBM to publish the program 
design and detailed error-handling needed to practically and *safely* use the 
TRAP feature?  Maybe a Redbook project sponsored by the Debug Tool team?  
Something detailed enough to enable a knowledgeable independent developer to 
produce the code you say IBM won't ever write.  I wouldn't expect the major 
ISV's to undertake it, it is far too small a market for them to spend real 
money on (there is that dad-blasted "business justification" thing again), but 
an independent developer might wish to spend *their* private time on getting it 
done, IFF they had all the details needed to do it the right way without 
needing to guess what to do.

I would hope that publishing information on how to properly and safely use an 
existing (and already published) architectural feature wouldn't run afoul of IP 
concerns.

Peter

-Original Message-
From: IBM Mainframe Discussion List  On Behalf Of 
Peter Relson
Sent: Wednesday, March 1, 2023 9:57 AM
To: IBM-MAIN@LISTSERV.UA.EDU
Subject: Re: z/OS 3.1 Announcement US Letter

EXTERNAL EMAIL

Peter F wrote:

What I would like to know is when z/OS development will finally manage to find 
the round tuits to actually implement a supported API to actually be able to 
USE the TRAP (and compare-and-trap) instructions introduced to the architecture 
so long ago I have forgotten which zArch generation they in came with (and I'm 
too tired to go looking for that generation today).


I believe IBM Debug Tool uses this. But you're right that there is no API 
provided.

And given the amount of time that has gone by and the fact that, to my 
knowledge, there never has been a formal request/requirement submitted asking 
for such an API, the answer to your question (unless such a requirement is 
submitted) is, in practice, "never".

And a new requirement might be declined unless there is significant business 
justification that would make this a good candidate.

We all wish that we were in a world where "should" would match "it is", but 
there is always a resource tradeoff to be made between competing items and the 
question has to be answered of what would you the customer (and IBM) be willing 
to sacrifice getting in order to get "this". "Should" only takes you so far. 
That should be apparent to all (but many discussions on IBM-Main do not seem to 
take that into account).

Peter Relson
z/OS Core Technology Design
--

This message and any attachments are intended only for the use of the addressee 
and may contain information that is privileged and confidential. If the reader 
of the message is not the intended recipient or an authorized representative of 
the intended recipient, you are hereby notified that any dissemination of this 
communication is strictly prohibited. If you have received this communication 
in error, please notify us immediately by e-mail and delete the message and any 
attachments from your system.

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN