Jump to content

Actor Launch problem


Recommended Posts

Hi

I have a very strange Actor Launch problem. I start an Actor to do some calculations for every attached DUT. And that has been working great, 1,2,3 Actors(DUTs) no problem.

But now I’m starting to get problem when I have around 5 or more Actors that I start of the same type.

The screenshot below shows my problem.

The queue used to get the Actor’s Enqueuer back after the Asynchronous start of the Actor, didn’t receive anything.

I debugged the code, and could see that the Queue-Reference was the same for the Enqueuer and the Dequeuer. Also no errors were found on the Enqueuer Error in.

Has anybody seen something similar?

The code only fails if there are too many started actors at the same time!

post-941-0-65369400-1371681365_thumb.png

Cheers,

Mike

Link to comment
Are you overriding “Pre-launch Init.vi” such that it might produce an error (thus preventing the sending of the enqueuer back to the Launch VI)?

 

I'm not, it's so strange, why can I run a few Actors in parallel but not too many?!?

I might do a 2012-64bit version to see if that makes the Queue Reference work better.

Link to comment

Haven't seen anything like this, and I've ramped lots of actors at the same time of the same and of various types.

 

Post your question on the http://ni.com/actorframework community site... let's see if any of the other contributors have seen this.

 

As a test, try adding a time delay in your code between calls to Launch Actor.vi. I *really* hope that does NOT fix it, because if it does fix it, you're really going to stress me out that there's some sort of deep race condition, probably in LV itself, and those are NEVER easy to track down, and we are WAY late in the 2013 release cycle.

Link to comment

Do you have a four-core machine?  I ask because then four clones will initially be reserved of the various shared-clones at start, and then the fifth instance will require a new clone.  In working with shared clone pools (through an 0x40 reference to "Open VI Ref”) I have sometimes noticed what seems to be a delay in getting that extra clone when it is asked for soon after the reference is opened.   BUT, I have never seen this delay actually stop code from working.

Link to comment
Do you have a four-core machine?  I ask because then four clones will initially be reserved of the various shared-clones at start, and then the fifth instance will require a new clone.  In working with shared clone pools (through an 0x40 reference to "Open VI Ref”) I have sometimes noticed what seems to be a delay in getting that extra clone when it is asked for soon after the reference is opened.   BUT, I have never seen this delay actually stop code from working.

I did see this problem on the production machine which has 2 cores, but not seen it yet on my 4 core machine (but I haven't tried to run too many DUTs).

I don't think it's an Actor related issue, I think it could be  a "Reentrant,Fire & Forget(0xC0)", "Preallocated Clone" , "Queue Reference" - Problem.

If I have time I'll create a test application to see if I can cause it to fail.

It might be the production computer that has some problems.

Link to comment

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.