|
||||||||
This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators. For more information on JIRA, see: http://www.atlassian.com/software/jira |
You received this message because you are subscribed to the Google Groups "Jenkins Issues" group.
To unsubscribe from this group and stop receiving emails from it, send an email to jenkinsci-issues+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
@Xavier Nodet - re: your EBCDIC comment. The original problem description shows a parameter -Dfile.encoding=ISO8859-1 to tell the zos Java engine that the slave.jar is an ASCII file: /usr/lpp/java/J6.0/bin/java -Dfile.encoding=ISO8859-1 -jar slave.jar, so the originator's issue should not be due to the EBCDIC encoding. I had an error message very similar to this one until I added the -Dfile.encoding: Exception in thread "main" java.io.StreamCorruptedException: invalid stream header: B055002D
After adding that parameter to the Java invocation line, I was able to get the slave to connect okay. After getting the slave to connect, there is a second issue: Jenkins generates a /tmp/hudsonxxxxx.sh script, which contains ASCII text and not EBCDIC text(due to the use of the same -Dfile.encoding parameter named above, which sets file encoding for both input and output files.) After creating the /tmp/hudsonxxxxx.sh file, Jenkins invokes the sh (shell command) on the generated /tmp/hudsonxxxxx.sh, but since the file contains ASCII text but it is not tagged as ASCII (chtag command), the shell attempts to read it as EBCDIC, and so gets messed up. If the following environment variables are added to the environment, then any file generated by the Java engine (such as Jenkins creating the /tmp/hudsonxxxxx.sh file), will be tagged ASCII:
IBM_JAVA_ENABLE_ASCII_FILETAG ON
IBM_JAVA_OPTIONS "-Dfile.encoding=ISO8859-1 -Xnoargsconversion"
(I'm not sure about the need of the -Xnoargsconversion in this case, but we require it for our application).
My slave is connecting to a userid running tcsh, so I update the environment variable by setting Jenkin's "Prefix Start Slave Command" to:
setenv IBM_JAVA_ENABLE_ASCII_FILETAG ON && setenv IBM_JAVA_OPTIONS "-Dfile.encoding=ISO8859-1 -Xnoargsconversion" && env &&
I am running Jenkins 1.592, the zos version via uname is: OS/390 xxxx 23.0.
the Java is: IBM J9 VM (build 2.6, JRE 1.7.0 z/OS s390x-64 20130617_152572 (JIT enabled, AOT enabled)
My logon userid also sets the following environment variables at logon time to indicate to programs (other than Java) about the autotagging of ASCII files:
_BPXK_AUTOCVT=ON
_CEE_RUNOPTS=POSIX(ON),FILETAG(AUTOCVT,AUTOTAG)