px version of Ereplace - SIGSEGV error.
Moderators: chulett, rschirm, roy
px version of Ereplace - SIGSEGV error.
Hi,
I have created a parallel routine for Ereplace using the code by DSguru2B (viewtopic.php?t=106358&highlight=ereplace)
I have compiled the code & mentioned the library path:
/etl/ascential/Ascential/DataStage/PXEngine.751.1/lib/libereplace.o
When I compile a job using this routine, it aborts with the following error.
Data_Validation_Dtl1_Tfm,0: sh: dbx: not found
Data_Validation_Dtl1_Tfm,0: Operator terminated abnormally: received signal SIGSEGV
I did check the forum for Segment Violation(SISSEGV) & above errors but could not find a solution.
Please let me know how to proceed.
kduke - I read your post that it worked fine for you. Can you pls let me know if I need to change any thing.
- Preethi
I have created a parallel routine for Ereplace using the code by DSguru2B (viewtopic.php?t=106358&highlight=ereplace)
I have compiled the code & mentioned the library path:
/etl/ascential/Ascential/DataStage/PXEngine.751.1/lib/libereplace.o
When I compile a job using this routine, it aborts with the following error.
Data_Validation_Dtl1_Tfm,0: sh: dbx: not found
Data_Validation_Dtl1_Tfm,0: Operator terminated abnormally: received signal SIGSEGV
I did check the forum for Segment Violation(SISSEGV) & above errors but could not find a solution.
Please let me know how to proceed.
kduke - I read your post that it worked fine for you. Can you pls let me know if I need to change any thing.
- Preethi
-
- Participant
- Posts: 54607
- Joined: Wed Oct 23, 2002 10:52 pm
- Location: Sydney, Australia
- Contact:
You should not be getting that error while compilation. Any time you get a compilation error is, when you have compiled the routine properly.
Create a simple c routine that takes in an arguments as integer and adds 10 to it and returns it back. See if you are getting the same issue with that.
Create a simple c routine that takes in an arguments as integer and adds 10 to it and returns it back. See if you are getting the same issue with that.
Creativity is allowing yourself to make mistakes. Art is knowing which ones to keep.
The very first line of the routine where your specifying the size of "result", remove that line and try the following:
Code: Select all
char *result = (char *)malloc (sizeof(str));
Creativity is allowing yourself to make mistakes. Art is knowing which ones to keep.
I also suspect its the amount of memory thats being allocated for result variable, thats why I asked the OP to remove or comment out that line and specify the size of the complete string. If that does not work, he should then just explicitly specify
and then try again. If the code runs without any hitch, then the memory allocation line for result needs to be re-written.
Code: Select all
char *result = (char *)malloc (1000);
Creativity is allowing yourself to make mistakes. Art is knowing which ones to keep.