Actor Framework Discussions

cancel
Showing results for 
Search instead for 
Did you mean: 

Actor Framework "Create Message" extremely slow/freezes for actor with many methods (LabVIEW 2025Q3)

Dear Actor Framework Community,

I am working on an Actor Framework project in LabVIEW 2025 Q3, and for the last couple of days I have been experiencing a very frustrating issue with Create Actor Message.

For one particular actor (which currently has around 35 methods/VIs), selecting Create Message causes LabVIEW to become unresponsive. CPU usage stays very low (around 5%), and memory usage slowly increases. I have waited several minutes, but in many cases I stopped the operation before it completed because it appeared to be stuck.

Interestingly, the problem only seems to affect this actor. Creating messages for other actors with fewer methods works almost instantly.

Yesterday I found a forum post suggesting that deleting LabVIEW.ini might help. I tried that, and the problem disappeared immediately. Unfortunately, after restarting LabVIEW, the issue came back and deleting LabVIEW.ini no longer helps.

So far I have tried:

  • Clearing the compiled object cache
  • Mass compiling the project
  • Deleting LabVIEW.ini

None of these permanently solved the issue.

Has anyone seen this behavior before or knows what could cause it? Is there a known limit or performance issue related to the number of methods in an actor, or is there anything else I should investigate?

I really enjoy working with Actor Framework, but at the moment this issue makes it extremely difficult to continue development.

Thanks in advance for any suggestions!

0 Kudos
Message 1 of 6
(547 Views)

Some further information:

 

After I terminate the LabVIEW process, I can see that the Msg folder has been created and contains the expected files (e.g. XXX.lvclass, Do.vi, Send XXX.vi).

 

However, after restarting LabVIEW (the files are not added to the project) and trying to add XXX.lvclass to the actor, it is clear that the operation did not complete successfully. The message class still contains the default send template, and Send XXX.vi is broken because the message type is missing (see image below).

 

This makes me think that the message generation process starts and creates the files, but fails before completing all required modifications.

 

HasbunWoodEng_0-1784633680990.pngHasbunWoodEng_0-1784633680990.png

 

0 Kudos
Message 2 of 6
(546 Views)

Deleting the LabVIEW.ini file is something I haven't heard of before and it's interesting that it makes things faster, but I have no idea why.

 

Sorry to not answer your question directly, but since you're using a recent version of LabVIEW, have you considered using interfaces for actors? You could put those in a separate project and script the messages from there and it should be faster since you (hopefully) wouldn't pull in many dependencies from other parts of your project. If that doesn't work then I'd bet that some of the dependencies are the problem.

CLA CLED AF Guild
0 Kudos
Message 3 of 6
(481 Views)

Hi CaseyM,

 

thank you for your support. I took the idea of deleting the INI from a this post (even though it is not the same problem). However, as I said it solved the problem just once so maybe it was just random.

 

I do use interface extensively for actors but in this case it was not necessary because the actor is ran only nested by my main system control actor. But interfaces are my workaround right now.

Short update: I also started an NI support ticket and am currently working in this issue with the NI support. I will post any solution here.

 

Have a great day

0 Kudos
Message 4 of 6
(461 Views)

I know it may not be possible, but if you could share the code where you experience this issue, I'd be interested in poking around.

CLA CLED AF Guild
0 Kudos
Message 5 of 6
(449 Views)

Hi CaseyM,

 

Unfortunately, this is a customer project, so I'm not able to share the code. However, I can provide some general information about the project:

  • It is an Actor Framework-based application with 8 actors: a Root Actor (System Control) and 7 nested actors. The issue only occurs for the User Interface actor.
  • Most front panel indicators of the User Interface actor are updated using user events created with Events for UI Actor Indicators.
  • For other control/indicator properties, I create references to around 60 front panel objects in the Actor Core.vi of the User Interface actor. These references are stored in the actor's private class data and are used throughout the corresponding methods.
  • None of the other actors or interfaces in the project (there are 6 actor-related interfaces) exhibit this behavior.

I also have a small update from NI support. They asked me to enable some debugging flags in LabVIEW.ini and reproduce the issue. This time I set a timer for 20 minutes before terminating the process. Surprisingly, after about 15 minutes the operation completed successfully—the actor message was created and LabVIEW did not crash.

 

So it's possible that the operation was never actually stuck and I simply wasn't waiting long enough. However, creating a message for any other actor or interface in the project takes at most about 5 seconds, whereas this one consistently takes around 15 minutes, so there is clearly still something wrong.

 

If I learn anything useful from NI's investigation, I'll post an update here.

Thank you again for your support.

Best,
Juan

0 Kudos
Message 6 of 6
(394 Views)