ACCESS_VIOLATION for reading CSV file using variable

Hello Experts,

I am having strange issue with flat file processing. I am testing very simple case. I am reading CSV file and loading data in target table. if I use actual forlder and file details in CSV source it works fine. But if I use variable (as I want to process files one by one) and pass the next file name to this variable, I get the below Access Violation. Please advice what could be the issue. Just to test it, I created global variable and stored folder path and exact file name to check if reading works at all with variables, but I always get below dump. Please advice.

2572 5016 SYS-170101 3/15/2013 2:17:32 PM System Exception <ACCESS_VIOLATION> occurred. Process dump is written to <C:\Documents and Settings\All Users\Application
2572 5016 SYS-170101 3/15/2013 2:17:32 PM Data\SAP BusinessObjects\Data Services\log\BODI_MINI20130315141727_4148.DMP> and <C:\Documents and Settings\All
2572 5016 SYS-170101 3/15/2013 2:17:32 PM Users\Application Data\SAP BusinessObjects\Data Services\log\BODI_FULL20130315141727_4148.DMP>
2572 5016 SYS-170101 3/15/2013 2:17:32 PM Process dump is written to <C:\Documents and Settings\All Users\Application Data\SAP BusinessObjects\Data
2572 5016 SYS-170101 3/15/2013 2:17:32 PM Services\log\BODI_MINI20130315141727_4148.DMP> and <C:\Documents and Settings\All Users\Application Data\SAP
2572 5016 SYS-170101 3/15/2013 2:17:32 PM BusinessObjects\Data Services\log\BODI_FULL20130315141727_4148.DMP>
2572 5016 SYS-170101 3/15/2013 2:17:32 PM Call stack:
2572 5016 SYS-170101 3/15/2013 2:17:32 PM 0x00000000800EE631, ReadStatementFile::compileStatement()+3073 byte(s),
2572 5016 SYS-170101 3/15/2013 2:17:32 PM d:\ds_prel\src\dataservices\dataintegrator\codeline\code\src\compiler\dataflowstm.cpp, line 1767+0013 byte(s)
2572 5016 SYS-170101 3/15/2013 2:17:32 PM 0x00000000800EB3D0, LoadStatementDB::compileStatement()+1392 byte(s),
2572 5016 SYS-170101 3/15/2013 2:17:32 PM d:\ds_prel\src\dataservices\dataintegrator\codeline\code\src\compiler\dataflowstm.cpp, line 1352
2572 5016 SYS-170101 3/15/2013 2:17:32 PM 0x00000000801028BD, DataFlowDef::compileObject()+3293 byte(s),
2572 5016 SYS-170101 3/15/2013 2:17:32 PM d:\ds_prel\src\dataservices\dataintegrator\codeline\code\src\compiler\dataflow.cpp, line 0688
2572 5016 SYS-170101 3/15/2013 2:17:32 PM 0x0000000080043DFF, AE_Main_Process_Options()+49343 byte(s),
2572 5016 SYS-170101 3/15/2013 2:17:32 PM d:\ds_prel\src\dataservices\dataintegrator\codeline\code\src\xterniface\actamainexp.cpp, line 4098+0009 byte(s)
2572 5016 SYS-170101 3/15/2013 2:17:32 PM 0x00000000800530B9, AE_Main()+3113 byte(s),
2572 5016 SYS-170101 3/15/2013 2:17:32 PM d:\ds_prel\src\dataservices\dataintegrator\codeline\code\src\xterniface\actamainexp.cpp, line 1039+0036 byte(s)
2572 5016 SYS-170101 3/15/2013 2:17:32 PM 0x0000000040002266
2572 5016 SYS-170101 3/15/2013 2:17:32 PM 0x0000000040002733
2572 5016 SYS-170101 3/15/2013 2:17:32 PM 0x000000004000E9A0
2572 5016 SYS-170101 3/15/2013 2:17:32 PM 0x0000000077D5969C, BaseProcessStart()+0044 byte(s)
2572 5016 SYS-170101 3/15/2013 2:17:32 PM Registers:
2572 5016 SYS-170101 3/15/2013 2:17:32 PM RAX=0000000000000000 RBX=0000000000000000 RCX=0000000005C5B8A0 RDX=0000000000000000 RSI=00000000074CAC80
2572 5016 SYS-170101 3/15/2013 2:17:32 PM RDI=0000000005C5B8A0 RBP=0000000001886960 RSP=000000000020AE80 RIP=00000000800EE631 FLG=0000000000010246
2572 5016 SYS-170101 3/15/2013 2:17:32 PM R8=000000000725B890 R9=000000000724CD20 R10=0000000000000001 R11=000000000000FFFF R12=0000000001EB2510
2572 5016 SYS-170101 3/15/2013 2:17:32 PM R13=0000000005C5B8A0 R14=0000000001ECAE50 R15=00000000074CAC88
2572 5016 SYS-170101 3/15/2013 2:17:32 PM Exception code: C0000005 ACCESS_VIOLATION
2572 5016 SYS-170101 3/15/2013 2:17:32 PM Fault address: 00000001800EE631 01:00000000000ED631 D:\SAP BusinessObjects\Data Services\bin\acta.dll
2572 5016 SYS-170101 3/15/2013 2:17:32 PM ==========================================================
2572 5016 SYS-170101 3/15/2013 2:17:32 PM Collect the following and send to Customer Support:
2572 5016 SYS-170101 3/15/2013 2:17:32 PM 1. Log files(error_, monitor_, trace_) associated with this failed job.
2572 5016 SYS-170101 3/15/2013 2:17:32 PM 2. Exported ATL file of this failed job.
2572 5016 SYS-170101 3/15/2013 2:17:32 PM 3. DDL statements of tables referenced in this failed job.
2572 5016 SYS-170101 3/15/2013 2:17:32 PM 4. Data to populate the tables referenced in the failed job. If not possible, get the last few rows (or sample of them) when
2572 5016 SYS-170101 3/15/2013 2:17:32 PM the job failed.
2572 5016 SYS-170101 3/15/2013 2:17:32 PM 5. Core dump, if any, generated from this failed job.
2572 5016 SYS-170101 3/15/2013 2:17:32 PM ==========================================================
2572 5016 SYS-170101 3/15/2013 2:17:33 PM |Session New_Job4|Data flow New_DataFlow17
2572 5016 SYS-170101 3/15/2013 2:17:33 PM System Exception <ACCESS_VIOLATION> occurred. Process dump is written to <C:\Documents and Settings\All Users\Application
2572 5016 SYS-170101 3/15/2013 2:17:33 PM Data\SAP BusinessObjects\Data Services\log\BODI_MINI20130315141727_4148.DMP> and <C:\Documents and Settings\All
2572 5016 SYS-170101 3/15/2013 2:17:33 PM Users\Application Data\SAP BusinessObjects\Data Services\log\BODI_FULL20130315141727_4148.DMP>
2572 5016 SYS-170101 3/15/2013 2:17:33 PM Process dump is written to <C:\Documents and Settings\All Users\Application Data\SAP BusinessObjects\Data
2572 5016 SYS-170101 3/15/2013 2:17:33 PM Services\log\BODI_MINI20130315141727_4148.DMP> and <C:\Documents and Settings\All Users\Application Data\SAP
2572 5016 SYS-170101 3/15/2013 2:17:33 PM BusinessObjects\Data Services\log\BODI_FULL20130315141727_4148.DMP>
2572 5016 SYS-170101 3/15/2013 2:17:33 PM Call stack:
2572 5016 SYS-170101 3/15/2013 2:17:33 PM 0x00000000800EE631, ReadStatementFile::compileStatement()+3073 byte(s),
2572 5016 SYS-170101 3/15/2013 2:17:33 PM d:\ds_prel\src\dataservices\dataintegrator\codeline\code\src\compiler\dataflowstm.cpp, line 1767+0013 byte(s)
2572 5016 SYS-170101 3/15/2013 2:17:33 PM 0x00000000800EB3D0, LoadStatementDB::compileStatement()+1392 byte(s),
2572 5016 SYS-170101 3/15/2013 2:17:33 PM d:\ds_prel\src\dataservices\dataintegrator\codeline\code\src\compiler\dataflowstm.cpp, line 1352
2572 5016 SYS-170101 3/15/2013 2:17:33 PM 0x00000000801028BD, DataFlowDef::compileObject()+3293 byte(s),
2572 5016 SYS-170101 3/15/2013 2:17:33 PM d:\ds_prel\src\dataservices\dataintegrator\codeline\code\src\compiler\dataflow.cpp, line 0688
2572 5016 SYS-170101 3/15/2013 2:17:33 PM 0x0000000080043DFF, AE_Main_Process_Options()+49343 byte(s),
2572 5016 SYS-170101 3/15/2013 2:17:33 PM d:\ds_prel\src\dataservices\dataintegrator\codeline\code\src\xterniface\actamainexp.cpp, line 4098+0009 byte(s)
2572 5016 SYS-170101 3/15/2013 2:17:33 PM 0x00000000800530B9, AE_Main()+3113 byte(s),
2572 5016 SYS-170101 3/15/2013 2:17:33 PM d:\ds_prel\src\dataservices\dataintegrator\codeline\code\src\xterniface\actamainexp.cpp, line 1039+0036 byte(s)
2572 5016 SYS-170101 3/15/2013 2:17:33 PM 0x0000000040002266
2572 5016 SYS-170101 3/15/2013 2:17:33 PM 0x0000000040002733
2572 5016 SYS-170101 3/15/2013 2:17:33 PM 0x000000004000E9A0
2572 5016 SYS-170101 3/15/2013 2:17:33 PM 0x0000000077D5969C, BaseProcessStart()+0044 byte(s)
2572 5016 SYS-170101 3/15/2013 2:17:33 PM Registers:
2572 5016 SYS-170101 3/15/2013 2:17:33 PM RAX=0000000000000000 RBX=0000000000000000 RCX=0000000005C5B8A0 RDX=0000000000000000 RSI=00000000074CAC80
2572 5016 SYS-170101 3/15/2013 2:17:33 PM RDI=0000000005C5B8A0 RBP=0000000001886960 RSP=000000000020AE80 RIP=00000000800EE631 FLG=0000000000010246
2572 5016 SYS-170101 3/15/2013 2:17:33 PM R8=000000000725B890 R9=000000000724CD20 R10=0000000000000001 R11=000000000000FFFF R12=0000000001EB2510
2572 5016 SYS-170101 3/15/2013 2:17:33 PM R13=0000000005C5B8A0 R14=0000000001ECAE50 R15=00000000074CAC88
2572 5016 SYS-170101 3/15/2013 2:17:33 PM Exception code: C0000005 ACCESS_VIOLATION
2572 5016 SYS-170101 3/15/2013 2:17:33 PM Fault address: 00000001800EE631 01:00000000000ED631 D:\SAP BusinessObjects\Data Services\bin\acta.dll
2572 5016 SYS-170101 3/15/2013 2:17:33 PM ==========================================================
2572 5016 SYS-170101 3/15/2013 2:17:33 PM Collect the following and send to Customer Support:
2572 5016 SYS-170101 3/15/2013 2:17:33 PM 1. Log files(error_
, monitor_, trace_) associated with this failed job.
2572 5016 SYS-170101 3/15/2013 2:17:33 PM 2. Exported ATL file of this failed job.
2572 5016 SYS-170101 3/15/2013 2:17:33 PM 3. DDL statements of tables referenced in this failed job.
2572 5016 SYS-170101 3/15/2013 2:17:33 PM 4. Data to populate the tables referenced in the failed job. If not possible, get the last few rows (or sample of them) when
2572 5016 SYS-170101 3/15/2013 2:17:33 PM the job failed.
2572 5016 SYS-170101 3/15/2013 2:17:33 PM 5. Core dump, if any, generated from this failed job.
2572 5016 SYS-170101 3/15/2013 2:17:33 PM ==========================================================

Regards, Ahmed


ahmedshah2k (BOB member since 2013-02-11)

try using double slashes inside the variable

E:\Data\

Thanks
NJ


DSallday (BOB member since 2012-10-03)

Ive had several jobs get the same thing.

They blow up with access violation or …616 12204 SYS-050604 4/5/2013 1:29:45 PM Cannot write pipe, due to error .

if you hard code the path… ya it works just fine.


jlynn73 :us: (BOB member since 2009-10-27)

Hi,

I had the same problem and i’ve just found the solution :

Use global variable for the “Root Directory” AND the “File name(s)” fields in the flat file processing.

Regards


dmaret (BOB member since 2014-03-27)

I believe there was a bug relating to use of mixed case variable names in these file paths. If its defined one way but used another, it can be difficult to find.

We’ve spent countless hours trying to figure this one out.

Another really tough one to see is when you have a blank after the file name/path. DS doesnt trim the field. (I cant remember if this abends or just doesnt find the file) Hopefully theyve fixed this one too by now.


jlynn73 :us: (BOB member since 2009-10-27)

Didn’t want a global variable, didn’t want to hard-code - I want to use a parameter to the dataflow for the path of my source file. I was also getting the job failing with ACCESS_VIOLATION etc.

The following seems to work, i.e. stops the job failing …

When creating the new Flat File format, change the setting Parallel Process Threads from to 0 - after saving this will appear as {None}.

Do this before clicking on ‘Save & Close’ (if you do it after ‘Save & Close’ the magic fails).

Dug deep for this one :hb:

DS 4.1 SP5


ferdio (BOB member since 2010-10-11)