I'm aware of some of the other threads with this same error dialogue, but I'm not sure the context is the same as mine.
I'm having a problem where a previously healthy library has now stopped loading correctly.
When I try and load my top-level function, I get the 'Generic file I/O error.' (see attached image). When I dig in, I find two sub-VIs, three layers down are missing sub-vis. This is strange because all relevant sub-VIs are stored in the same library. I cross-checked the paths for each sub-VI and they are all in the right place.
If I manually 'replace' the missing sub-VI (question mark placeholder) with the appropriate sub-VI from the library, the application will function normally. I can save it, and everything seems to be fine. However if I close out LabVIEW and re-open the application, the same problems appear again.
Very frustrating problem and I'm kind of losing my mind.
I'm assuming the fix might be to copy/paste code into a new, fresh sub-VI with a new name and link to that instead, but I'd like to understand what happened.
Note: as far as I can tell I am not suffering from filename length issues - I'm storing locally and the filenames are short, without forbidden characters. I am using SVN Tortoise for backup. I'm not sure if that is relevant. I also migrated this application from 64-bit to 32-bit, although this error started appearing more recently than the migration.
It seems that LabVIEW is overwriting the reference to where these specific Sub-VIs are stored. So one way we can avoid this is if it is consistently the same Sub-VIs that are being mis-referenced, you could copy those Sub-VIs into your LabVIEW project and reference the Sub-VIs from here. This way when you save your project, the Sub-VIs will be saved locally and you will not have to continue to replace them each time you close out of LabVIEW.
Seems like it something was corrupted in the .llb file. I tried moving the problem sub-VIs to a project-based solution above but that didn't work as long as I continued to reference other VIs from the .llb file (the problem just evolved to other sub-VIs in the llb file - kinda odd behaviour.) In the end recovering all the contents of the .llb file by copying/pasting all items to a new, regular folder has solved the issue.