LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

DAbort 0x00CDDDE7: FPDCODataInterface::GetOperateDataPtr invalid dcoIdx 0, m_dataArr.size() = 0

Solved!
Go to solution

Hey fancy folk,

 

I ran into an issue about opening code that I copied and pasted into an SVN repo folder on windows and I can't figure out why my code isn't loading.  I was hoping someone could point me in the right direction as how to troubleshoot.  I'll start with what I did to get this issue then go into what I've looked at and done.  

 

Background:

I was developing code for a standalone machine to run on.  I had to modify the code a bit so I brought the code over from the stand alone machine to my dev machine and copied it onto a freshly checked out SVN repo.  By this I mean I checked out the SVN repo into a windows directory, then copy and pasted the code from the stand alone machine to the dev stand and over writing all the files. I then went to load to the .lvproj, which loaded fine, and then went to open the main VI.  As I opened the main VI, LV errored out and the ni error handler popped up.  I restarted LV a few times but every time, error message pops up when I try to load and VI.  I then copied the stand alone code into a new windows directory and I could open the code just fine.  I made my modification to the code and saved it.  I then copied the modified stand alone code in the separate folder back to my SVN folder (the one that lives in windows explorer) and tried to open the main vi again from the SVN folder.  Like before, I get the same error from labview and I can only open the LV project, not a VI.

 

The lvlog.txt is attached and I can also include the dmp file if needed.  But from what I can tell, the main part of the lvlog.txt is 

<DEBUG_OUTPUT>
9/22/2021 2:03:20.880 PM
DAbort 0x00CDDDE7: FPDCODataInterface::GetOperateDataPtr invalid dcoIdx 0, m_dataArr.size() = 0
e:\builds\penguin\labview\branches\2015patch\dev\source\editor\FPDCODataInterface.cpp(309) : DAbort 0x00CDDDE7: FPDCODataInterface::GetOperateDataPtr invalid dcoIdx 0, m_dataArr.size() = 0
minidump id: 932371c8-f1ce-4f7f-a251-78a1d5ecfb14
$Id: //labview/branches/2015patch/dev/source/editor/FPDCODataInterface.cpp#1 $
0x00696B7C - LabVIEW <unknown> + 0
0x10014EA4 - mgcore_SH_15_0 <unknown> + 0
0x0101D976 - LabVIEW <unknown> + 0
0x0101E133 - LabVIEW <unknown> + 0
0x0101E4F0 - LabVIEW <unknown> + 0
0x0101EACA - LabVIEW <unknown> + 0
0x0101EBBD - LabVIEW <unknown> + 0
0x0097D5D9 - LabVIEW <unknown> + 0
0x00F8B0DA - LabVIEW <unknown> + 0
0x010ABE59 - LabVIEW <unknown> + 0
0x00F88892 - LabVIEW <unknown> + 0
0x00F89478 - LabVIEW <unknown> + 0
0x00F8A155 - LabVIEW <unknown> + 0
0x017BDA24 - LabVIEW <unknown> + 0
0x017BD1EC - LabVIEW <unknown> + 0
0x017B6592 - LabVIEW <unknown> + 0
0x017C7139 - LabVIEW <unknown> + 0
0x017B7109 - LabVIEW <unknown> + 0
0x017B58E4 - LabVIEW <unknown> + 0
0x0109D0AD - LabVIEW <unknown> + 0
0x010AB693 - LabVIEW <unknown> + 0
0x00F88892 - LabVIEW <unknown> + 0
0x00F89478 - LabVIEW <unknown> + 0
0x00F8A155 - LabVIEW <unknown> + 0
0x017BDA24 - LabVIEW <unknown> + 0
0x017BD1EC - LabVIEW <unknown> + 0
0x017B6592 - LabVIEW <unknown> + 0
0x017C7139 - LabVIEW <unknown> + 0
0x017B7109 - LabVIEW <unknown> + 0
0x017B58E4 - LabVIEW <unknown> + 0
0x0109D0AD - LabVIEW <unknown> + 0
0x010AB693 - LabVIEW <unknown> + 0
0x00F88892 - LabVIEW <unknown> + 0
0x00F89478 - LabVIEW <unknown> + 0
0x00F8A155 - LabVIEW <unknown> + 0
0x017BDA24 - LabVIEW <unknown> + 0
*** Dumping Bread Crumb Stack ***
*** LabVIEW Base Address: 0x00400000 ***
#** prop types: "C:\Labview Projects\Durability 2_0\Type Deffs\Station PS Loop Controls.ctl"
#** Loading: "C:\Labview Projects\Durability 2_0\Type Deffs\Station PS Loop Controls.ctl"
#** Loading: "C:\Labview Projects\Durability 2_0\Sub Vis\Station\Station Shutdown.vi"
#** Loading: "C:\Labview Projects\Durability 2_0\Sub Vis\Station\Station Main.vi"
#** Loading: "C:\Labview Projects\Durability 2_0\Sub Vis\Station\Station Top Level.vi"
#** Loading: "C:\Labview Projects\Durability 2_0\Main Proj\Durability 2_0 Main.vi"
*** End Dump ***

 

What I've done:

I don't exactly know what I'm looking at and I've been doing my best googlefu to figure it out.  I have come across other posts with the DAbort keyword, but haven't found much on FPDCODataInterface or GetOperateDataPtr.  It seems DAbort is a fairly common keyword that relates to a lot of different errors, so I haven't found any specifics to me.

 

I have also looked through the dmp file and did an "!analyze -v" command which to the untrained eye seems to be complaining about Labview table to array stuff.  The main chunk of the dmp file can be seen below.  The table to array stuff may make sense considering that the lvlog is having error with a few ctrls and vis. 

 

However, what I don't get is why the error only happens with the SVN directory and not the "second directory" that I created on my dev machine.

0:000> !analyze -v
*******************************************************************************
*                                                                             *
*                        Exception Analysis                                   *
*                                                                             *
*******************************************************************************

*** WARNING: Unable to verify checksum for System.Management.ni.dll

KEY_VALUES_STRING: 1

    Key  : Analysis.CPU.mSec
    Value: 117390

    Key  : Analysis.DebugAnalysisManager
    Value: Create

    Key  : Analysis.Elapsed.mSec
    Value: 172981

    Key  : Analysis.Init.CPU.mSec
    Value: 936

    Key  : Analysis.Init.Elapsed.mSec
    Value: 43607

    Key  : Analysis.Memory.CommitPeak.Mb
    Value: 374

    Key  : CLR.BuiltBy
    Value: NET48REL1LAST_C

    Key  : CLR.Engine
    Value: CLR

    Key  : CLR.Version
    Value: 4.8.4400.0

    Key  : Timeline.Process.Start.DeltaSec
    Value: 24

    Key  : WER.OS.Branch
    Value: vb_release

    Key  : WER.OS.Timestamp
    Value: 2019-12-06T14:06:00Z

    Key  : WER.OS.Version
    Value: 10.0.19041.1

    Key  : WER.Process.Version
    Value: 15.0.0.4029


CONTEXT:  (.ecxr)
eax=76b42770 ebx=00000000 ecx=0019b0f8 edx=00000000 esi=031c3608 edi=0019b790
eip=753a1582 esp=0019b72c ebp=0019b74c iopl=0         nv up ei pl nz na po nc
cs=0023  ss=002b  ds=002b  es=002b  fs=0053  gs=002b             efl=00000202
nierInterface+0x1582:
753a1582 6888f73f75      push    offset nierInterface!nier_getPurecallHandler+0x5ca28 (753ff788)
Resetting default scope

EXCEPTION_RECORD:  (.exr -1)
ExceptionAddress: 00000000
   ExceptionCode: 00000002
  ExceptionFlags: 00000000
NumberParameters: 1
   Parameter[0]: 00cddde7

PROCESS_NAME:  LabVIEW.exe

ERROR_CODE: (NTSTATUS) 0x2 - STATUS_WAIT_2

EXCEPTION_CODE_STR:  2

EXCEPTION_PARAMETER1:  00cddde7

STACK_TEXT:  
WARNING: Stack unwind information not available. Following frames may be wrong.
0019b74c 753a2a5c     0019b784 00000000 0019b790 nierInterface+0x1582
0019b8a4 00696a9e     00000000 0019c00c 0019b9c8 nierInterface!nier_generateDumpFile+0x13c
0019c134 00696b7c     00000019 00000000 0019c1a4 LabVIEW!DBMgErr+0x109e
0019c168 10014ea4     0296ad08 00000135 0296ad60 LabVIEW!DBMgErr+0x117c
0019c1d4 0101d976     00000000 00000000 23494f70 mgcore_SH_15_0!DebugStream::Process+0x24
0019c4a8 0101e133     0019c788 22af5de0 00000000 LabVIEW!InsertPIGlobalColorMenu+0x248d6
0019c7a0 0101e4f0     0019c820 22af5de0 00000000 LabVIEW!InsertPIGlobalColorMenu+0x25093
0019c818 0101eaca     23257e30 00000002 00000000 LabVIEW!InsertPIGlobalColorMenu+0x25450
0019c8a4 0101ebbd     0019c8c4 23463ec8 23463ea8 LabVIEW!InsertPIGlobalColorMenu+0x25a2a
0019c8e8 0097d5d9     23463ea8 23463ea8 23463ea8 LabVIEW!InsertPIGlobalColorMenu+0x25b1d
0019cc3c 00f8b0da     23463ea8 00000000 00000000 LabVIEW!ImplementerExists+0x41939
0019cccc 010abe59     23463ea8 0019ced4 0019d080 LabVIEW!LVGetFileType+0x908a
0019cffc 00f88892     0019d080 0019d098 0019d078 LabVIEW!SetClipImage+0x553e9
0019d090 00f89478     1d5bcd90 4343564c 00000002 LabVIEW!LVGetFileType+0x6842
0019d0c0 00f8a155     1d5bcd90 4343564c 1fbfd940 LabVIEW!LVGetFileType+0x7428
0019d104 017bda24     0019d168 1d5bcd90 4343564c LabVIEW!LVGetFileType+0x8105
0019d120 017bd1ec     0019d168 1d5e60e1 4343564c LabVIEW!ArrayToTable+0x1aa04
0019d13c 017b6592     0019d168 1d5e60e1 4343564c LabVIEW!ArrayToTable+0x1a1cc
0019d17c 017c7139     1d5e60d8 233318a8 0019d1c4 LabVIEW!ArrayToTable+0x13572
0019d1dc 017b7109     1fbfd940 1d5e60d8 00000002 LabVIEW!ArrayToTable+0x24119
0019d21c 017b58e4     1fbfd940 1fbfd940 233318a8 LabVIEW!ArrayToTable+0x140e9
0019d2a4 0109d0ad     1fbfd940 00000001 00000000 LabVIEW!ArrayToTable+0x128c4
0019d368 010ab693     00000000 1fbfd940 00000000 LabVIEW!SetClipImage+0x4663d
0019d698 00f88892     0019d71c 0019d734 0019d714 LabVIEW!SetClipImage+0x54c23
0019d72c 00f89478     1d5bc020 4e49564c 00000002 LabVIEW!LVGetFileType+0x6842
0019d75c 00f8a155     1d5bc020 4e49564c 1fbfd940 LabVIEW!LVGetFileType+0x7428
0019d7a0 017bda24     0019d804 1d5bc020 4e49564c LabVIEW!LVGetFileType+0x8105
0019d7bc 017bd1ec     0019d804 1d5e5dc9 4e49564c LabVIEW!ArrayToTable+0x1aa04
0019d7d8 017b6592     0019d804 1d5e5dc9 4e49564c LabVIEW!ArrayToTable+0x1a1cc
0019d818 017c7139     1d5e5dc0 233abfc8 0019d860 LabVIEW!ArrayToTable+0x13572
0019d878 017b7109     1fbfd940 1d5e5dc0 00000029 LabVIEW!ArrayToTable+0x24119
0019d8b8 017b58e4     1fbfd940 1fbfd940 233abfc8 LabVIEW!ArrayToTable+0x140e9
0019d940 0109d0ad     1fbfd940 00000001 00000000 LabVIEW!ArrayToTable+0x128c4
0019da04 010ab693     00000000 1fbfd940 00000000 LabVIEW!SetClipImage+0x4663d
0019dd34 00f88892     0019ddb8 0019ddd0 0019ddb0 LabVIEW!SetClipImage+0x54c23
0019ddc8 00f89478     1d5bbb70 4e49564c 00000002 LabVIEW!LVGetFileType+0x6842
0019ddf8 00f8a155     1d5bbb70 4e49564c 1fbfd940 LabVIEW!LVGetFileType+0x7428
0019de3c 017bda24     0019dea0 1d5bbb70 4e49564c LabVIEW!LVGetFileType+0x8105
0019de58 017bd1ec     0019dea0 1d5e46c1 4e49564c LabVIEW!ArrayToTable+0x1aa04
0019de74 017b6592     0019dea0 1d5e46c1 4e49564c LabVIEW!ArrayToTable+0x1a1cc
0019deb4 017c7139     1d5e46b8 2339e530 0019defc LabVIEW!ArrayToTable+0x13572
0019df14 017b7109     1fbfd940 1d5e46b8 00000015 LabVIEW!ArrayToTable+0x24119
0019df54 017b58e4     1fbfd940 1fbfd940 2339e530 LabVIEW!ArrayToTable+0x140e9
0019dfdc 0109d0ad     1fbfd940 00000001 00000000 LabVIEW!ArrayToTable+0x128c4
0019e0a0 010ab693     00000000 1fbfd940 00000000 LabVIEW!SetClipImage+0x4663d
0019e3d0 00f88892     0019e454 0019e46c 0019e44c LabVIEW!SetClipImage+0x54c23
0019e464 00f89478     1d5bc0c0 4e49564c 00000002 LabVIEW!LVGetFileType+0x6842
0019e494 00f8a155     1d5bc0c0 4e49564c 1fbfd940 LabVIEW!LVGetFileType+0x7428
0019e4d8 017bda24     0019e53c 1d5bc0c0 4e49564c LabVIEW!LVGetFileType+0x8105
0019e4f4 017bd1ec     0019e53c 1cb87899 4e49564c LabVIEW!ArrayToTable+0x1aa04
0019e510 017b6592     0019e53c 1cb87899 4e49564c LabVIEW!ArrayToTable+0x1a1cc
0019e550 017c7139     1cb87890 22b67058 0019e598 LabVIEW!ArrayToTable+0x13572
0019e5b0 017b7109     1fbfd940 1cb87890 0000001f LabVIEW!ArrayToTable+0x24119
0019e5f0 017b58e4     1fbfd940 1fbfd940 22b67058 LabVIEW!ArrayToTable+0x140e9
0019e678 0109d0ad     1fbfd940 00000001 00000000 LabVIEW!ArrayToTable+0x128c4
0019e73c 010ab693     14a43300 1fbfd940 00000000 LabVIEW!SetClipImage+0x4663d
0019ea6c 00f88892     0019eaf0 0019eb08 0019eae8 LabVIEW!SetClipImage+0x54c23
0019eb00 00f88cfb     166eea00 202a4956 00000002 LabVIEW!LVGetFileType+0x6842
0019ec60 00f89773     0019eea8 00000000 00000000 LabVIEW!LVGetFileType+0x6cab
0019ec88 01838301     0019eea8 0019ecb8 00000000 LabVIEW!LVGetFileType+0x7723
0019ecbc 012662fd     0019eff0 0019eea8 00000000 LabVIEW!SaveRunTimeDialogVIs+0x68a1
0019ed14 0128864a     0019eea8 0019eff0 0019eccc LabVIEW!MakeAliasFilePath+0x7fc8d
0019eebc 01288bb6     0019eff0 0000003a 1f531c24 LabVIEW!MakeAliasFilePath+0xa1fda
0019f000 01300cb5     0019eebc 22984a81 1fbfd940 LabVIEW!MakeAliasFilePath+0xa2546
0019f034 01302065     01f0b1ae 00000c00 0019f0d0 LabVIEW!CreateAppBuildConfigFileWrapper+0x19b55
0019f044 0b35aa47     22984a81 00000002 00000c00 LabVIEW!CreateAppBuildConfigFileWrapper+0x1af05
0019f0d0 0b35a8a2     00000002 00000c00 0019f7b4 lvMax+0xaa47
0019f144 01266c24     1f531c24 00000002 00000c00 lvMax+0xa8a2
0019f15c 0130811f     00000c00 1646d128 1d6249f8 LabVIEW!MakeAliasFilePath+0x805b4
0019f180 0131e7bb     1646d128 00000c00 0019f7b4 LabVIEW!CreateAppBuildConfigFileWrapper+0x20fbf
0019f19c 00a12a13     0019f7b4 0019f7b4 1d6249f8 LabVIEW!CreateAppBuildConfigFileWrapper+0x3765b
0019f1f8 01321541     000001a4 0019f7b4 211e4d70 LabVIEW!InitUIThreadClient+0x34f3
0019f284 00a12b21     0019f7b4 0019f2c0 00aa5a54 LabVIEW!CreateAppBuildConfigFileWrapper+0x3a3e1
0019f290 00aa5a54     0019f7b4 211e4d70 1d6249f8 LabVIEW!InitUIThreadClient+0x3601
0019f2c0 015a77c1     0019f7b4 211e4d70 211e4d70 LabVIEW!DlgFilterVIEvents+0x54
0019f67c 015a9d48     0019f7b4 211e4d70 04f0ae34 LabVIEW!SetKeyboardHandlerProc+0x14e21
0019f744 01e44e77     0019f7b4 00000000 01e50a2e LabVIEW!SetKeyboardHandlerProc+0x173a8
0019f794 01ef60c5     0019f7b4 00000000 0019f7e8 LabVIEW!WIsAtRootLevel+0x57
0019f7a4 01e44f8c     0019f7b4 02a06680 000003f5 LabVIEW!WWWOpenURLInBrowser+0x174b5
0019f7e8 01e71438     0019f80c 01ef5664 00000001 LabVIEW!WIsAtRootLevel+0x16c
0019f7f0 01ef5664     00000001 04de1420 0019f858 LabVIEW!DColorToMIndex+0x1c78
0019f80c 01e70641     00000000 00000000 0019fe01 LabVIEW!WWWOpenURLInBrowser+0x16a54
0019f864 0044c0f9     00400000 02283670 000000c3 LabVIEW!DColorToMIndex+0xe81
0019f900 0044c48f     00000002 04e82320 02a0e580 LabVIEW!NG_NotifyActorInterfaceChanged+0x2e79
0019feb8 0044c500     0318303f 0318303f 0019ff58 LabVIEW!NG_NotifyActorInterfaceChanged+0x320f
0019fec8 0204ae71     00400000 00000000 0318303f LabVIEW!NG_NotifyActorInterfaceChanged+0x3280
0019ff58 0044bd23     00400000 02b0e000 0044bce0 LabVIEW!OccurIfValid+0x11b1
0019ff70 76b3fa29     003c8000 76b3fa10 0019ffdc LabVIEW!NG_NotifyActorInterfaceChanged+0x2aa3
0019ff80 779c7a9e     003c8000 cddb7fac 00000000 kernel32!BaseThreadInitThunk+0x19
0019ffdc 779c7a6e     ffffffff 779e8a63 00000000 ntdll!__RtlUserThreadStart+0x2f
0019ffec 00000000     0044bce0 003c8000 00000000 ntdll!_RtlUserThreadStart+0x1b


SYMBOL_NAME:  nierinterface+1582

MODULE_NAME: nierInterface

IMAGE_NAME:  nierInterface.dll

STACK_COMMAND:  ~0s ; .ecxr ; kb

FAILURE_BUCKET_ID:  APPLICATION_FAULT_2_nierInterface.dll!Unknown

OS_VERSION:  10.0.19041.1

BUILDLAB_STR:  vb_release

OSPLATFORM_TYPE:  x86

OSNAME:  Windows 10

IMAGE_VERSION:  18.1.0.49154

FAILURE_ID_HASH:  {ca5a0435-8439-1516-de6a-52fffd808be3}

Followup:     MachineOwner
---------

 

0 Kudos
Message 1 of 5
(148 Views)
Solution
Accepted by topic author Matt_AM

So I think I solved my issue, no idea why it worked though.  I was looking at other things related to the "DAbort" info and I came across this link to internal errors and DAbort that said to mass compile your code.  I went to mass compile and got a log that said there were some bad VIs (now I need to figure out what this means....  but its a step in the right direction!) and now LV will load the VIs again.

 

From that link it said something about maybe some VIs were older version that caused an issue with newer versions of LV.  That doesn't make sense to me because this code was literally copy and pasted from my dev machine to my dev machine all while operating in the same version of LV.  IDK, but it works now, and that's what matters.

 

Matt

0 Kudos
Message 2 of 5
(96 Views)

@Matt_AM wrote:

So I think I solved my issue, no idea why it worked though.  I was looking at other things related to the "DAbort" info and I came across this link to internal errors and DAbort that said to mass compile your code.  I went to mass compile and got a log that said there were some bad VIs (now I need to figure out what this means....  but its a step in the right direction!) and now LV will load the VIs again.

 

From that link it said something about maybe some VIs were older version that caused an issue with newer versions of LV.  That doesn't make sense to me because this code was literally copy and pasted from my dev machine to my dev machine all while operating in the same version of LV.  IDK, but it works now, and that's what matters.

 

Matt


"IDK, but it works now, and that's what matters," is a dangerous mindset.  Of course, sometimes there is no other option but to accept that it works for unknown reasons, but this shouldn't be your default mindset.  In this case, it's probably not all bad because you at least "kind of" know what could have fixed it, but having that mindset as a default almost always sets you up for failure down the road.  And usually it becomes "someone else's problem", and they have to figure out the real problem and fix it the right way.

Bill
CLD
(Mid-Level minion.)
My support system ensures that I don't look totally incompetent.
Proud to say that I've progressed beyond knowing just enough to be dangerous. I now know enough to know that I have no clue about anything at all.
Humble author of the CLAD Nugget.
0 Kudos
Message 3 of 5
(84 Views)

I would be interested if the problem comes back if you clear LabVIEW's compiled object cache (Tools > Advanced > Clear Compiled Object Cache).

 

Also, when you mass compiled your project, did it complain about any insane objects?

Matt J | National Instruments | CLA
Message 4 of 5
(82 Views)

@Jacobson wrote:

I would be interested if the problem comes back if you clear LabVIEW's compiled object cache (Tools > Advanced > Clear Compiled Object Cache).

 

Also, when you mass compiled your project, did it complain about any insane objects?


I have completely closed LV and opened it again and the code still loads and works as expected.  So I'd assume that basically clearing the cache.  When I switch projects I typically fully close LV and reopen it just in case there's some random dependency that isn't in my project and my links get messed up.   

 

No, there were just Bad VIs which seem to mean the VIs aren't executable.  But I'm not using those VIs so I'm not too worried about it.  They exist in disabled structures so the original algorithm exists so I could reference it easily in case my new one didn't work. 

 

@billko wrote:


"IDK, but it works now, and that's what matters," is a dangerous mindset.  Of course, sometimes there is no other option but to accept that it works for unknown reasons, but this shouldn't be your default mindset.  In this case, it's probably not all bad because you at least "kind of" know what could have fixed it, but having that mindset as a default almost always sets you up for failure down the road.  And usually it becomes "someone else's problem", and they have to figure out the real problem and fix it the right way.


Agreed.  And typically I don't go "good enough" and move on.  However, there is very little if any info related to this issues and I am by no means one that understands code in general to get at the reason why this isn't working; specifically why the code being in a windows directory works but copying and over ridding it to my SVN directory causes LV to crash.  Trying to google the key words I listed basically brings up this post every time.  Dabort seems to be the only one that doesn't, but DAbort also seems to be a general error message.  I couldn't find anything about FPDCODataInterface or GetOperateDataPtr and if I don't know what they are supposed to do, how will I know what dcoIdx relates to?  

 

I also don't know how to truly read a dmp file properly and can only do the basics of clicking on the suggested commands and trying to guess important things from the results.  The dmp file is copy and pasted above and you're more than welcome to look through it.  I'm not trying to say this to be a jerk, I'm saying this because its so far out of my realm of knowledge and there seems to be so little documentation from the c++ files that are being called that I've basically thrown my hands up and said "hey its working now, lets move on with other project".  And I say c++ file because I think that's what FPDCODataInterface is according to the lvlog.txt file

 

Matt

 

Edit: spelling

Message 5 of 5
(69 Views)