FIRST Robotics Competition Discussions

cancel
Showing results for 
Search instead for 
Did you mean: 

SharedVariableNode didn't get properly patched to DS

I'm receiving very occasional errors as follows:

####
#Date: THU, JAN 01, 1970 12:00:13 AM
#OSName: VxWorks
#OSVers: 6.3
#OSBuild: Jun 14 2012, 08:43:39
#AppName: /c/ni-rt/system/lvrt.out
#Version: 12.0rc7
#AppKind: AppLib

<DEBUG_OUTPUT>
01/01/70 12:04:48.865 AM
DWarn 0xE3E2BC8B: SharedVariableNode didn't get properly patched to DS
source/variable/SharedVariableCallbacks.cpp(99) : DWarn 0xE3E2BC8B: SharedVariableNode didn't get properly patched to DS

I am using Shared Variables ... they are Single Process SVs with RT Enabled (these are not Network Published).  This will occur in perhaps 1 in 100 runs, so difficult to isolate. I am using SVs to maintain current values only for communication across deterministic processes.

I did some research on the general NI LabVIEW forum and came across this: "When using shared variables, it is always good practice to write a default value to the variable so that it is initialized.  This will help to avoid this error or any others caused by reading data before a value has been written to it.  This is most important when using network-published shared variables.  Single-process shared variables are similar to LabVIEW global variables and generally do not return errors." Ref: http://forums.ni.com/t5/LabVIEW/Shared-Variable-Error-1950679023-in-LabVIEW-8-6-1/td-p/860889/page/2

... not sure what "... generally do not return errors" means - in terms of the conditions that apply.

What is "... patched to DS"?  (maybe DS=Driver Station, but what is 'patched'?)

Do Single-Process SVs need to be initialized? 

Can anyone decode the error message ...?

0 Kudos
Message 1 of 3
(3,624 Views)

Do you notice any change in behavior when you get the error message?

I don't think you need to initialize the single process shared variables - although if you start reading from a shared variable with a multi-element fifo and its empty you will get warnings (http://www.ni.com/white-paper/4679/en/)

Can you post a screenshot of the section of your code where you are using the shared variables?

Kevin Fort
Principal Software Engineer
NI
0 Kudos
Message 2 of 3
(2,843 Views)

Reproducing my reply to the original thread: "DS" stands for "data space". The data space is where the VI stores runtime data (values and the like). In this case, it appears that the variable node has not been properly compiled and is missing it's runtime data. I'm not sure what would cause that, or why it would be intermittent.

It's not related to this issue, but you do need to initialize single process shared variables if you expect the initial value read from the variable to be something other than the data type default. If your code can operate correctly with the default value, then you do not need to do any initialization.

0 Kudos
Message 3 of 3
(2,843 Views)