LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

LV2012 Out of Memory Bug when Clearing Compiled Object Cache

Solved!
Go to solution

Here is some LV2012 weird behaviour when clearing the compiled cache and having a project with source code separated from the binaries.

 

Steps to reproduce:

 

1. Open a VI in a fairly large LV project

 

OpenProject.JPG

 

2. With the VI open, clear the compiled cache:

 

ClearCache.JPG

 

3. Close the VI.

 

4. Open the VI

 

5. Watch the broken arrow and the LV Out of Memory bogus.

 

LVOOM.JPG

 

Br,

 

/Roger

 

Message 1 of 16
(3,936 Views)

And then the internal error reporter runs when I exit LV.

 

ErrorReport.JPG

 

Br,

 

/Roger

 

0 Kudos
Message 2 of 16
(3,929 Views)

So this is reproducable?

Do you have some figures about number of VIs/minimum memory requirements of the project for reproduction?

 

Norbert

Norbert
----------------------------------------------------------------------------------------------------
CEO: What exactly is stopping us from doing this?
Expert: Geometry
Marketing Manager: Just ignore it.
0 Kudos
Message 3 of 16
(3,862 Views)

@Norbert_B wrote:

So this is reproducable?

Do you have some figures about number of VIs/minimum memory requirements of the project for reproduction?

 

Norbert


Yes, it always behaves the same. So it's easy to reproduce.

 

I didn't try to reduce it down to the limit. This computer is busy building an .rtexe (for the past 6h). I'll see if I can attach a project, from my home machine, where this happens and which is below the (nuts!) 10MB attachment limit.

 

Br,

 

/Roger

 

0 Kudos
Message 4 of 16
(3,858 Views)

Steps to reproduce modification:

 

1. Open the Benchmark VI (broken arrow?)

 

1.1 Try running the VI. (Otherwise it won't be out of memory)

 

2 .. Same as before

 

Br,

 

/Roger

 

 

0 Kudos
Message 5 of 16
(3,846 Views)

Roger,

 

i tracked down the issue to "ExecutionBenchmark1.lvclass:Load Core.vi" and "ExecutionBenchmark2.lvclass:Load Core.vi". If removing both VIs from the main, it is compilable.

 

Since those VIs have their blockdiagram removed, they have to include their compilation in order to be executable. I expect this to be the source of the issue.

Can you please check if using the default VI "Load Core" for both classes work as long as LV is able to recompile those while creating the object file for the main?

 

thanks,

Norbert

Norbert
----------------------------------------------------------------------------------------------------
CEO: What exactly is stopping us from doing this?
Expert: Geometry
Marketing Manager: Just ignore it.
0 Kudos
Message 6 of 16
(3,825 Views)

@Norbert_B wrote:

Roger,

 

i tracked down the issue to "ExecutionBenchmark1.lvclass:Load Core.vi" and "ExecutionBenchmark2.lvclass:Load Core.vi". If removing both VIs from the main, it is compilable.

 

Since those VIs have their blockdiagram removed, they have to include their compilation in order to be executable. I expect this to be the source of the issue.

Can you please check if using the default VI "Load Core" for both classes work as long as LV is able to recompile those while creating the object file for the main?

 

thanks,

Norbert


Perhaps it's another bug when trying to "Save As" in the project "File" menu when the compiler is in out of memory state, which is what I did and possibly caused it to be saved without the block diagram? Those VI's should have their block diagram included in any case.

 

Okay, I couldn't reproduce it now. It seems like a random issue from time to time. I'll try it out on my computer at home. However, I get internal errors when I exit LV.

 

InternalError.JPG

 

Br,

 

/Roger

 

 

 

0 Kudos
Message 7 of 16
(3,822 Views)

@Norbert_B wrote:

Roger,

 

i tracked down the issue to "ExecutionBenchmark1.lvclass:Load Core.vi" and "ExecutionBenchmark2.lvclass:Load Core.vi". If removing both VIs from the main, it is compilable.

 

Since those VIs have their blockdiagram removed, they have to include their compilation in order to be executable. I expect this to be the source of the issue.

Can you please check if using the default VI "Load Core" for both classes work as long as LV is able to recompile those while creating the object file for the main?

 

thanks,

Norbert


Yep, still reproducible on my 32 bit Windows 7 home machine. Attached is the fixed code.

 

Also, my suspicion was right. If you try to save a project in a out of memory condition, the saved project will always display an out of memory error due to a missing block diagram.

 

Br,

 

/Roger

 

Download All
0 Kudos
Message 8 of 16
(3,814 Views)

Roger,

 

your attachments somehow irritate me.

Missing_BD.zip seems to have the very same content as the original Execution.zip. All class VIs have their BD removed and do contain code (even if option seperate source code is checked, but the option itself is greyed out).

Execution_Fixed.zip does contain all BDs for all VIs, but the issue with the broken error is not reproducable on my machine. I checked some of the subvis, but it seems all have the option to seperate the source code set.

 

EDIT: Ok, following you initial description i can reproduce the issue.

EDIT 2: I can reproduce the issue only if i opened one of the Load Core.vis before purging the cache. Please confirm.

 

Norbert

Norbert
----------------------------------------------------------------------------------------------------
CEO: What exactly is stopping us from doing this?
Expert: Geometry
Marketing Manager: Just ignore it.
0 Kudos
Message 9 of 16
(3,807 Views)

@Norbert_B wrote:

Roger,

 

your attachments somehow irritate me.

Missing_BD.zip seems to have the very same content as the original Execution.zip. All class VIs have their BD removed and do contain code (even if option seperate source code is checked, but the option itself is greyed out).

Execution_Fixed.zip does contain all BDs for all VIs, but the issue with the broken error is not reproducable on my machine. I checked some of the subvis, but it seems all have the option to seperate the source code set.

 

So how can i make the project to display the error?

 

Norbert


Norbert, dont be grumpy, you just gotta try a little harder. In any case, thanks for the efforts! Smiley LOL

 

The bug is there when I run it in my 32 bit Windows 7 machine and not on my 64 bit Windows 7 machine at work.

What type of machine are you running the code on?

 

Separating the source code from the compiled binary isn't the same as removing the block diagrams from the VI's.

Please elaborate what you mean?

 

Br,

 

/Roger

 

0 Kudos
Message 10 of 16
(3,797 Views)