Discussion:
EAGREX4100E Error 41 with Compiled REXX
(too old to reply)
Robert S. Hansel , RSH
2016-03-17 13:17:52 UTC
Permalink
Raw Message
Greetings all,

We've recently begun having problems with compiled REXX programs that have
been running fine for years. They are now getting the following error
message:

EAGREX4100E Error 41 running compiled ?, line 2605: Bad arithmetic
conversion

Note that all of the errors occur on DO I= statements like this.

LIMIT = RACLIST.CHKRCLASS.0 /* the .0 member contains a numeric count */
DO I = 1 TO LIMIT /* REXX seems to have lost
track of the .0 member value */

The errors do not occur when running the EXEC with the interpreter rather
than compiled.

Here is the header information from the compile listing:

IBM Compiler for REXX on zSeries 4.0 LVL PK04822

Has anyone else encountered the same and know the cause and solution?

Regards, Bob

Robert S. Hansel
Lead RACF Specialist
RSH Consulting, Inc.
617-969-8211
www.linkedin.com/in/roberthansel
http://twitter.com/RSH_RACF
www.rshconsulting.com
----------------------------------------------------------------------------
Upcoming RSH RACF Training
- RACF Audit & Compliance Roadmap - APR 11-15, 2016
- RACF Level I Administration - MAY 17-20, 2016
- RACF Level II Administration -MAY 3-5, 2016
- RACF Level III Admin, Audit, & Compliance - JUN 14-16, 2016
- Securing z/OS UNIX - WebEx - JUL 25-29, 2016
----------------------------------------------------------------------------

----------------------------------------------------------------------
For TSO-REXX subscribe / signoff / archive access instructions,
send email to ***@VM.MARIST.EDU with the message: INFO TSO-REXX
Sevetson, Phil
2016-03-17 13:38:33 UTC
Permalink
Raw Message
Do you have the option of running the job in interpreted mode, to check whether it's the compiler that's doing it? Also, have you tried recompiling? Finally, can you turn TRACE(I) or TRACE(R) on for a job which has been compiled?

--Phil Sevetson
***@fisa.nyc.gov
City of New York / Financial Info Svcs Agcy
New York, NY USA 10001

-----Original Message-----
From: TSO REXX Discussion List [mailto:TSO-***@VM.MARIST.EDU] On Behalf Of Robert S. Hansel (RSH)
Sent: Thursday, March 17, 2016 9:18 AM
To: TSO-***@VM.MARIST.EDU
Subject: [TSO-REXX] EAGREX4100E Error 41 with Compiled REXX

Greetings all,

We've recently begun having problems with compiled REXX programs that have been running fine for years. They are now getting the following error
message:

EAGREX4100E Error 41 running compiled ?, line 2605: Bad arithmetic conversion

Note that all of the errors occur on DO I= statements like this.

LIMIT = RACLIST.CHKRCLASS.0 /* the .0 member contains a numeric count */
DO I = 1 TO LIMIT /* REXX seems to have lost
track of the .0 member value */

The errors do not occur when running the EXEC with the interpreter rather than compiled.

Here is the header information from the compile listing:

IBM Compiler for REXX on zSeries 4.0 LVL PK04822

Has anyone else encountered the same and know the cause and solution?

Regards, Bob

Robert S. Hansel
Lead RACF Specialist
RSH Consulting, Inc.
617-969-8211
www.linkedin.com/in/roberthansel
http://twitter.com/RSH_RACF
www.rshconsulting.com
----------------------------------------------------------------------------
Upcoming RSH RACF Training
- RACF Audit & Compliance Roadmap - APR 11-15, 2016
- RACF Level I Administration - MAY 17-20, 2016
- RACF Level II Administration -MAY 3-5, 2016
- RACF Level III Admin, Audit, & Compliance - JUN 14-16, 2016
- Securing z/OS UNIX - WebEx - JUL 25-29, 2016
----------------------------------------------------------------------------

----------------------------------------------------------------------
For TSO-REXX subscribe / signoff / archive access instructions, send email to ***@VM.MARIST.EDU with the message: INFO TSO-REXX

----------------------------------------------------------------------
For TSO-REXX subscribe / signoff / archive access instructions,
send email to ***@VM.MARIST.EDU with the message: INFO TSO-REXX
Walter Pachl
2016-03-17 14:38:21 UTC
Permalink
Raw Message
Please insert a line (or rather 4 lines):
If datatype(LIMIT)<>'NUM' Then Do
Say 'LIMIT='limit 'is not a number!'
Exit
End
And tell us how RACLIST.CHKRCLASS.0 is supposed to be set

-----Original Message-----
From: TSO REXX Discussion List [mailto:TSO-***@VM.MARIST.EDU] On Behalf Of
Sevetson, Phil
Sent: Donnerstag, 17. März 2016 14:38
To: TSO-***@VM.MARIST.EDU
Subject: Re: [TSO-REXX] EAGREX4100E Error 41 with Compiled REXX

Do you have the option of running the job in interpreted mode, to check
whether it's the compiler that's doing it? Also, have you tried recompiling?
Finally, can you turn TRACE(I) or TRACE(R) on for a job which has been
compiled?

--Phil Sevetson
***@fisa.nyc.gov
City of New York / Financial Info Svcs Agcy New York, NY USA 10001

-----Original Message-----
From: TSO REXX Discussion List [mailto:TSO-***@VM.MARIST.EDU] On Behalf Of
Robert S. Hansel (RSH)
Sent: Thursday, March 17, 2016 9:18 AM
To: TSO-***@VM.MARIST.EDU
Subject: [TSO-REXX] EAGREX4100E Error 41 with Compiled REXX

Greetings all,

We've recently begun having problems with compiled REXX programs that have
been running fine for years. They are now getting the following error
message:

EAGREX4100E Error 41 running compiled ?, line 2605: Bad arithmetic
conversion

Note that all of the errors occur on DO I= statements like this.

LIMIT = RACLIST.CHKRCLASS.0 /* the .0 member contains a numeric count */
DO I = 1 TO LIMIT /* REXX seems to have lost
track of the .0 member value */

The errors do not occur when running the EXEC with the interpreter rather
than compiled.

Here is the header information from the compile listing:

IBM Compiler for REXX on zSeries 4.0 LVL PK04822

Has anyone else encountered the same and know the cause and solution?

Regards, Bob

Robert S. Hansel
Lead RACF Specialist
RSH Consulting, Inc.
617-969-8211
www.linkedin.com/in/roberthansel
http://twitter.com/RSH_RACF
www.rshconsulting.com
----------------------------------------------------------------------------
Upcoming RSH RACF Training
- RACF Audit & Compliance Roadmap - APR 11-15, 2016
- RACF Level I Administration - MAY 17-20, 2016
- RACF Level II Administration -MAY 3-5, 2016
- RACF Level III Admin, Audit, & Compliance - JUN 14-16, 2016
- Securing z/OS UNIX - WebEx - JUL 25-29, 2016
----------------------------------------------------------------------------

----------------------------------------------------------------------
For TSO-REXX subscribe / signoff / archive access instructions, send email
to ***@VM.MARIST.EDU with the message: INFO TSO-REXX

----------------------------------------------------------------------
For TSO-REXX subscribe / signoff / archive access instructions, send email
to ***@VM.MARIST.EDU with the message: INFO TSO-REXX

----------------------------------------------------------------------
For TSO-REXX subscribe / signoff / archive access instructions,
send email to ***@VM.MARIST.EDU with the message: INFO TSO-REXX
Paul Gilmartin
2016-03-17 16:17:21 UTC
Permalink
Raw Message
Post by Walter Pachl
If datatype(LIMIT)<>'NUM' Then Do
Say 'LIMIT='limit 'is not a number!'
Exit
End
And tell us how RACLIST.CHKRCLASS.0 is supposed to be set
I use SIGNAL ON NOVALUE everywhere; unconditionally. It detects
many such errors early, and I find it no hardship to quote my
string constants.
Post by Walter Pachl
-----Original Message-----
From: TRobert S. Hansel (RSH)
Sent: Thursday, March 17, 2016 9:18 AM
We've recently begun having problems with compiled REXX programs that have
been running fine for years. They are now getting the following error
EAGREX4100E Error 41 running compiled ?, line 2605: Bad arithmetic conversion
-- gil

----------------------------------------------------------------------
For TSO-REXX subscribe / signoff / archive access instructions,
send email to ***@VM.MARIST.EDU with the message: INFO TSO-REXX
Kopischke, David G.
2016-03-17 16:29:11 UTC
Permalink
Raw Message
I always include a flag in my REXX programs to turn tracing on and off. The first thing my EXECs do is to collect all the parms and turn tracing on if the flag is set. This way, I don't need to rework any code to get a trace. If this is truly an environment issue, recompiling your REXX might fix the issue.

Good Luck,
Dave K.



PARSE UPPER ARG Trace Details .

IF Trace="Y" THEN DO
TRACE ?I /* Turn Tracing ON */
/*TRACE ?R */ /* Turn Tracing ON */
END /* IF */




-----Original Message-----
From: TSO REXX Discussion List [mailto:TSO-***@VM.MARIST.EDU] On Behalf Of Paul Gilmartin
Sent: Thursday, March 17, 2016 10:17 AM
To: TSO-***@VM.MARIST.EDU
Subject: Re: [TSO-REXX] EAGREX4100E Error 41 with Compiled REXX [ EXTERNAL ]
Post by Walter Pachl
If datatype(LIMIT)<>'NUM' Then Do
Say 'LIMIT='limit 'is not a number!'
Exit
End
And tell us how RACLIST.CHKRCLASS.0 is supposed to be set
I use SIGNAL ON NOVALUE everywhere; unconditionally. It detects many such errors early, and I find it no hardship to quote my string constants.
Post by Walter Pachl
-----Original Message-----
From: TRobert S. Hansel (RSH)
Sent: Thursday, March 17, 2016 9:18 AM
We've recently begun having problems with compiled REXX programs that
have been running fine for years. They are now getting the following
error
EAGREX4100E Error 41 running compiled ?, line 2605: Bad arithmetic conversion
-- gil

----------------------------------------------------------------------
For TSO-REXX subscribe / signoff / archive access instructions, send email to ***@VM.MARIST.EDU with the message: INFO TSO-REXX

This e-mail transmission may contain information that is proprietary, privileged and/or confidential and is intended exclusively for the person(s) to whom it is addressed. Any use, copying, retention or disclosure by any person other than the intended recipient or the intended recipient's designees is strictly prohibited. If you are not the intended recipient or their designee, please notify the sender immediately by return e-mail and delete all copies. OppenheimerFunds may, at its sole discretion, monitor, review, retain and/or disclose the content of all email communications.

----------------------------------------------------------------------
For TSO-REXX subscribe / signoff / archive access instructions,
send email to ***@VM.MARIST.EDU with the message: INFO TSO-REXX
Roach, Dennis
2016-03-17 16:40:54 UTC
Permalink
Raw Message
It may not be a novalue situation. Are you using IRRXUTIL? If so, it sets the stem to a default of null, which is not liked as an ending value by the do statement.

If this is other code, is there a RACLIST. = "" to default to null (or another value)?

Dennis Roach, CISSP, PMP
IAM Access Administration - Consumer - Senior Analyst
2929 Allen Parkway, America Building, 3rd Floor, Houston, TX 77019
Work: 713-831-8799
Cell: 713-591-1059
Email: ***@AIG.com

All opinions expressed by me are mine and may not agree with my employer or any person, company, or thing, living or dead, on or near this or any other planet, moon, asteroid, or other spatial object, natural or manufactured, since the beginning of time.

-----Original Message-----
From: TSO REXX Discussion List [mailto:TSO-***@VM.MARIST.EDU] On Behalf Of Paul Gilmartin
Sent: Thursday, March 17, 2016 11:17 AM
To: TSO-***@VM.MARIST.EDU
Subject: Re: [TSO-REXX] EAGREX4100E Error 41 with Compiled REXX
Post by Walter Pachl
If datatype(LIMIT)<>'NUM' Then Do
Say 'LIMIT='limit 'is not a number!'
Exit
End
And tell us how RACLIST.CHKRCLASS.0 is supposed to be set
I use SIGNAL ON NOVALUE everywhere; unconditionally. It detects many such errors early, and I find it no hardship to quote my string constants.
Post by Walter Pachl
-----Original Message-----
From: TRobert S. Hansel (RSH)
Sent: Thursday, March 17, 2016 9:18 AM
We've recently begun having problems with compiled REXX programs that
have been running fine for years. They are now getting the following
error
EAGREX4100E Error 41 running compiled ?, line 2605: Bad arithmetic conversion
-- gil

----------------------------------------------------------------------
For TSO-REXX subscribe / signoff / archive access instructions, send email to ***@VM.MARIST.EDU with the message: INFO TSO-REXX

----------------------------------------------------------------------
For TSO-REXX subscribe / signoff / archive access instructions,
send email to ***@VM.MARIST.EDU with the message: INFO TSO-REXX
Robin
2016-03-17 14:31:48 UTC
Permalink
Raw Message
I would suspect that the error is caused by the fact that the variable
RACLIST.CHKRCLASS.0 does not get properly populated. Almost guarantee that
the process the is supposed to set that variable is not checking a return
code

---Original Message-----
From: TSO REXX Discussion List [mailto:TSO-***@VM.MARIST.EDU] On Behalf Of
Robert S. Hansel (RSH)
Sent: March 17, 2016 9:18 AM
To: TSO-***@VM.MARIST.EDU
Subject: [TSO-REXX] EAGREX4100E Error 41 with Compiled REXX

Greetings all,

We've recently begun having problems with compiled REXX programs that have
been running fine for years. They are now getting the following error
message:

EAGREX4100E Error 41 running compiled ?, line 2605: Bad arithmetic
conversion

Note that all of the errors occur on DO I= statements like this.

LIMIT = RACLIST.CHKRCLASS.0 /* the .0 member contains a numeric count */
DO I = 1 TO LIMIT /* REXX seems to have lost
track of the .0 member value */

The errors do not occur when running the EXEC with the interpreter rather
than compiled.

Here is the header information from the compile listing:

IBM Compiler for REXX on zSeries 4.0 LVL PK04822

Has anyone else encountered the same and know the cause and solution?

Regards, Bob

Robert S. Hansel
Lead RACF Specialist
RSH Consulting, Inc.
617-969-8211
www.linkedin.com/in/roberthansel
http://twitter.com/RSH_RACF
www.rshconsulting.com
----------------------------------------------------------------------------
Upcoming RSH RACF Training
- RACF Audit & Compliance Roadmap - APR 11-15, 2016
- RACF Level I Administration - MAY 17-20, 2016
- RACF Level II Administration -MAY 3-5, 2016
- RACF Level III Admin, Audit, & Compliance - JUN 14-16, 2016
- Securing z/OS UNIX - WebEx - JUL 25-29, 2016
----------------------------------------------------------------------------

----------------------------------------------------------------------
For TSO-REXX subscribe / signoff / archive access instructions, send email
to ***@VM.MARIST.EDU with the message: INFO TSO-REXX

----------------------------------------------------------------------
For TSO-REXX subscribe / signoff / archive access instructions,
send email to ***@VM.MARIST.EDU with the message: INFO TSO-REXX
Robert S. Hansel , RSH
2016-03-18 16:40:06 UTC
Permalink
Raw Message
To all,

In answer to all the various responses:

1) We tested the programs uncompiled using the interpreter, and they work
fine.

2) We ran with both the previously compiled versions and newly compiled
versions, and they both encountered this problem.

3) We tested the stem variable .0 value for NUM, and it came up as
non-numeric when a numeric was expected.

4) We are not using IRRXUTIL.

What is truly bizarre is this problem only happens with stem variables that
are three levels deep. So A.B.0 somehow loses its value; whereas, neither
A.0 nor A.B.C.0 does.

We've circumvented the problem by replacing all the three level stem
variables with other variables, but this doesn't solve the problem. We
suspect a bug was introduced into the REXX compiler or runtime modules in
the past 6 months. We were hoping someone was already aware of this problem
and knew of a fix.

Regards, Bob

-----Original Message-----
Date: Thu, 17 Mar 2016 09:17:34 -0400
From: "Robert S. Hansel (RSH)" <***@RSHCONSULTING.COM>
Subject: EAGREX4100E Error 41 with Compiled REXX

Greetings all,

We've recently begun having problems with compiled REXX programs that have
been running fine for years. They are now getting the following error
message:

EAGREX4100E Error 41 running compiled ?, line 2605: Bad arithmetic
conversion

Note that all of the errors occur on DO I= statements like this.

LIMIT = RACLIST.CHKRCLASS.0 /* the .0 member contains a numeric count */
DO I = 1 TO LIMIT /* REXX seems to have lost
track of the .0 member value */

The errors do not occur when running the EXEC with the interpreter rather
than compiled.

Here is the header information from the compile listing:

IBM Compiler for REXX on zSeries 4.0 LVL PK04822

Has anyone else encountered the same and know the cause and solution?

Regards, Bob

Robert S. Hansel
Lead RACF Specialist
RSH Consulting, Inc.
617-969-8211
www.linkedin.com/in/roberthansel
http://twitter.com/RSH_RACF
www.rshconsulting.com
----------------------------------------------------------------------------
Upcoming RSH RACF Training
- RACF Audit & Compliance Roadmap - APR 11-15, 2016
- RACF Level I Administration - MAY 17-20, 2016
- RACF Level II Administration -MAY 3-5, 2016
- RACF Level III Admin, Audit, & Compliance - JUN 14-16, 2016
- Securing z/OS UNIX - WebEx - JUL 25-29, 2016
----------------------------------------------------------------------------

----------------------------------------------------------------------
For TSO-REXX subscribe / signoff / archive access instructions,
send email to ***@VM.MARIST.EDU with the message: INFO TSO-REXX
Paul Gilmartin
2016-03-18 16:47:25 UTC
Permalink
Raw Message
Post by Robert S. Hansel , RSH
...
3) We tested the stem variable .0 value for NUM, and it came up as
non-numeric when a numeric was expected.
What do SYMBOL( 'stem.0' ), VALUE( 'stem.0' ) and C2X( stem.0 ) show?
Post by Robert S. Hansel , RSH
We've circumvented the problem by replacing all the three level stem
variables with other variables, but this doesn't solve the problem. We
suspect a bug was introduced into the REXX compiler or runtime modules in
the past 6 months. We were hoping someone was already aware of this problem
and knew of a fix.
If not, you're entitled to create the SR.

-- gil

----------------------------------------------------------------------
For TSO-REXX subscribe / signoff / archive access instructions,
send email to ***@VM.MARIST.EDU with the message: INFO TSO-REXX
Loading...