02-13-2008 07:35 AM - edited 02-13-2008 07:35 AM
02-13-2008 10:24 AM
Found the problem.. It was something I suspected, but it shouldn't cause LV to crash...
In case it helps someone else, here it is:
I included a folder that had existing VIs to it. One of the VI, I did not want to include, so I changed the extention to ._vi_, which rendered it not a LV vi. Unfortunately, working late with insufficient coffee, when adding the folder to the project, this one got added as well. Since the naming convention "fit-in" with the others, I did not see it. It was the only orphan VI that was still linked to the original library. Deleting it from the project cleared the problem.
There are two things that puzzle me:
1. Why was Labview looking at properties of a file that had an unrecognized extention "._vi_"? Was it bad luck using underscores? I should try with other extentions live ".abcdefg" 😉
2. Why did Labview crash and not throw a simple exception? I mean, this was a relatively minor mistake from my part. And yes I do understand that we cannot test for "everything" 🙂 This is why I added this thread to the Feb 2008 bug list. Maybe as a reminder to test for these things 😄
RayR
02-15-2008 07:02 AM
Hi RayR,
I'm glad you found the problem. Thanks for posting the resolution. It sounds like you already reported this as a bug, correct? Thank you for providing feedback!
02-15-2008 08:57 AM - edited 02-15-2008 08:58 AM
02-19-2008 07:59 AM
Thanks Ben,
I just posted in the bug list, no CAR, yet.
Had lunch on Friday with a LV buddy (LV instructor). He has reported a few similar bugs with the project explorer on LAVA, and with NI. He's observed several flavors of bugs when using the explorer which causes LV to crash. Especially related to the use of libraries ("importing" modules into an existing library, etc).
Ben, I'll continue this topic elsewhere, where it can be discussed in more specific terms. 😉
RayR
02-20-2008 05:33 AM
Thank you both for the clarification.
Ray, I haven't been able to reproduce the crash here and wanted to verify the steps that were taken before filing the CAR. Do you remember at what point the extension was changed to ._vi_? Were any error logs generated?
If I understand correctly, you:
1. Created a new project.
2. Added a new library.
3. Changed the file extension of an existing VI to ._vi_ outside of LabVIEW.
4. Added a folder of VIs to the new library.
5. Disconnected all VIs except "._vi_" from the old library.
6. Received the "missing lvlib" error, attempted to find callers, and saw LabVIEW crash.
Please correct me if I misunderstood or missed anything. Thanks!
02-20-2008 07:17 AM
Good morning Jennifer,
I'll try to re-create the events from memory.
OS: Win-XP Pro - SP2
1. Opened library of VI's from Agilent E4440A drivers. Opened the "Tree.vi" to look at available vi's. Copied (pasted) some of the vi's into a new folder. This may be important: I deleted the folder that contained the original library. (Actually, the zipped file was moved to a storage location). This means LV has no idea where to find the original library.
2. Opened all freshly copied VI at the new folder location. They all complained about not finding the .lvlib file. Ignored the error and disconnected every vi from the library and saved them. All except for one which was polymorphic and I didn't need it. I forgot to delete it at this time.
3. Created a new folder (real) within the directory structure of an existing project which uses an lvlib. Moved the disconnected vi's into this folder.
4. Opened the project and added the folder to the project, thus creating the virtual folder and files that were in the folder. All this was added to the library.
Note.. I can't remember the exact steps below, but they were something close to what I describe.
5. Cannot remember if I closed the project then opened it, but I do remember seeing a message complaining that one VI could not find the lvlib (the one from Agilent).
6. Looked into the folder and examined the saved date, which quickly led to the polymorphic VI that was still part of the original library. Since I was not sure if I wanted to use it later, I simply changed the extention from .vi to ._vi_.
7. Did some work, saved everything. Closed the project..
8. Opened the project and got an error message about a missing .lvlib. Again looking for the original Agilent lib. Remember that I had deleted the original library, it's folder, etc. (step 1).
9. Everytime I would open the project, I would get the error message. I ignore it and continue working. Since I don't like errors ;), I looked at the dependencies to find out what I missed. At this time, the file with the ._vi_ extension was still in the folder. I had forgotten about it and didn't realize that LV would pick it up.
10. In the dependencies tree, I right-clicked the error message and selected "Find>Callers", as shown in the attached image of the original post. Got the crash message. I repeated this 4 times. Rebooted the PC, and repeated it twice. All the same result >> Crash. I may have saved a copy of the "crash" report, although I doubt it... I didn't bother sending the report to MS; because, well, I don't have much credibility over what those guys do at MS.
11. Looked at the folder to go through every VI to find out which one was still connected to the library. None of them were.
12. Noticed the ._vi_, and figured there would be no harm to delete it. Deleted it. It resolved the dependencies, thus no more error, no more crash. 🙂
I am actually surprised that LV project also looks into non-DOTvi files for dependencies. I imagined that it would ignore anything non-Labview known extentions. This is definitely good to know. However, the crash was a bit unexpected.
I will look for error logs. If I have time, I may try to repeat this on my PC and send logs. It will have to wait until I finish my surrent project (client / revenue) 🙂
Hope the above helps.
RayR
02-20-2008 07:39 AM
02-28-2008 03:34 AM
02-28-2008 07:41 PM
Thanks Jennifer
🙂