08-29-2009 12:50 PM
LabVIEW 8.6.1f1, Win Vista
OK, I have a once-in-a-blue-moon bug to track down, having to do with a data file that's incorrectly written at the end of a test.
During one of my trial runs, the charts on the front panel started behaving really wonky, as shown in the pic.
I feed each chart a bundle of two DBLs, every 0.5 sec.
This is a CHART, mind you, not an X-Y graph, so this cannot happen. But there it is.
The chart would stall for 10-20 seconds at a time, then catch up. The fact that it caught up says that the data did get fed to it.
The CPU usage went from the usual 3-4% up to 60% or more during this one test.
The file written was OK in this case, so I'm not certain this has anything to do with that, but I'm not certain it doesn't, either.
I've run hundreds of tests and I cannot reproduce the incorrect data file, but perhaps this is indicative of a similar problem.
Anybody seen this, or is it just yet another 8.6.1 bug ?
Blog for (mostly LabVIEW) programmers: Tips And Tricks
08-29-2009 04:10 PM
If I click on one of the CHANNEL selectors, a menu appears.
As long as that menu is up (covering a portion of the chart), the chart behaves perfectly, and CPU usage is 5-6%.
As soon as I drop the menu, the chart starts being erratic, and CPU jumps to 60+%.
Blog for (mostly LabVIEW) programmers: Tips And Tricks
08-29-2009 06:12 PM
08-29-2009 08:17 PM
Blog for (mostly LabVIEW) programmers: Tips And Tricks
08-29-2009 08:27 PM
I am just wondering if the problem is with the graphics card. Have you tried upgrading the driver?
(I've seen similar things on very old ATI cards, not in LabVIEW, but in some other application).
Did you observe this on more than one computer?
08-30-2009 05:29 AM
Blog for (mostly LabVIEW) programmers: Tips And Tricks
08-31-2009 10:13 AM
I can confirm that bug and I have never been able to repeat on demand so I can report it as a bug.
Charts + Tabs always seem to be involved when I see the problem.
Screen refreshes seem to clear the graphing weirdness. (it really looks like there is a rece condition between autoscaling and trace re-draws. The new points get plotted but they are connected to an older data point).
Sorry I can not recomend a work-around.
Ben
08-31-2009 10:49 AM
If you're ever able to reproduce it consistently, please let us know. It is difficult to debug if there is nothing to test against, of course.
08-31-2009 11:02 AM
Well, I have seen other bugs relating to tabs (Try clicking in free space on a tab with a text tool, and figure out where the free label is going to be).
So I tried moving the charts OFF the tab - no change.
More facts:
--- The digital displays act normally, while the chart is stalled. IOW they updated at 2 Hz even when the chart didn't. Since they are a component of the chart (not separate indicators), that's impossible. But there it is.
--- with a steady (pinned) signal in, the charts have tick marks on them when it's in the "stupid" mode. Not regular, but sporadic. When I pop up on the selector control, those ticks disappear (along with CPU usage dropping from 65% to 5%, and updates happening regularly).
--- Even if I move the charts off the tabs, off the visible page, and make sure the selector menu doesn't touch the charts, it still returns to normal when I pop up on the selector.
I wonder if it's a threads-related issue... Maybe having the selector down forces a UI thread.
Thanks for your confirmation, Ben
Blog for (mostly LabVIEW) programmers: Tips And Tricks
08-31-2009 12:10 PM
I can reproduce it consistently, as I cannot make it go away now. However, I cannot send you a test case, as it's a HUGE project, and needs a PXI box with a particular set of hardware. Don't know if I could reduce it, that would be a job in itself.
However, I can confirm that there is no problem in a built App. The EXE performs flawlessly regarding the charts.
SCRATCH THAT.
We have a DIFFERENT problem in a built app: When I change channels, the value takes a jump (expected). the scale changes (expected).
But the gridlines cannot change in the middle of the chart - that's just ridiculous:
Blog for (mostly LabVIEW) programmers: Tips And Tricks