cancel
Showing results for 
Search instead for 
Did you mean: 
Read only

regex_replace: access violation

Former Member
0 Likes
814

Hi all

We try to extract the table name from the workflow name. We built a custom function using regex_replace as follows.

return regex_replace(
    workflow_name(),
    '^WF_(.+)(_\[a-zA-Z0-9\]+){2}$',
    '$1', # replace everything with first group
    null
);

This fails with very non descriptive error message as can seen below. How do we fix this?

Kind regards

Thiemo

8104    6852    SYS-170101   13/04/2018
14:08:18  |Session BJ_HEñVISIT_LZ_INI|Work
flow WF_HEñVISIT_LZ_INI

8104    6852    SYS-170101   13/04/2018
14:08:18  System Exception
<ACCESS_VIOLATION> occurred. Process dump option is off. Process is not
dumped.

8104    6852    SYS-170101   13/04/2018
14:08:18  Call stack:

8104    6852    SYS-170101   13/04/2018
14:08:18  0x00000000F19EF9DD,
XFunc_regexreplace::compute()+0589 byte(s)

8104    6852    SYS-170101   13/04/2018
14:08:18  0x00000000F19D15FE,
XCall_expr::compute()+0446 byte(s)

8104    6852    SYS-170101   13/04/2018
14:08:18  0x00000000F19D1E78,
XVal_call::compute()+0024 byte(s)

8104    6852    SYS-170101   13/04/2018
14:08:18  0x00000000F19D1EDB,
XVal_cast::compute()+0091 byte(s)

8104    6852    SYS-170101   13/04/2018
14:08:18  0x00000000F19D6831,
XStep_return::execute()+0065 byte(s)

8104    6852    SYS-170101   13/04/2018
14:08:18  0x00000000F19D68DD,
XStep_sblock::execute()+0061 byte(s)

8104    6852    SYS-170101   13/04/2018
14:08:18  0x00000000F1A0AC3D,
XFunc_script::compute()+0333 byte(s)

8104    6852    SYS-170101   13/04/2018
14:08:18  0x00000000F1A0AF2A,
XFunc_script::compute()+0490 byte(s)

8104    6852    SYS-170101   13/04/2018
14:08:18  0x00000000F19D15FE,
XCall_expr::compute()+0446 byte(s)

8104    6852    SYS-170101   13/04/2018
14:08:18  0x00000000F19D1E78,
XVal_call::compute()+0024 byte(s)

8104    6852    SYS-170101   13/04/2018
14:08:18  0x00000000F19D15A4,
XCall_expr::compute()+0356 byte(s)

8104    6852    SYS-170101   13/04/2018
14:08:18  0x00000000F19D6115,
XStep_call::execute()+0117 byte(s)

8104    6852    SYS-170101   13/04/2018
14:08:18  0x00000000F19D68DD, XStep_sblock::execute()+0061
byte(s)

8104    6852    SYS-170101   13/04/2018
14:08:18  0x00000000F19DB1D3,
XPlan_spec::execute()+0419 byte(s)

8104    6852    SYS-170101   13/04/2018
14:08:18  0x00000000F19DF671,
XPlan_desc::execute()+0737 byte(s)

8104    6852    SYS-170101   13/04/2018
14:08:18  0x00000000F19DACCB,
XPlan_spec::compute()+0923 byte(s)

8104    6852    SYS-170101   13/04/2018
14:08:18  0x00000000F19DAF43,
XPlan_spec::compute()+0339 byte(s)

8104    6852    SYS-170101   13/04/2018
14:08:18  0x00000000F19D15FE,
XCall_expr::compute()+0446 byte(s)

8104    6852    SYS-170101   13/04/2018
14:08:18  0x00000000F19D6115,
XStep_call::execute()+0117 byte(s)

8104    6852    SYS-170101   13/04/2018
14:08:18  0x00000000F19D68DD,
XStep_sblock::execute()+0061 byte(s)

8104    6852    SYS-170101   13/04/2018
14:08:18  0x00000000F19DB1D3,
XPlan_spec::execute()+0419 byte(s)

8104    6852    SYS-170101   13/04/2018
14:08:18  0x00000000F19DF671,
XPlan_desc::execute()+0737 byte(s)

8104    6852    SYS-170101   13/04/2018
14:08:18  0x00000000F19DACCB,
XPlan_spec::compute()+0923 byte(s)

8104    6852    SYS-170101   13/04/2018
14:08:18  0x00000000F19DAF43,
XPlan_spec::compute()+0339 byte(s)

8104    6852    SYS-170101   13/04/2018
14:08:18  0x00000000F0B1AE61,
AE_Main_Process_Options()+64241 byte(s)

8104    6852    SYS-170101   13/04/2018
14:08:18  0x00000000F0B4A315,
AE_Main()+2869 byte(s)

8104    6852    SYS-170101   13/04/2018
14:08:18  0x00000000CD808167

8104    6852    SYS-170101   13/04/2018
14:08:18  0x00000000CD809C1B

8104    6852    SYS-170101   13/04/2018
14:08:18  0x00000000CD80A729

8104    6852    SYS-170101   13/04/2018
14:08:18  0x000000000AB113D2,
BaseThreadInitThunk()+0034 byte(s)

8104    6852    SYS-170101   13/04/2018
14:08:18  0x000000000AC654F4,
RtlUserThreadStart()+0052 byte(s)

8104    6852    SYS-170101   13/04/2018
14:08:18  Registers:

8104    6852    SYS-170101   13/04/2018
14:08:18  RAX=0000000000000000  RBX=0000000021A88510  RCX=00000000F27BA5F0  RDX=000000001E1C7720  RSI=000000001FC8D670

8104    6852    SYS-170101   13/04/2018
14:08:18  RDI=0000000021C5F090  RBP=000000001D5C4F70  RSP=000000001D5C4E70  RIP=00000000F19EF9DD  FLG=0000000000010206

8104    6852    SYS-170101   13/04/2018
14:08:18  R8=000000001FC8D670   R9=000000001FC8E930  R10=000000001FC03364  R11=000000001FC7C214  R12=0000000000000000

8104    6852    SYS-170101   13/04/2018 14:08:18  R13=000000001FC8E930 
R14=000000001FC8E930 
R15=00000000AAAAAAAB

8104    6852    SYS-170101   13/04/2018
14:08:18  Exception code: C0000005
ACCESS_VIOLATION

8104    6852    SYS-170101   13/04/2018 14:08:18  Fault address: 
00007FFAF19EF9DD 01:00000000010BE9DD D:\SAP BusinessObjects\Data
Services\bin\acta.dll
View Entire Topic
former_member231328
Participant
0 Likes

From the top of the stack trace it identifies the issue is with the function call:

XFunc_regexreplace::compute()+0589 byte(s)

Reviewing the syntax of the regex_replace() function is is correct syntax to omit the <regular expression processing flags>

https://help.sap.com/viewer/8092b085a68941f6aaa6708685a62b0d/4.2.10/en-US/663bf2aa3c154617b92d725cf3...

I was able to reproduce this error however after modifying the call I did not receive the error please use the following syntax:

regex_replace(
'WF_aworkflowname',
'^WF_(.+)(_\[a-zA-Z0-9\]+){2}$',
'$1');

Regards

Bon