LabWindows/CVI

cancel
Showing results for 
Search instead for 
Did you mean: 

Table control not redrawing

I have a strange bug that we've observed maybe only 4 times ever (out of thousands of hours).  I have a table control on my main panel that has maybe a dozen columns.  Once UUT are testing, this control is updated once every 4 seconds in a variety of ways.

  • 1 row at a time is boldened and several of its columns are updated (both text and numeric)
  • The table is interactable, such that user can right click on it for more control.

When the bug happens, the table is "frozen" in one position, not appearing to update.  Yet with inspection, user can see that all UUT are still actually testing, cycling, etc.  Other panels are responsive.  Other controls are responsive.  Panel itself is responsive.

 

If I click on my Login menu item, which forces a massive restructuring of the above table control, it then magically returns to working order.  In other words, I don't have to shut down the app to clear the bug.

 

Ideas?

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

ElectroLund,

 

Thanks for posting! This is a curious situation and intermittent problems are always more difficult to diagnose. A few things to get started would be:

 

Would you be possible to post screenshots or code?

 

Additionally, can you set breakpoints beforehand or skip tasks and if so does the same behavior repeat?

 

How long does each test run? For example is it 4 times out of thousands of test or does every test take countless hours?

 

 

Regards,

Ali S.
Applications Engineering
National Instruments
0 Kudos
Message 2 of 4
(2,686 Views)

Thanks for the reply!

 

I observed this bug again just recently and took more careful notice of a few things.

 

  1. I have an LED control on this panel which blinks at ~1Hz with an async timer.  This is my "is the app still alive" indicator.  What I had previously said -- that all other controls remained functioning -- is not true.  This LED was no longer blinking.
  2. But it is true that the menu bar of this panel remained responsive. All controls on the panel were frozen in their last state though, including tool tips.
  3. I found an even simpler fix.  By simply dragging the border of the panel, which I have tied to a callback function which does dynamic resizing of the table control, moving other controls via splitters, etc., then all the controls will "wake up" again.

Unfortunately, it's not really easy for me to get this in debug mode, as this is a deployed application.

 

I don't have a problem with posting code to you privately, though it is quite large.

 

The test times are only seconds.  The scheme works like this:

  • There are up to 16 UUTs in a station.  
  • Each UUT gets exercised by the application, once each 4-64 seconds, depending on hor many UUTs are loaded.  It's a rather large serial chain.
  • We use such a small test time to give as much visibility to performance of the UUT over it's life testing.

I'm wondering if there's some sort of graphic starvation happening here.

Message 3 of 4
(2,679 Views)

ElectroLund,

 

 Thanks for the update! The few things that concern me is the:

- Use of the Customer UI

- Additionally, different updating rates of the device and how it's being updated

- Whether threads are being blocked

- Asynchronous Timer causing issues.

 

I think the best way to narrow down the issue is work with an Applications Engineer by creating a Service Request at ni.com/support who could narrow down the codeset and try to best resolve the issue. 

If you'd like, you could make the Service Request on the website or I could create one for you and have an engineer follow up. 

 

Feel free to private message me with whichever option you prefer!

 

Regards,

Ali S.
Applications Engineering
National Instruments
0 Kudos
Message 4 of 4
(2,666 Views)