07-09-2019 08:15 PM
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:
Attached is some pictures to depict the problem. Any had any experience with this?
Solved! Go to Solution.
07-10-2019 07:20 AM
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.
07-10-2019 07:55 AM
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.
07-10-2019 10:26 AM - edited 07-10-2019 10:44 AM
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.
07-11-2019 01:50 AM
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...
10-04-2019 09:02 AM
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.