10-03-2019 09:52 AM - edited 10-04-2019 01:37 AM
Hi,
I am elaborating a channel wire tag to stop parallel loop to make my code simpler as compared to notifier. However, I found a reference leak when using desktop execution trace toolkit. Any idea if I make any mistake in the program?
I am using this simple program to test.
Here is the message from Desktop Execution trace toolkit:
676413 | 21:40:14.1657490 | Tag-bool.lvlib:))Channel.vi:7310015 | Reference Leak | 0 | 1 | VI | Unknown Leak : 0x18067E78 |
Details: Unknown Leak : 0x18067E78
Call Chain:
-- Tag-bool.lvlib:))Channel.vi:7310015
-- Tag-bool.lvlib:Instantiate.vi:4380002
-- Untitled 3
VI Path: C:\Users\Engha\Documents\LabVIEW Data\2018(32-bit)\ExtraVILib\ChannelInstances\Tag-bool\))Channel.vi
Thread ID: 0 --- CPU ID: 1
Solved! Go to Solution.
10-08-2019 10:55 AM
Your program is correct, and there is a reference leak-- we create a reference internally in order to enable probing the channel and we neglected to close it. The fix will be in LabVIEW 2020. Thanks for spotting this and alerting us to it.
--Jeff
10-08-2019 11:04 AM
@jkodosky wrote:
.... The fix will be in LabVIEW 2020. ...
--Jeff
There is only one person that has the intestinal fortitude to predict which version a bug will be fixed in.
Ben
10-08-2019 12:28 PM
Question: is this an actual reference leak or just a nominal one? In other words, could one construct code where an unlimited number of such references are generated? Because not everything called a leak by the trace toolkit is actually a leak.
10-09-2019 09:39 AM
@jkodosky ha scritto:
Your program is correct, and there is a reference leak-- we create a reference internally in order to enable probing the channel and we neglected to close it. The fix will be in LabVIEW 2020. Thanks for spotting this and alerting us to it.
--Jeff
Welcome to Agile development!
10-09-2019 05:51 PM
@drjdpowell wrote:
Question: is this an actual reference leak or just a nominal one? In other words, could one construct code where an unlimited number of such references are generated? Because not everything called a leak by the trace toolkit is actually a leak.
Merely a nominal leak. In fact, it isn't exactly a leak... we are leaking "not a refnum". What's being reported as a leak is the cleanup proc is running to cleanup what is *potentially* a refnum, but turns out not to be.
No, you cannot construct an infinite leak with this.
10-10-2019 06:11 AM
I wish the trace toolkit labelled things potential reference leaks.