LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

Enqueue Timed out no error - ideas?

Solved!
Go to solution

It wasn't originally - it was an SC wired to both ObQ name and datatype for simplicity 😉
and "the Math" is just being lazy with i32 that are never going to get over a 4 digit number.
Nobodies perfect Jay 😁.

Homework great 😏.

CLD; LabVIEW since 8.0, Currently have LabVIEW 2015 SP1, 2018SP1 & 2020 installed
0 Kudos
Message 31 of 48
(3,720 Views)

Regards "Homework"

James_W_0-1639065527889.png

Copied example code into 2 VIs. Named Queues the same and started Untitled 1 first (the one with the queue size defined)
This limited the queue size when Untitled 2 was launched and the queue never went over 50 elements regardless of Enq and Deq settings of the VIs.
Stopped both VIs and started Untitled 2 first (queue size unlimited) then started untitled Untitled 1. Queuesize went over 50 quite quickly when both were set to fast EnQ and slow DeQ.
This proves my earlier statement about how named queues behave 😉
(Bob is just the fastest thing I type when I want to name something or check a search function it has no significance)

James

CLD; LabVIEW since 8.0, Currently have LabVIEW 2015 SP1, 2018SP1 & 2020 installed
Message 32 of 48
(3,715 Views)

BTW, give the data type a label, and it will show up in the help when you hover over the queue wires.

Message 33 of 48
(3,709 Views)

@James_W wrote:

It wasn't originally - it was an SC wired to both ObQ name and datatype for simplicity 😉
and "the Math" is just being lazy with i32 that are never going to get over a 4 digit number.
Nobodies perfect Jay 😁.

Homework great 😏.


Lord knows that I can't remember the apostrophe in "Nobody's" half the time myself.  Is it in the contraction for "nobody is" or the possive use meaning belonging to nobody?  I am sure an empty morgue has no bodies and nobodies is the plural of nobody


"Should be" isn't "Is" -Jay
Message 34 of 48
(3,691 Views)

@JÞB wrote:

@James_W wrote:

It wasn't originally - it was an SC wired to both ObQ name and datatype for simplicity 😉
and "the Math" is just being lazy with i32 that are never going to get over a 4 digit number.
Nobodies perfect Jay 😁.

Homework great 😏.


Lord knows that I can't remember the apostrophe in "Nobody's" half the time myself.  Is it in the contraction for "nobody is" or the possive use meaning belonging to nobody?  I am sure an empty morgue has no bodies and nobodies is the plural of nobody


and nobody is not somebody or anybody, and therefore being specific rather than non-specific must be able to exist in the plural!😉

CLD; LabVIEW since 8.0, Currently have LabVIEW 2015 SP1, 2018SP1 & 2020 installed
0 Kudos
Message 35 of 48
(3,670 Views)

OK back on topic.

I still don't like the EnQ tmo at 1. If you want to detect a queue overflow and shut down ASAP use 0, else use anything other than 1 to reduce jitter. With a 1 there the timing Jitter pk-pk is 100% (+/-the hopefully negligible hardware clock jitter and OS kernel latency jitter pulse to pulse not pk to pk)

Then we refactor the DeQ as a FlushQ to avoid Q overflows.

 

Next, stress test the snot out of that.  Why? Because we are going to go back and set EnQ tmo to -1!  Since you went and jacked the priority, it makes absolutely no sense to have that 0msec wait under the hood in EnQ forcing a thread release.


"Should be" isn't "Is" -Jay
0 Kudos
Message 36 of 48
(3,663 Views)
Solution
Accepted by James_W

@JÞB wrote:

OK back on topic.

I still don't like the EnQ tmo at 1. If you want to detect a queue overflow and shut down ASAP use 0, else use anything other than 1 to reduce jitter. With a 1 there the timing Jitter pk-pk is 100% (+/-the hopefully negligible hardware clock jitter and OS kernel latency jitter pulse to pulse not pk to pk)

Then we refactor the DeQ as a FlushQ to avoid Q overflows.

 

Next, stress test the snot out of that.  Why? Because we are going to go back and set EnQ tmo to -1!  Since you went and jacked the priority, it makes absolutely no sense to have that 0msec wait under the hood in EnQ forcing a thread release.


I have a nasty feeling that I put the timeout at 1 from 0 due to jitter and it's been fine for 6 months on most systems.
I've just tried "stressing the snot" out of the difference between enqueing to a fixed size queue and a unfixed queue ... as I think that if I don't timeout (and have a queue size of -1, then I'm going to need to get queue status in a 3rd loop as per 1st example) and kill the queue based on queue size in that loop, but I can run the monitor loop with a wait time of 1000ms while the other 2 loops spin like lies coming from a politicians mouth.

I've upped tmo to 5ms for testing on the PC that was causing the issue to see if I can resolve it. Can't seem to find the post where I might have discussed it.😣 - so it must have been an internal discussion with a colleague when I had it at 0 and changed to 1.


James

CLD; LabVIEW since 8.0, Currently have LabVIEW 2015 SP1, 2018SP1 & 2020 installed
0 Kudos
Message 37 of 48
(3,653 Views)


I've upped tmo to 5ms for testing on the PC that was causing the issue to see if I can resolve it.

 

that begs a whole new bunch of questions about what is going on with that system.

  • Slow?
  • Crappy processor
  • User downloading porn
  • Bad memory sections 
  • ......

You know, the basic stuff that bites you in the "cereal out" port.


"Should be" isn't "Is" -Jay
0 Kudos
Message 38 of 48
(3,643 Views)

Back off topic


@James_W wrote:

@JÞB wrote:

@James_W wrote:

It wasn't originally - it was an SC wired to both ObQ name and datatype for simplicity 😉
and "the Math" is just being lazy with i32 that are never going to get over a 4 digit number.
Nobodies perfect Jay 😁.

Homework great 😏.


Lord knows that I can't remember the apostrophe in "Nobody's" half the time myself.  Is it in the contraction for "nobody is" or the possive use meaning belonging to nobody?  I am sure an empty morgue has no bodies and nobodies is the plural of nobody


and nobody is not somebody or anybody, and therefore being specific rather than non-specific must be able to exist in the plural!😉


Us English as a first language people have no problem with nonsensical ideas within the common vernacular. We've had to just get used to it.


"Should be" isn't "Is" -Jay
0 Kudos
Message 39 of 48
(3,640 Views)

@JÞB wrote:


I've upped tmo to 5ms for testing on the PC that was causing the issue to see if I can resolve it.

 

that begs a whole new bunch of questions about what is going on with that system.

  • Slow?
  • Crappy processor
  • User downloading **bleep**
  • Bad memory sections 
  • ......

You know, the basic stuff that bites you in the "cereal out" port.


Relatively slow for this application - certainly doesn't meet the mininimum S/W specs laid down 3 years ago of 50cores and 60GB+ RAM, but I'm still expected to support it 😂
(I've said before this is a beast of an application!)
the Laptop the error popped up on must be well over 4 years old.

James

CLD; LabVIEW since 8.0, Currently have LabVIEW 2015 SP1, 2018SP1 & 2020 installed
0 Kudos
Message 40 of 48
(3,628 Views)