LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

Reproduzierbarer Absturz von "Queue freigeben (Funktion)"

Hallo,

im Einsatz: LabVIEW 2020 SP1 32-Bit unter Windows 11 64-Bit

Problem:
[+] Reproduzierbarer Absturz von "Queue freigeben (Funktion)"
[+] wie ermittelt: Haltepunkt vor der Funktion, Ansprung der Funktion, keine Rückkehr da Crash von LabVIEW - siehe bild1.png

Aufbau:
[+] Haupt-VI mit zeitkritischer Priorität
[+] Aufbau der Queues vor einer while-loop, Clusterung - siehe bild2.png + bild3.png
[+] problemloses Handling beider Queues innerhalb der while-loop, liefern Daten wie sie sollen - siehe bild4.png
[+] Freigabe beider Queues nach der while-loop, Absturz beim Aufruf der mit rotem Pfeil markierten Position - siehe bild5.png

Ergänzungen:
[+] gleiches Absturzverhalten auch unter LabVIEW 2022 Q3 32-Bit

Und nun?

0 Kudos
Message 1 of 7
(913 Views)

Hi Math(ias?),

 

you would get much more and faster responses if you would post your questions in English in this worldwide forum!

(Für deutschsprachige Unterhaltungen gibt es das www.labviewforum.de.)

 


@MathHas wrote:

Problem:
[+] Reproduzierbarer Absturz von "Queue freigeben (Funktion)"
[+] wie ermittelt: Haltepunkt vor der Funktion, Ansprung der Funktion, keine Rückkehr da Crash von LabVIEW - siehe bild1.png


You create a queue to handle 1D arrays as elements, with a max size of 80k elements.

How much data do you store in the loop?

Can you create a small test VI, which stores arrays of your usual size in a queue and then deletes and kills the queue? Can you recreate the same crash this way?

 

Suggestion: would it help to store DVRs (of your arrays) inside the queue? This way the queue itself only needs to handle some "pointers" instead of (possibly variable sized) arrays…

Best regards,
GerdW


using LV2016/2019/2021 on Win10/11+cRIO, TestStand2016/2019
0 Kudos
Message 2 of 7
(889 Views)

Hello GerdW,

the support in the queue varies within the while loop between 40 ... 300 samples - see bild6.png. If I set the initial queue size to -1 or only 10000, the crash still occurs as described.

der Rückhalt in der Queue schwankt innerhalb der while loop zwischen 40 ... 300 Sample - siehe bild6.png. Wenn ich die initiale Queue Größe auf -1 bzw. nur 10.000 setze so erfolgt trotzdem der Absturz wie beschrieben.

Best regards,
Mathias

0 Kudos
Message 3 of 7
(868 Views)

Hi Mathias,

 


@MathHas wrote:

the support in the queue varies within the while loop between 40 ... 300 samples - see bild6.png.


is this the number of samples (aka scalar DBL values) or the number of arrays?

(When it's the number of arrays: what's the size of those arrays?)

 


@MathHas wrote:

If I set the initial queue size to -1 or only 10000, the crash still occurs as described.


Does the crash also occur in a test VI, where you only create the queue, stuff some elements (of typical size) into the queue and then clear&kill the queue in the same way as you do in your current VI?

 

Edit: I just created such a test VI myself:

This one works as expected for me: it fills the queue within milliseconds, then flushes and kills it - no errors, no crashes…

Best regards,
GerdW


using LV2016/2019/2021 on Win10/11+cRIO, TestStand2016/2019
0 Kudos
Message 4 of 7
(855 Views)

Hello GerdW,

they are the number of samples. If I don't take the data fed in from the USB measuring device in the sub-VI - see bild7.png - but feed in simulated data from a LabVIEW generator instead, the crash described also occurs.

es sind die number of samples. Wenn ich im Sub-VI - siehe bild7.png - die eingespeisten Daten nicht von dem USB Messgerät nehme sondern statt dessen simulierte Daten eines LabVIEW-Generators einspeise so kommt es auch zu dem beschriebenen Absturz.

Best regards,
Mathias

0 Kudos
Message 5 of 7
(846 Views)

Hi Mathias,

 


@MathHas wrote:

they are the number of samples.


The output of QueueStatus is named "# elements in queue". The element of that queue is an 1D-array!

So again the same question: what's the size of those array elements in the queue?

 

(According to your image there should be atleast 2 samples in an array as you index column #0 and #1…)

 

Does my snippet also crash on your computer?

Best regards,
GerdW


using LV2016/2019/2021 on Win10/11+cRIO, TestStand2016/2019
0 Kudos
Message 6 of 7
(822 Views)

Hi GerdW,

 

many thanks for the support. I found the bug somewhere else between the Windows and DSP communication. It was more of a coincidence that the crash occurred as part of the LabVIEW queue.


vielen Dank für die Unterstützung. Ich habe den Fehler an anderer Stelle zwischen der Windows und DSP Kommunikation gefunden. Das der Absturz im Rahmen der Queue von LabVIEW erfolgte ist eher ein häufiger Zufall gewesen.

Best regards,
Mathias

0 Kudos
Message 7 of 7
(803 Views)