Operating System - OpenVMS

Re: Java/JBoss profiling

 
Kristen Haerum
New Member

Re: Java/JBoss profiling

Hi Boris

These are fragments of the correspondence with HP:

The problem is Java is asking the CRTL to iconv_open(â ASCIIâ ,â UTF-8â ) and iconv_open(â UTF-8â , â ASCIIâ )

It appears they are not supported on a standard openvms system.

First it requests for ASCII , but on OpenVMS that Character set is really 8859-1.

If the logical is defined, the java application should work because it is going to get ISO8859-1 as the default language.

Actually we should call decc$iconv_open(â ISO8859-1â , â UTF-8â ) and decc$iconv_open(â UTF-8â , â ISO8859-1â ),

But both should work.

Since Java gets the default lang first, the JBOSS debugger shouldnâ t fail if sys$lang EN_US_ISO8859-1

-Kristen
WW304289
Frequent Advisor

Re: Java/JBoss profiling

Hi Kristen,

thanks for the reply.

The names of codesets are implementation-defined, including the codeset associated with program's default locale. Attached shapshot illustrates it. The thing is that Linux (and, probably, other platforms) provides codeset converters for codeset associated with program's default locale while VMS does not.

There is no standard requirement I know of to provide codeset converters for any particular codeset, including the default codeset, but not providing converters for default codeset looks like a deficiency to me. It is, actually, easy to fix: create codeset convertes for ASCII as symbolic links to codeset converters for ISO8859-1:

ASCII_UCS-2.ICONV -> ISO8859-1_UCS-2.ICONV
ASCII_UCS-4.ICONV -> ISO8859-1_UCS-4.ICONV
ASCII_UTF-8.ICONV -> ISO8859-1_UTF-8.ICONV
UCS-2_ISO8859-1.ICONV -> UCS-2_ASCII.ICONV
...

> Actually we should call decc$iconv_open(â  ISO8859-1â  , â  UTF-8â  ) and decc$iconv_open(â  UTF-8â  , â  ISO8859-1â  ),

Yes, I think this is the right fix, instead of defining sys$lang logical. Except decc$ prefix is unnecessary.

Thanks again,
-Boris

x.c
---
#include
#include
#include

int main() {
setlocale(LC_ALL, "");
puts(nl_langinfo(CODESET));
}

VMS
---
$ run x.exe
ASCII
$ define sys$lang EN_US_ISO8859-1
$ run x.exe
ISO8859-1
$

$ dir SYS$I18N_ICONV:*ASCII*.ICONV
%DIRECT-W-NOFILES, no files found
$

Linux
-----
$ x.out
ANSI_X3.4-1968
$ export LANG=en_US
$ x.out
ISO-8859-1
$

$ iconv --list | grep ANSI_X3.4-1968
ANSI_X3.4-1968//
$
Cass Witkowski
Trusted Contributor

Re: Java/JBoss profiling

What JBOSS are you using?

Thanks,

Cass
Ph Vouters
Valued Contributor

Re: Java/JBoss profiling

Hi,

 

My article I recently wrote after discovering the original post in Google's comp.os.vms news group is coming late. Anyhow here it is : http://vouters.dyndns.org/tima/OpenVMS-Java-JBoss-JBoss_Profiler_2_causing_a_JVM_crash_dump.html

 

If this can also help someone or leadstoward the solution I will be glad.

Philippe