Job has finished, status = 96 (Crashed)

Post questions here relative to DataStage Server Edition for such areas as Server job design, DS Basic, Routines, Job Sequences, etc.

Moderators: chulett, rschirm, roy

Post Reply
PeterPol
Premium Member
Premium Member
Posts: 73
Joined: Wed Mar 08, 2006 8:59 am

Job has finished, status = 96 (Crashed)

Post by PeterPol »

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
ArndW
Participant
Posts: 16318
Joined: Tue Nov 16, 2004 9:08 am
Location: Germany
Contact:

Post by ArndW »

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?
PeterPol
Premium Member
Premium Member
Posts: 73
Joined: Wed Mar 08, 2006 8:59 am

Post by PeterPol »

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
kumar_s
Charter Member
Charter Member
Posts: 5245
Joined: Thu Jun 16, 2005 11:00 pm

Post by kumar_s »

As soon as you reset the job, you will find an entry as From previous run[...].
Impossible doesn't mean 'it is not possible' actually means... 'NOBODY HAS DONE IT SO FAR'
PeterPol
Premium Member
Premium Member
Posts: 73
Joined: Wed Mar 08, 2006 8:59 am

Post by PeterPol »

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
ArndW
Participant
Posts: 16318
Joined: Tue Nov 16, 2004 9:08 am
Location: Germany
Contact:

Post by ArndW »

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?
ray.wurlod
Participant
Posts: 54607
Joined: Wed Oct 23, 2002 10:52 pm
Location: Sydney, Australia
Contact:

Post by ray.wurlod »

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.

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.
PeterPol
Premium Member
Premium Member
Posts: 73
Joined: Wed Mar 08, 2006 8:59 am

Post by PeterPol »

hi Ray,

Added DQuote but it still gives a crash :(

I already reported this issue to IBM as a bug

Peter
ArndW
Participant
Posts: 16318
Joined: Tue Nov 16, 2004 9:08 am
Location: Germany
Contact:

Post by ArndW »

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.
chulett
Charter Member
Charter Member
Posts: 43085
Joined: Tue Nov 12, 2002 4:34 pm
Location: Denver, CO

Post by chulett »

Perhaps as a workaround you could pass it out with some other delimiting character? Then replace them with '\' before actual use.
-craig

"You can never have too many knives" -- Logan Nine Fingers
Post Reply