Job has finished, status = 96 (Crashed)
Moderators: chulett, rschirm, roy
Job has finished, status = 96 (Crashed)
Hi all,
I have a job sequence with several sub jobs. If I run the sequence one of the (server) jobs produces the following log message:
Seq_Reg_RegistrateFile01..JobControl (DSWaitForJob): Job Job_Reg_GetProjectInputPath01.1 has finished, status = 96 (Crashed)
The job retrieves a table value and returns this value in a user status variable. The controller job has 2 triggers: Userstatus = '', and Userstatus <> ''
I tried a lot things but I still have no clue what goes wrong.
Any ideas?
Peter
I have a job sequence with several sub jobs. If I run the sequence one of the (server) jobs produces the following log message:
Seq_Reg_RegistrateFile01..JobControl (DSWaitForJob): Job Job_Reg_GetProjectInputPath01.1 has finished, status = 96 (Crashed)
The job retrieves a table value and returns this value in a user status variable. The controller job has 2 triggers: Userstatus = '', and Userstatus <> ''
I tried a lot things but I still have no clue what goes wrong.
Any ideas?
Peter
Try resetting the job and looking at the details of the log entry "from previous run" to see if you get additional information on the cause. Does the job also "crash" when run manually with the same parameters? Does it crash every time or just sporadically?
<a href=http://www.worldcommunitygrid.org/team/ ... TZ9H4CGVP1 target="WCGWin">
</a>
</a>
Hi ArndW,
I resetted the job, but it still crashes...
Where precisely can I find the log entry 'from previous run'? I tried to find it by doing a menu search on "from previous entry" in the log, but without result...
When run in isolation the job terminates normally with status OK.
When run within the sequence the job crashes every time.
Peter
I resetted the job, but it still crashes...
Where precisely can I find the log entry 'from previous run'? I tried to find it by doing a menu search on "from previous entry" in the log, but without result...
When run in isolation the job terminates normally with status OK.
When run within the sequence the job crashes every time.
Peter
hi ,
I still can't find the entry you mentioned after doing a reset.
Nevertheless, I found out that the crash is caused by setting the userstatus to a string containing backslashes (using DSSetUserStatus). In the job I have a filepath like 'D:\DATA\DEV\PROJECT\INPUT' that I want to assign to the userstatus. If I replace this path by 'test' the userstatus is correctly filled and the job finishes with status = 1 in the controlling job. However when I assign 'test\test' to the userstatus variable the job crashes again?!
What could be the reason for this?
Are there alternatives to passing values to other jobs other than via userstatus?
Thanks in advance.
Peter
I still can't find the entry you mentioned after doing a reset.
Nevertheless, I found out that the crash is caused by setting the userstatus to a string containing backslashes (using DSSetUserStatus). In the job I have a filepath like 'D:\DATA\DEV\PROJECT\INPUT' that I want to assign to the userstatus. If I replace this path by 'test' the userstatus is correctly filled and the job finishes with status = 1 in the controlling job. However when I assign 'test\test' to the userstatus variable the job crashes again?!
What could be the reason for this?
Are there alternatives to passing values to other jobs other than via userstatus?
Thanks in advance.
Peter
PeterPol - good job on locating the rather obscure cause. In some of the DS code the backslash is used as a string delimiter to store and parse out multiple types of values from one string. This is probably what is happening in your case with the userstatus. I would create a minimal job that reproduces the error and submit it to your support provider as a bug report. But as it won't be fixed in time to help you with your problem you will need to use a different character. Could you substitute a forward slash in this case?
<a href=http://www.worldcommunitygrid.org/team/ ... TZ9H4CGVP1 target="WCGWin">
</a>
</a>
-
- Participant
- Posts: 54607
- Joined: Wed Oct 23, 2002 10:52 pm
- Location: Sydney, Australia
- Contact:
Can you post the actual call to DSSetUserStatus() ?
The backslash is a quote character in DataStage BASIC, so this may be the cause. Try quoting the string.
The backslash is a quote character in DataStage BASIC, so this may be the cause. Try quoting the string.
Code: Select all
Call DSSetUserStatus(DQuote('D:\DATA\DEV\PROJECT\INPUT'))
IBM Software Services Group
Any contribution to this forum is my own opinion and does not necessarily reflect any position that IBM may hold.
Any contribution to this forum is my own opinion and does not necessarily reflect any position that IBM may hold.
I just took a quick look at the object code and the backslash is indeed used as a field delimiter in a couple of places, so it is probably not too far off to assume that this character cannot (currently) be used within the user status. The question is whether IBM will change to code to allow the backslash or change to documentation to disallow the backslash. My money is on the latter option.
<a href=http://www.worldcommunitygrid.org/team/ ... TZ9H4CGVP1 target="WCGWin">
</a>
</a>