Discussion:
Issue with TCPIP$CONFIG and Java on OpenVMS
Add Reply
Jeffrey H. Coffield
2020-09-25 20:06:06 UTC
Reply
Permalink
Hopefully this will save someone some time.

I ran into this on setting up a new OpenVMS system. In my LOGIN.COM I have:

$ @sys$common:[java$60.com]java$60_setup.com
$ @sys$login:JAVA$CONFIG_SETUP.COM

The second one will cause a failure in SYS$MANAGER:TCPIP$CONFIG.COM.
When you go to Core -> Interfaces (1,2) you get:

Configuration options:
%DCL-W-IVCHAR, invalid numeric value - check for invalid digits
\%X|\

This can be fixed by either not executing the java config setup or
patching TCPIP$CONFIG.COM like so:

VMS3 $ diff sys$manager:tcpip$config.com
************
File SYS$COMMON:[SYSMGR]TCPIP$CONFIG.COM;2
8106 $pipe tcpip ifconfig "-av" > '_gaa_active_outf'
8107 $open/read/error=gaa_error addr_fd '_gaa_active_outf'
******
File SYS$COMMON:[SYSMGR]TCPIP$CONFIG.COM;1
8106 $pipe tcpip ifconfig -av > '_gaa_active_outf'
8107 $open/read/error=gaa_error addr_fd '_gaa_active_outf'
************

Adding the quotes on line 8106 fixes the issue.

Jeff Coffield
www.digitalsynergyinc.com
Wilm Boerhout
2020-09-26 18:13:47 UTC
Reply
Permalink
Post by Jeffrey H. Coffield
Hopefully this will save someone some time.
The second one will cause a failure in SYS$MANAGER:JAVA$CONFIG_SETUP.COM.
%DCL-W-IVCHAR, invalid numeric value - check for invalid digits
 \%X|\
This can be fixed by either not executing the java config setup or
[snip]

I don't have Java on my system, but if JAVA$CONFIG_SETUP.COM causes the
error, shouldn't that one be fixed instead of the "innocent"
JAVA$CONFIG_SETUP.COM ?

/Wilm
Wilm Boerhout
2020-09-26 19:52:55 UTC
Reply
Permalink
Post by Wilm Boerhout
Post by Jeffrey H. Coffield
Hopefully this will save someone some time.
The second one will cause a failure in
SYS$MANAGER:JAVA$CONFIG_SETUP.COM. When you go to Core -> Interfaces
%DCL-W-IVCHAR, invalid numeric value - check for invalid digits
  \%X|\
This can be fixed by either not executing the java config setup or
[snip]
I don't have Java on my system, but if JAVA$CONFIG_SETUP.COM causes the
error, shouldn't that one be fixed instead of the "innocent"
JAVA$CONFIG_SETUP.COM ?
/Wilm
innocent TCPIP$CONFIG, that is...
hb
2020-09-27 13:09:39 UTC
Reply
Permalink
Post by Wilm Boerhout
Post by Wilm Boerhout
Post by Jeffrey H. Coffield
Hopefully this will save someone some time.
The second one will cause a failure in
SYS$MANAGER:JAVA$CONFIG_SETUP.COM. When you go to Core -> Interfaces
%DCL-W-IVCHAR, invalid numeric value - check for invalid digits
  \%X|\
This can be fixed by either not executing the java config setup or
[snip]
I don't have Java on my system, but if JAVA$CONFIG_SETUP.COM causes
the error, shouldn't that one be fixed instead of the "innocent"
JAVA$CONFIG_SETUP.COM ?
/Wilm
innocent TCPIP$CONFIG, that is...
It's another incorrect use of DECC feature logicals. Maybe depending on
input to JAVA$CONFIG_WIZARD, JAVA$CONFIG_SETUP.COM contains

$ SET PROCESS/PARSE_STYLE=EXTENDED
$ DEFINE/JOB DECC$ARGV_PARSE_STYLE TRUE

That triggers the "%DCL-W-IVCHAR" in SYS$MANAGER:TCPIP$CONFIG.COM.

Although convenient for Java users, it is simply wrong to define a CRTL
feature logical other than in user mode and in the process table: the
set feature should affect only the next image to be run.

The best you can do is to have a separate process (obviously not a
subprocess) for your Java applications.
Stephen Hoffman
2020-09-27 17:51:40 UTC
Reply
Permalink
Post by hb
Although convenient for Java users, it is simply wrong to define a CRTL
feature logical other than in user mode and in the process table: the
set feature should affect only the next image to be run.
It was simply wrong for OpenVMS developers to create and ship an
implementation with these entirely predictable and utterly expected
results, too.
--
Pure Personal Opinion | HoffmanLabs LLC
Craig A. Berry
2020-09-27 19:52:33 UTC
Reply
Permalink
Post by Stephen Hoffman
Post by hb
Although convenient for Java users, it is simply wrong to define a
the set feature should affect only the next image to be run.
It was simply wrong for OpenVMS developers to create and ship an
implementation with these entirely predictable and utterly expected
results, too.
I think this finally got fixed in one of the recent OpenJDK kits from
VSI, but since the OP mentioned Java 6.0, he's probably not interested
in new stuff.
Jeffrey H. Coffield
2020-09-28 17:07:12 UTC
Reply
Permalink
Post by Craig A. Berry
Post by Stephen Hoffman
Post by hb
Although convenient for Java users, it is simply wrong to define a
CRTL feature logical other than in user mode and in the process
table: the set feature should affect only the next image to be run.
It was simply wrong for OpenVMS developers to create and ship an
implementation with these entirely predictable and utterly expected
results, too.
I think this finally got fixed in one of the recent OpenJDK kits from
VSI, but since the OP mentioned Java 6.0, he's probably not interested
in new stuff.
I got a response from VSI saying this would be fixed in a future release.

Jeff

Stephen Hoffman
2020-09-27 17:42:51 UTC
Reply
Permalink
Post by Wilm Boerhout
Post by Wilm Boerhout
Post by Jeffrey H. Coffield
Hopefully this will save someone some time.
The second one will cause a failure in
SYS$MANAGER:JAVA$CONFIG_SETUP.COM. When you go to Core -> Interfaces
%DCL-W-IVCHAR, invalid numeric value - check for invalid digits
  \%X|\
This can be fixed by either not executing the java config setup or
[snip]
I don't have Java on my system, but if JAVA$CONFIG_SETUP.COM causes the
error, shouldn't that one be fixed instead of the "innocent"
JAVA$CONFIG_SETUP.COM ?
innocent TCPIP$CONFIG, that is...
That's an EFS-related incompatibility.

More than a little DCL EFS-compatibility-deferral going on all around, too.

TCPIP$CONFIG is far from the only example here, with more than little
existing DCL elsewhere deferred.

Both user-written DCL and VSI-written DCL.

Similar deferral issues arise within many apps too—all almost inherent
in upward compatibility—when the java$ and decc$ logical names first
arrive at app launch.

I've started adding defensive startups for this and for sufficient
quotas and appropriate parameters, and that's reduced weird issues.
Testing DCL with EFS lit, too.

BTW: there's a fun bug in DEFINE_OPTIONS, too—easy and obvious
workaround, there. DCL coding and DCL error handling gets... fun.
--
Pure Personal Opinion | HoffmanLabs LLC
Loading...