GDS(Goop Development Suite)

cancel
Showing results for 
Search instead for 
Did you mean: 

LabVIEW Crash when cloning class

I get this crash often when cloning a class in a large project with lots of classes in it.  It is not 100% repeatable.  Also, the cloned class appears to be properly created because when I open the project after restarting LabVIEW, it appear in the project and seems to work.  I suspect that the crash occurs in some cleanup operation at the end of the clone process.

GOOP Clone Crash.jpg

Any ideas?

NOTE: The class is a standard LVOOP type, not a GOOP type.

-John

-John
------------------------
Certified LabVIEW Architect
0 Kudos
Message 1 of 11
(11,960 Views)

A tip if the cloning crashes LV. Create a small project with on the the class you want to clone. And if it crashes, just retry a couple of times.

0 Kudos
Message 2 of 11
(9,219 Views)

Thanks for the tip.  I use the clone feature to create new message classes in my architecture (my poor-man's message maker since I don't have time to script my own).  Making a special project to do the clone will slow my workflow.  Is there any chance we can get to the root cause of this crash or is it just a bug deep within LabVIEW itself?

-John
------------------------
Certified LabVIEW Architect
0 Kudos
Message 3 of 11
(9,219 Views)

I think NI will look into this more now, since it's part of their tool 🙂

0 Kudos
Message 4 of 11
(9,219 Views)

I get this crash too - and what's worse, sometimes the cloned class and the parent class have some of the block diagrams stripped!  Thankfully I'm using scc or else I would be toast when this happens.  I suspect that it crashes if some of the VIs or controls it is trying to duplicate don't conform to the naming conventions expected by GDS - but I'm not sure if that is the reason.

0 Kudos
Message 5 of 11
(9,219 Views)

Just in case anyone is checking - here's an example image of what happens after I try to save a VI that got its BD stripped as part of the cloning process ...

2014-07-23_1652.png

0 Kudos
Message 6 of 11
(9,219 Views)

The first thing I would do, is to create an empty project and just drag in the one class you like to clone. Then try the cloing from that project.

0 Kudos
Message 7 of 11
(9,219 Views)

Thanks Mikael, I'll do that from now on.

0 Kudos
Message 8 of 11
(9,219 Views)

If you like to debug it, place a break point in any of tehse VIs (depending on class type you are using):LabVIEW 2012\resource\Framework\Providers\...\ClassProviders\Provider_EndevoGOOP300\ClassWriterGOOP300_class\CloneClass. or  C:\Program Files (x86)\National Instruments\LabVIEW 2012\resource\Framework\Providers...\ClassProviders\Provider_LvNativeClass\ClassWriterNative_class\CloneClass.viIf you also can send me the classes I' can help you with debugging.

0 Kudos
Message 9 of 11
(9,219 Views)

Hi Mikael,

One more hopefully helpful thing for you just in case ... after I restarted LV, my class was still corrupted.   Then I cleared the object cache and then restarted LV again (I'm using LV 2013 SP1)...

Then I saw this dialog when I reopened my project:

"... (VacuumChamber.TypeG.lvclass:DoPumpdown.vi)

    LabVIEW:  Attempted to read flattened data of a LabVIEW class. The flat data could not be converted to the requested type because the flat data is not the same as the requested type nor is it the same as any child class of the requested type. The requested data type is VacuumChamber.TypeA.lvclass but the flattened data is of type VacuumChamber.TypeG.lvclass. Your control or constant value has been reset to the class default value.

The DoPumpdown.vi is totally hosed right now (still has no BD in either class) - I'm hopeful I can recover an older version from SCC and force LV to reload it somehow...

0 Kudos
Message 10 of 11
(9,219 Views)