Message "Job manager has been shut down." appears within output of scm.exe utility
Environment: RTC 4.0.2 (both client and server)
We encountered problems with output of scm.exe command. The common pattern is that the emitted output (stdout) of scm command contains error message "java.lang.IllegalStateException: Job manager has been shut down." followed by stack trace. This occured for both raw and JSON formatted output in many cases of using scm.
Commands that caused described problems:
- create changeset
- changeset comment
- changeset complete
- status
We have encountered 3 following cases:
-
Scm output contains exception message followed by stack trace, command result is "success".
The fragment of output of "changeset comment" command is as follows:
Comment set.
java.lang.IllegalStateException: Job manager has been shut down.
at org.eclipse.core.internal.jobs.JobManager.schedule(JobManager.java:1104)
at org.eclipse.core.internal.jobs.InternalJob.schedule(InternalJob.java:427)
at org.eclipse.core.runtime.jobs.Job.schedule(Job.java:462)
... -
JSON output of scm.exe is followed by error message and stack trace, command result is "success". JSON is not corrupted.
The fragment of output of "create changeset" command is as follows:
{
"url": "https:\/\/jazz\/ccm\/",
"uuid": "_7ng9MZumEeKJorJDoZ2vpw"
}
java.lang.IllegalStateException: Job manager has been shut down.
at org.eclipse.core.internal.jobs.JobManager.schedule(JobManager.java:1104)
at org.eclipse.core.internal.jobs.InternalJob.schedule(InternalJob.java:427)
at org.eclipse.core.runtime.jobs.Job.schedule(Job.java:462)
... -
JSON output of scm.exe is corrupted by error message followed by stack trace (both inside JSON!!!), command result is sometimes "success", sometimes "failure". JSON output must be explicitly fixed before parsing.
The fragment of the output of "status" command is as follows:
(Please ignore "unreachable-workspaces" response here - it was caused by corrupted sandbox. We are still awaiting proper JSON output...)
{
"unreachable-workspaces": [
{
"error-message": "Could not determine the URI required to connect to the repository. The UUID of the repository is _np_1QcXTEeG8Sf7V5YZT5g. If you know the repository URI run 'login' command providing the repository URI. If not, please contact your administrator.",
"name": "WS_tst_build",
"repo-id": "_np_1QcXTEeG8Sf7V5YZT5g",
"url": "",
"uuid": "_0PMssWxPEeKiOfHPFcp5GQ"
}
]
java.lang.IllegalStateException: Job manager has been shut down.
at org.eclipse.core.internal.jobs.JobManager.schedule(JobManager.java:1104)
at org.eclipse.core.internal.jobs.InternalJob.schedule(InternalJob.java:427)
at org.eclipse.core.runtime.jobs.Job.schedule(Job.java:462)
at ...
}
The crucial things:
- Can be guaranteed that the result of the requested scm operation succeeded in case when scm command returns "success" but the output (raw or JSON) contains "Job manager has been shut down." exception incl. stack trace?
- Each JSON output must be pre-processed to filter unexpected content before parsing... :(
Note: We are switching from RTC 4.0 to 4.0.2. We did not encounter the described problems ever before.
Regards,
David
2 answers
IllegalStateException: Job manager has been shut down in CLI on z/OS (239599)
[cli] "java.lang.IllegalStateException: Job manager has been shut down" after scm deliver (238735)
UpdateChangesJob scheduled during shutdown (217382)
Could you subscribe to UpdateChangesJob scheduled during shutdown (217382) and provide the information provided here for further investigation please?
Comments
Hello,
I have found this java.lang.IllegalStateException in log, but it is not regular output, it is on error-output. The question remains: could I rely on "Result code: 0" and be sure, that in this case changeset was created?
RTC client 4.0.2 Win7 x64
RTC server 4.0.2
4/22/2013 2:45:08 PM: Executing: "C:\Program Files (x86)\IBM\Rational Team Concert Client for Microsoft Visual Studio IDE\3rd Party\scmtools\eclipse\scm.exe" -a n create changeset -r "https://jazz/ccm/" -d "D:\Sandbox\tstbx" -w "_WVslsczwEFG81f7V5YZT5g" --no-current -j --component "ws_bx"
4/22/2013 2:45:13 PM: STD_ERR: java.lang.IllegalStateException: Job manager has been shut down.
4/22/2013 2:45:13 PM: STD_ERR: at org.eclipse.core.internal.jobs.JobManager.schedule(JobManager.java:1104)
4/22/2013 2:45:13 PM: STD_ERR: at org.eclipse.core.internal.jobs.InternalJob.schedule(InternalJob.java:427)
4/22/2013 2:45:13 PM: STD_ERR: at org.eclipse.core.runtime.jobs.Job.schedule(Job.java:462)
4/22/2013 2:45:13 PM: STD_ERR: at com.ibm.team.filesystem.rcp.core.internal.changes.util.listeners.UpdateChangesJob.requestModelUpdate(UpdateChangesJob.java:105)
4/22/2013 2:45:13 PM: STD_ERR: at com.ibm.team.filesystem.rcp.core.internal.changes.update.util.UpdateManager.requestModelUpdate(UpdateManager.java:38)
4/22/2013 2:45:13 PM: STD_ERR: at com.ibm.team.filesystem.rcp.core.internal.changes.util.listeners.EventManager.handleEvents(EventManager.java:578)
4/22/2013 2:45:13 PM: STD_ERR: at com.ibm.team.repository.client.util.EventSource$BackgroundEventDispatcher$1.run(EventSource.java:712)
4/22/2013 2:45:13 PM: STD_ERR: at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)
4/22/2013 2:45:13 PM: STD_ERR: at com.ibm.team.repository.client.util.EventSource$BackgroundEventDispatcher.process(EventSource.java:707)
4/22/2013 2:45:13 PM: STD_ERR: at com.ibm.team.repository.client.util.EventSource$BackgroundEventDispatcher$3.run(EventSource.java:757)
4/22/2013 2:45:13 PM: STD_ERR: at com.ibm.team.repository.client.util.ThreadCheck.runProhibitingLongOps(ThreadCheck.java:174)
4/22/2013 2:45:13 PM: STD_ERR: at com.ibm.team.repository.client.util.EventSource$BackgroundEventDispatcher.process(EventSource.java:743)
4/22/2013 2:45:13 PM: STD_ERR: at com.ibm.team.repository.client.util.EventSource$BackgroundEventDispatcher$4.run(EventSource.java:772)
4/22/2013 2:45:13 PM: STD_ERR: at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:897)
4/22/2013 2:45:13 PM: STD_ERR: at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:919)
4/22/2013 2:45:13 PM: STD_ERR: at java.lang.Thread.run(Thread.java:738)
4/22/2013 2:45:13 PM: Result code: 0