RTC scm command garbage returned on z/OS
From a z/OS system that I have entered via telnet, I issue the SCM -v CLI command and this is returned (garbage followed by what looks like the version information):
So, I'm guessing that I have a setup problem, or there is a bug in the z/OS SCM CLI.
Any suggestions on what I might be doing wrong?
Frank
$scm -v
-ëáëëñ|+------------------------------------------------------------------------
-ÁÄ%ÑøËÁ-ÂÍÑ%ÀñÀ-Í>,>?Ï>-¦/Î/-ÃÍ%%ÎÁÊËÑ?>-¢êá-------ñâ(-¢------:|ë-Ë------------
---¬-------¢ñè-Á>/Â%ÁÀ-- |è-Á>/Â%ÁÀ--¢-î(---ê--¬¢/Î/---¬ëê-¬--------¬----¬â-----
-¢ñè----Ê--¬--------¬------åä-----ê--¬¢/Î/---¬ëê-¬--------¬----¬â------¢-ä<-----
------¬------â??È<?/ÀÁÊ-Ä?>ËÈ/>ÈË--|ë-:?Ë-- êäç-Ë-----ïë-Í>,>?Ï>--+<-Á>¬íë-ãÊ/_Á
Ï?Ê,-/ÊÅÍ_Á>ÈË----Î-ä?__/>À-%Ñ>Á-/ÊÅÍ_Á>ÈË----À/È/- >?àÁÃ/Í%È--Î---á+èêß-?ÊÅ-ÁÄ%
ÑøËÁ-?ËÅÑ------------------------------(áëë åá-áÊÊ?Ê-ÊÁ/ÀÑ>Å-Ä?>ÃÑÅÍÊ/ÈÑ?>--Í¢ !
!ÄÄ_ÁÄ%ÑøËÁÄ?>ÃÑÅÍÊ/ÈÑ?>ËÄ_È??%Ë?ÊÅ-ÁÄ%ÑøËÁ-?ËÅÑ-_/>/ÅÁÊ-ÃÑ%Áè/Â%Á<?Ä,--áàä----ñ
-&ÁÊ_ÑËËÑ?>-ÀÁ>ÑÁÀ----ëè ä.---¦/Î/-Ñ?-ãÑ%Á+?Èã?Í>ÀáÌÄÁøÈÑ?>--Í¢ !!ÄÄ_ÁÄ%ÑøËÁÄ?>Ã
ÑÅÍÊ/ÈÑ?>ËÄ_È??%Ë?ÊÅ-ÁÄ%ÑøËÁ-?ËÅÑ-_/>/ÅÁÊ-ÃÑ%Áè/Â%Á<?Ä,--áàä----ñ-&ÁÊ_ÑËËÑ?>-ÀÁ>
ÑÁÀ----/È-¦/Î/-Ñ?-ê/>À?_ ÄÄÁËËãÑ%Á-?øÁ>-+/ÈÑÎÁ-(ÁÈÇ?À---/È-¦/Î/-Ñ?-ê/>À?_ ÄÄÁËËã
Ñ%Á--Ñ>ÑÈ--ê/>À?_ ÄÄÁËËãÑ%Á-¦/Î/-------/È-?ÊÅ-ÁÄ%ÑøËÁ-Ä?ÊÁ-ÊÍ>ÈÑ_Á-Ñ>ÈÁÊ>/%-/À/ø
È?Ê-<?Ä,Áʬ¢/Î/+Ñ?-%?Ä,-<?Ä,Áʬ¢/Î/+Ñ?-¦/Î/------/È-?ÊÅ-ÁÄ%ÑøËÁ-?ËÅÑ-ËÈ?Ê/ÅÁ_/>/
ÅÁÊ-ëÈ?Ê/ÅÁ(/>/ÅÁÊ-%?Ä,-ëÈ?Ê/ÅÁ(/>/ÅÁÊ-¦/Î/-------/È-?ÊÅ-ÁÄ%ÑøËÁ-?ËÅÑ-ËÈ?Ê/ÅÁ_/>
/ÅÁÊ-ëÈ?Ê/ÅÁ(/>/ÅÁÊ-?øÁ>-ëÈ?Ê/ÅÁ(/>/ÅÁÊ-¦/Î/-------/È-?ÊÅ-ÁÄ%ÑøËÁ-?ËÅÑ-Ñ>ÈÁÊ>/%-
Â/ËÁ/À/øÈ?Ê-â/ËÁëÈ?Ê/ÅÁ-Ñ>ÑÈãÑ%Á(/>/ÅÁÊ-â/ËÁëÈ?Ê/ÅÁ-¦/Î/-------/È-?ÊÅ-ÁÄ%ÑøËÁ-?Ë
ÅÑ-Ñ>ÈÁÊ>/%-Â/ËÁ/À/øÈ?Ê-â/ËÁëÈ?Ê/ÅÁ-Ñ>ÑÈÑ/%Ñ:Á-â/ËÁëÈ?Ê/ÅÁ-¦/Î/-------/È-?ÊÅ-ÁÄ%
ÑøËÁ-?ËÅÑ-Â/ËÁ/À/øÈ?Ê-â/ËÁ À/øÈ?Ê-Ñ>ÑÈÑ/%Ñ:ÁëÈ?Ê/ÅÁ-â/ËÁ À/øÈ?Ê-¦/Î/-------/È-?Ê
Å-ÁÄ%ÑøËÁ-?ËÅÑ-ÃÊ/_ÁÏ?Ê,-Ñ>ÈÁÊ>/%-Ä?ÊÁ-ãÊ/_ÁÏ?Ê,-Ñ>ÑÈÑ/%Ñ:Á-ãÊ/_ÁÏ?Ê,-¦/Î/------
-/È-?ÊÅ-ÁÄ%ÑøËÁ-?ËÅÑ-ÃÊ/_ÁÏ?Ê,-Ñ>ÈÁÊ>/%-Ä?ÊÁ-ãÊ/_ÁÏ?Ê,--Ñ>ÑÈ--ãÊ/_ÁÏ?Ê,-¦/Î/----
---/È-?ÊÅ-ÁÄ%ÑøËÁ-Ä?ÊÁ-ÊÍ>ÈÑ_Á-/À/øÈ?Ê-áÄ%ÑøËÁëÈ/ÊÈÁÊ-ËÈ/ÊÈÍø-áÄ%ÑøËÁëÈ/ÊÈÁÊ-¦/Î
/-------/È-?ÊÅ-ÁÄ%ÑøËÁ-Ä?ÊÁ-ÊÍ>ÈÑ_Á-/À/øÈ?Ê-áÄ%ÑøËÁëÈ/ÊÈÁÊ-ÊÍ>-áÄ%ÑøËÁëÈ/ÊÈÁÊ-¦/
Î/-------/È-ËÍ>-ÊÁÃ%ÁÄÈ-+/ÈÑÎÁ(ÁÈÇ?À ÄÄÁËË?Êñ_ø%-Ñ>Î?,Á--+/ÈÑÎÁ-(ÁÈÇ?À---/È-ËÍ>-
ÊÁÃ%ÁÄÈ-+/ÈÑÎÁ(ÁÈÇ?À ÄÄÁËË?Êñ_ø%-Ñ>Î?,Á-+/ÈÑÎÁ(ÁÈÇ?À ÄÄÁËË?Êñ_ø%-¦/Î/------/È-ËÍ
>-ÊÁÃ%ÁÄÈ-àÁ%ÁÅ/ÈÑ>Å(ÁÈÇ?À ÄÄÁËË?Êñ_ø%-Ñ>Î?,Á-àÁ%ÁÅ/ÈÑ>Å(ÁÈÇ?À ÄÄÁËË?Êñ_ø%-¦/Î/-
-----/È-¦/Î/-%/>Å-ÊÁÃ%ÁÄÈ-(ÁÈÇ?À-Ñ>Î?,Á-(ÁÈÇ?À-¦/Î/-------/È-?ÊÅ-ÁÄ%ÑøËÁ-ÁÉÍÑ>?Ì
-%/Í>ÄÇÁÊ-(/Ñ>-Ñ>Î?,ÁãÊ/_ÁÏ?Ê,-(/Ñ>-¦/Î/-------/È-?ÊÅ-ÁÄ%ÑøËÁ-ÁÉÍÑ>?Ì-%/Í>ÄÇÁÊ-(
/Ñ>-Â/ËÑÄêÍ>-(/Ñ>-¦/Î/-------/È-?ÊÅ-ÁÄ%ÑøËÁ-ÁÉÍÑ>?Ì-%/Í>ÄÇÁÊ-(/Ñ>-ÊÍ>-(/Ñ>-¦/Î/-
-------/È-?ÊÅ-ÁÄ%ÑøËÁ-ÁÉÍÑ>?Ì-%/Í>ÄÇÁÊ-(/Ñ>-_/Ñ>-(/Ñ>-¦/Î/-------com.ibm.team.fi
lesystem.cli.client, version 2.1.0.v20101110_2353
Subcommands: load login logout create create/workspace create/baseline create/
changeset create/snapshot create/component changeset changeset/comment changeset
/complete changeset/current changeset/relocate changeset/associate changeset/dis
associate changeset/suspend changeset/resume changeset/discard changeset/extract
change-target change-target/workspace change-target/component change-target/uns
et-workspace list list/workspaces list/projectareas list/teamareas list/streams
list/components list/remotefiles list/credentials list/daemons list/snapshots li
st/locks list/properties list/changesets list/users checkin accept deliver statu
s conflicts resolve move lastmod share discard undo compare history diff repair
workspace workspace/add-components workspace/remove-components workspace/replace
-components property property/list property/get property/set property/remove loc
k lock/list lock/acquire lock/release annotate snapshot snapshot/promote refresh
users users/set
com.ibm.teamz.filesystem.cli.client, version 1.1.0.v20101110_2353
Subcommands: allocatez listdefz loadz loadzXml create/dataset list/datasetdefi
nitions zload zloadxml
com.ibm.team.filesystem.cli.tools, version 2.1.0.v20101110_2353
Subcommands: tools.verify tools.validate tools.echo.stdin tools.configvalue to
ols.log
com.ibm.team.filesystem.cli.core, version 2.1.0.v20101110_2353
Subcommands: help version daemon daemon/start daemon/stop
com.ibm.teamz.zimport.cli, version 2.1.0.v20101110_2353
Subcommands: zimport
So, I'm guessing that I have a setup problem, or there is a bug in the z/OS SCM CLI.
Any suggestions on what I might be doing wrong?
Frank
4 answers
Hi Frank,
The garbage in the beginning is almost certainly UTF-8 output. I think the first step towards figuring out what's going on is deciphering it. Try redirecting the stdout and stderr to files:
scm -v > stdout.txt 2> stderr.txt
Take a look at the resulting files to see which one has the garbage in it, and try converting it to EBCDIC to see if you get anything intelligible:
iconv -f UTF-8 -t IBM-1047 stdout.txt
iconv -f UTF-8 -t IBM-1047 stderr.txt
- John
The garbage in the beginning is almost certainly UTF-8 output. I think the first step towards figuring out what's going on is deciphering it. Try redirecting the stdout and stderr to files:
scm -v > stdout.txt 2> stderr.txt
Take a look at the resulting files to see which one has the garbage in it, and try converting it to EBCDIC to see if you get anything intelligible:
iconv -f UTF-8 -t IBM-1047 stdout.txt
iconv -f UTF-8 -t IBM-1047 stderr.txt
- John
All the garbage is in stderr. stdout was clean and contained:
com.ibm.team.filesystem.cli.client, version 2.1.0.v20101110_2353
Subcommands: load login logout create create/workspace create/baseline create/changeset create/snapshot create/component changeset changeset/comment changeset/complete changeset/current changeset/relocate changeset/associate changeset/disassociate changeset/suspend changeset/resume changeset/discard changeset/extract change-target change-target/workspace change-target/component change-target/unset-workspace list list/workspaces list/projectareas list/teamareas list/streams list/components list/remotefiles list/credentials list/daemons list/snapshots list/locks list/properties list/changesets list/users checkin accept deliver status conflicts resolve move lastmod share discard undo compare history diff repair workspace workspace/add-components workspace/remove-components workspace/replace-components property property/list property/get property/set property/remove lock lock/list lock/acquire lock/release annotate snapshot snapshot/promote refresh users users/set
com.ibm.teamz.filesystem.cli.client, version 1.1.0.v20101110_2353
Subcommands: allocatez listdefz loadz loadzXml create/dataset list/datasetdefinitions zload zloadxml
com.ibm.team.filesystem.cli.tools, version 2.1.0.v20101110_2353
Subcommands: tools.verify tools.validate tools.echo.stdin tools.configvalue tools.log
com.ibm.team.filesystem.cli.core, version 2.1.0.v20101110_2353
Subcommands: help version daemon daemon/start daemon/stop
com.ibm.teamz.zimport.cli, version 2.1.0.v20101110_2353
Subcommands: zimport
--------------------------------------------------
You were quite correct. stderr was in the wrong code page. Here it is after translation:
!SESSION 2012-08-29 07:21:38.354 -----------------------------------------------
eclipse.buildId=unknown
java.fullversion=JRE 1.6.0 IBM J9 2.6 z/OS s390-31 20111113_94967 (JIT enabled, AOT enabled)
J9VM - R26_Java626_SR1_20111113_1649_B94967
JIT - r11_20111028_21230
GC - R26_Java626_SR1_20111113_1649_B94967
J9CL - 20111113_94967
BootLoader constants: OS=z/os, ARCH=s390, WS=unknown, NL=en_US
Framework arguments: -v
Command-line arguments: -data @noDefault -v
!ENTRY org.eclipse.osgi 4 0 2012-08-29 07:21:39.483
!MESSAGE Error reading configuration: /u/JAZZ/ccm/eclipse/configuration/scmtools/org.eclipse.osgi/.manager/.fileTableLock (EDC5111I Permission denied.)
!STACK 0
java.io.FileNotFoundException: /u/JAZZ/ccm/eclipse/configuration/scmtools/org.eclipse.osgi/.manager/.fileTableLock (EDC5111I Permission denied.)
at java.io.RandomAccessFile.open(Native Method)
at java.io.RandomAccessFile.<init>(RandomAccessFile.java:229)
at org.eclipse.core.runtime.internal.adaptor.Locker_JavaNio.lock(Locker_JavaNio.java:32)
at org.eclipse.osgi.storagemanager.StorageManager.lock(StorageManager.java:388)
at org.eclipse.osgi.storagemanager.StorageManager.open(StorageManager.java:686)
at org.eclipse.osgi.internal.baseadaptor.BaseStorage.initFileManager(BaseStorage.java:213)
at org.eclipse.osgi.internal.baseadaptor.BaseStorage.initialize(BaseStorage.java:147)
at org.eclipse.osgi.baseadaptor.BaseAdaptor.initializeStorage(BaseAdaptor.java:121)
at org.eclipse.osgi.framework.internal.core.Framework.initialize(Framework.java:185)
at org.eclipse.osgi.framework.internal.core.Framework.<init>(Framework.java:157)
at org.eclipse.core.runtime.adaptor.EclipseStarter.startup(EclipseStarter.java:286)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:175)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:60)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:37)
at java.lang.reflect.Method.invoke(Method.java:611)
at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:559)
at org.eclipse.equinox.launcher.Main.basicRun(Main.java:514)
at org.eclipse.equinox.launcher.Main.run(Main.java:1311)
at org.eclipse.equinox.launcher.Main.main(Main.java:1287)
---------------------------------------------------------------------
com.ibm.team.filesystem.cli.client, version 2.1.0.v20101110_2353
Subcommands: load login logout create create/workspace create/baseline create/changeset create/snapshot create/component changeset changeset/comment changeset/complete changeset/current changeset/relocate changeset/associate changeset/disassociate changeset/suspend changeset/resume changeset/discard changeset/extract change-target change-target/workspace change-target/component change-target/unset-workspace list list/workspaces list/projectareas list/teamareas list/streams list/components list/remotefiles list/credentials list/daemons list/snapshots list/locks list/properties list/changesets list/users checkin accept deliver status conflicts resolve move lastmod share discard undo compare history diff repair workspace workspace/add-components workspace/remove-components workspace/replace-components property property/list property/get property/set property/remove lock lock/list lock/acquire lock/release annotate snapshot snapshot/promote refresh users users/set
com.ibm.teamz.filesystem.cli.client, version 1.1.0.v20101110_2353
Subcommands: allocatez listdefz loadz loadzXml create/dataset list/datasetdefinitions zload zloadxml
com.ibm.team.filesystem.cli.tools, version 2.1.0.v20101110_2353
Subcommands: tools.verify tools.validate tools.echo.stdin tools.configvalue tools.log
com.ibm.team.filesystem.cli.core, version 2.1.0.v20101110_2353
Subcommands: help version daemon daemon/start daemon/stop
com.ibm.teamz.zimport.cli, version 2.1.0.v20101110_2353
Subcommands: zimport
--------------------------------------------------
You were quite correct. stderr was in the wrong code page. Here it is after translation:
!SESSION 2012-08-29 07:21:38.354 -----------------------------------------------
eclipse.buildId=unknown
java.fullversion=JRE 1.6.0 IBM J9 2.6 z/OS s390-31 20111113_94967 (JIT enabled, AOT enabled)
J9VM - R26_Java626_SR1_20111113_1649_B94967
JIT - r11_20111028_21230
GC - R26_Java626_SR1_20111113_1649_B94967
J9CL - 20111113_94967
BootLoader constants: OS=z/os, ARCH=s390, WS=unknown, NL=en_US
Framework arguments: -v
Command-line arguments: -data @noDefault -v
!ENTRY org.eclipse.osgi 4 0 2012-08-29 07:21:39.483
!MESSAGE Error reading configuration: /u/JAZZ/ccm/eclipse/configuration/scmtools/org.eclipse.osgi/.manager/.fileTableLock (EDC5111I Permission denied.)
!STACK 0
java.io.FileNotFoundException: /u/JAZZ/ccm/eclipse/configuration/scmtools/org.eclipse.osgi/.manager/.fileTableLock (EDC5111I Permission denied.)
at java.io.RandomAccessFile.open(Native Method)
at java.io.RandomAccessFile.<init>(RandomAccessFile.java:229)
at org.eclipse.core.runtime.internal.adaptor.Locker_JavaNio.lock(Locker_JavaNio.java:32)
at org.eclipse.osgi.storagemanager.StorageManager.lock(StorageManager.java:388)
at org.eclipse.osgi.storagemanager.StorageManager.open(StorageManager.java:686)
at org.eclipse.osgi.internal.baseadaptor.BaseStorage.initFileManager(BaseStorage.java:213)
at org.eclipse.osgi.internal.baseadaptor.BaseStorage.initialize(BaseStorage.java:147)
at org.eclipse.osgi.baseadaptor.BaseAdaptor.initializeStorage(BaseAdaptor.java:121)
at org.eclipse.osgi.framework.internal.core.Framework.initialize(Framework.java:185)
at org.eclipse.osgi.framework.internal.core.Framework.<init>(Framework.java:157)
at org.eclipse.core.runtime.adaptor.EclipseStarter.startup(EclipseStarter.java:286)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:175)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:60)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:37)
at java.lang.reflect.Method.invoke(Method.java:611)
at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:559)
at org.eclipse.equinox.launcher.Main.basicRun(Main.java:514)
at org.eclipse.equinox.launcher.Main.run(Main.java:1311)
at org.eclipse.equinox.launcher.Main.main(Main.java:1287)
---------------------------------------------------------------------
I checked and found that the directory getting the permissions error is indeed inaccessible:
ls -al /u/JAZZ/ccm/eclipse/configuration
total 64
drwxrwxrwx 4 ISPFDMN SYSSTC 8192 Aug 8 11:53 .
drwxrwxrwx 3 ISPFDMN SYSSTC 8192 Aug 8 11:10 ..
drwxrwxrwx 6 ISPFDMN SYSSTC 8192 Aug 22 18:08 daemonconfig
drwx------ 6 BPXOINIT SYSSTC 8192 Aug 8 11:58 scmtools
What permissions should this directory have? Should it be like temp? 777+Sticky bit?
ls -al /u/JAZZ/ccm/eclipse/configuration
total 64
drwxrwxrwx 4 ISPFDMN SYSSTC 8192 Aug 8 11:53 .
drwxrwxrwx 3 ISPFDMN SYSSTC 8192 Aug 8 11:10 ..
drwxrwxrwx 6 ISPFDMN SYSSTC 8192 Aug 22 18:08 daemonconfig
drwx------ 6 BPXOINIT SYSSTC 8192 Aug 8 11:58 scmtools
What permissions should this directory have? Should it be like temp? 777+Sticky bit?
Comments
On z/OS, the location of that directory is calculated based on the value of your SCM_WORK variable. While modifying the permissions of the existing directory so that your user has access is one option, it might be simpler to configure things so that your user's SCM_WORK variable points to another directory -- perhaps one under your HOME like SCM_WORK=/u/frank/scmwork -- so you'll be sure to avoid potential conflicts with other users of the CLI.