LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

The 'Generate User-Defined Trace Event Function' node crashes when used in a subvi and executed in an actor framework based project

Hi

 

I tried to debug a sample project based on actor framework in LabVIEW 2013.01.f2 with desktop execution trace toolkit.

I've added some instances of the 'Generate User-Defined Trace Event Function' to get the trace of functions. As this node does not have an error chain I've wrapped it with a simple VI that provides such error chain. Makes it easier to enforce execution sequence...

That wrapper VI is stored in a subfolder of user.lib

HOWEVER: When I run this program with the wrapped VI it crashes. But if I put the 'Generate User-Defined Trace Event Function' node in a sequence it does NOT crash...

0 Kudos
Message 1 of 4
(2,965 Views)

Cool! What happens if you put the wrapper VI inside a single-frame sequence? Where in the code is this being used? Inside a method? Is the VI where is is being used reentrant or anything?

 

Mike...


Certified Professional Instructor
Certified LabVIEW Architect
LabVIEW Champion

"... after all, He's not a tame lion..."

For help with grief and grieving.
0 Kudos
Message 2 of 4
(2,949 Views)

Mike, thx for your reply.

This is basically the template code that is generated when creating anew project with Actor Framework. I wanted to study the Last Ack Message functionality, so in one of the nested actors I modified the Stop Core.vi to insert a message '<Stop received at date&time' into that actors private data (a field My_msg added). In the main actors Actore Core.vi I modified the evet handler loop:

AFW_1.png  If I insert a wrapper like this: AFW_2.png, the event handler looks like:AFW_3.png

And this one crashed when being run, at least in conjunction with desktop trace execution.

 

So AFAIK this is reentrant as all the actors are. But for that test I had just othis project running, so there was only one instance...

 

 

0 Kudos
Message 3 of 4
(2,931 Views)

Hi Lul,

 

could you please test to place the wrapper VI you created in a sequence frame.

 

Additionally you can add error handling code in your wrapper VI to ensure the VI inside is only executed if no error occurred before.

 

Regards,

Melanie

Best regards,
Melanie Eisfeld
Senior Applications Engineer, National Instruments Germany
Certified LabVIEW Developer
Certified TestStand Architect
0 Kudos
Message 4 of 4
(2,898 Views)