LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

Sudden Black Icons

Solved!
Go to solution

I have VI and class icons that are suddenly black where they shouldn't be. The event that preceded this change seems to be a clearing of class mutation history (this was done to clear up some IDE performance issues). Here's some facts as I can see them:

 

  • It would seem to be the layer that gets autogenerated called NI_Library that blacks out in the VIs
    • Fixable by fixing or deleting that layer in the icon editor, but that is extremely taxing in a large project
    • Not all VIs are affected. May just be new ones, but honestly, I'm not entirely sure.
  • It effects class controls and indicators on any class VI
    • I don't know how to fix this. I looked at the class icon and that's fine. I looked at the icon for the private class data and that's normal. I have no idea what is blacking that out. All class constants on block diagrams are mostly blacked out.
  • This was originally seen on Labview 2018 sp1 fix4, 64bit
    • I have since moved to 2019 for different reasons, but the problem persists
  • Our source control indicates the start of the issue was moving from LV 2017 to 2018
    • This is debatable. I swear it was triggered by clearing class mutation history while in 2018 which came much later than the switch from 2017 to 18, but source control says otherwise. I thought maybe it was an environment issue, but I've had another developer load it and it shows the issue there.
  • I've done project and class file dif's. I've tried copying the binary data from the NI.LIB.ICON item from the good to the bad file with no luck. Otherwise, there's nothing clear in the xml file to show any differences between the classes.
  • This isn't just one class. It's the vast majority of them in our very large project.

Attached is some pictures to depict the problem. Any had any experience with this?

0 Kudos
Message 1 of 6
(2,845 Views)

It could have been the SCC that caused this.

 

Those classes are XML, and being text, SCC might have merged commits to do you a favor...

 

Just a thought, could be completely unrelated.

Message 2 of 6
(2,799 Views)

That's a good thought. That's why I was doing the text diff on a project and class file before and after the issue. I tried copying and pasting the data after <Property Name="NI.Lib.Icon" Type="Bin"> from the good file to the bad with no luck. The really weird part is the class icon is fine when you go to class properties and edit the icon. All looks good. It's when it applies the class icon to the VI that the problem occurs.

0 Kudos
Message 3 of 6
(2,789 Views)
Solution
Accepted by topic author thutch79

Solution found, though unclear what caused it. Special thanks to one of our friends at Composed Systems that discovered this. It would seem parent classes do some level of passing down their icon to their children, at least in some cases. We have a "master" class that a good chunk of our classes inherit from. Somehow, and we believe it happened when class mutation history was cleared, this class's icon became all black. This was evident in the VI class hierarchy viewer and every child under it exhibited the black layer on the icon.

 

So, we can see the black icon when looking at the class properties, but opening the editor, it shows normal. We made a minor change (merged the layers that were there) and the icon was fixed. That fix propagates to its children. There's a few other classes that also exhibit the issue outside the master class, but now that we know they can be seen in the VI class hierarchy, they're easy to find and fix.

 

Relatively simple solution in the end, but this is definitely a bug on LV's end. Somehow the class icon is showing up black even though it is not in the editor. It seems like it was linked to clearing class mutation history, but that could be a coincidence.

 

[edit] I misspoke. Class hierarchy, not VI.

Message 4 of 6
(2,774 Views)

I use clear class mutation regularly, but never seen this.

 

It could be related, but there must be other factors involved. Or it could just be a rare coincident of course...

0 Kudos
Message 5 of 6
(2,733 Views)

I got excited when I saw this post, then I realized that I'm the one who helped the initial poster find the solution.  From what I can tell the problem has to do with GDI object count.  Running the tool we wrote to clear the class mutation history caused LabVIEW to hit the GDI object limit for Windows on that machine.  Hitting that limit appears to have caused some class icons to have turned black.  Bumping the GDI object limit up in the windows registry addresses this issue.  I brought this up with NI but it didn't go anywhere.

0 Kudos
Message 6 of 6
(2,634 Views)