Jump to content

Windows character size limit


hooovahh

Recommended Posts

Not sure if I'm the first one to come across this issue or not but when VIPM reaches Windows 250 character size limit VIPM crashes and gives an error which doesn't seem appropriate.

 

I was building a package which happened to have a very long name, and the components inside of it also had a long file name. Adding these two long names to the fact that Windows's temp directory is fairly long results in reaching the 250 limit. The error window that appears in VIPM states:

 

"There was an error building your package during the source distribution step.

 

Please make sure that you have properly installed OpenG Builder and that you have run it once."

 

Looking at the error log it states that "A LabVIEW file of that name already exists in memory" but when I looked at the target file name I noticed it was kinda long, and it ended up being over 250 characters. I've attached the error file just to make sure I'm being clear.

 

I think the VIPM should present the proper error, or at least put the proper error in the error log (assuming I'm reading the error correctly)

November_04_2008.txt

Link to comment
Share on other sites

Not sure if I'm the first one to come across this issue or not but when VIPM reaches Windows 250 character size limit VIPM crashes and gives an error which doesn't seem appropriate.

 

I was building a package which happened to have a very long name, and the components inside of it also had a long file name. Adding these two long names to the fact that Windows's temp directory is fairly long results in reaching the 250 limit. The error window that appears in VIPM states:

 

"There was an error building your package during the source distribution step.

 

Please make sure that you have properly installed OpenG Builder and that you have run it once."

 

Looking at the error log it states that "A LabVIEW file of that name already exists in memory" but when I looked at the target file name I noticed it was kinda long, and it ended up being over 250 characters. I've attached the error file just to make sure I'm being clear.

 

I think the VIPM should present the proper error, or at least put the proper error in the error log (assuming I'm reading the error correctly)

 

 

Hello,

 

it looks like you've hit this limit :-o

maybe VIPM should check for you the path length before trying to run but even if it does the issue will remain.

Link to comment
Share on other sites

Yup that's the one, I think LabVIEWs basic file IO primitives should check for this and generate the proper error. Then VIPM (and many other LabVIEW programs) wouldn't have to have this kind of check in place. I think LabVIEW will generate a generic error but that doesn't help much when a program mysteriously stops working.

Link to comment
Share on other sites

Hi All,

 

Yes, this is a nasty Windows bug. We're all trying to figure out how best to deal with the problem. I'd say that the responsibility of a better error message falls on Windows, then LabVIEW, then VIPM. However, it would be really nice if VIPM gave you a better error message, especially since this problem seems to be happening pretty frequently.

 

I'll file an issue and return with a tracking number.

 

Thanks,

 

-Jim

Link to comment
Share on other sites

  • 3 months later...

I think I'm hitting the same issue...

 

From the error .txt file:

 

Source: D:\Reuse\Configuration\Classes\Configuration Template\Configuration Template.lvclass

Target: C:\Users\benh.viewpoint\AppData\Local\Temp\VIPB Temp\Source Distribution\Configuration

Template\_viewpoint_systems_lib_configuration_template.llb\Configuration

Template__viewpoint_systems_lib_configuration_template.lvclass

 

Admittedly my package name is huge, and I'll be trimming it in the short term to get around this issue. However is there a setting in VIPM where I can decide where the packages are going to be built? I.e. change the temp directory used by VIPM so I would have a much shorter path name?

Link to comment
Share on other sites

I think I'm hitting the same issue...

 

From the error .txt file:

 

Source: D:\Reuse\Configuration\Classes\Configuration Template\Configuration Template.lvclass

Target: C:\Users\benh.viewpoint\AppData\Local\Temp\VIPB Temp\Source Distribution\Configuration

Template\_viewpoint_systems_lib_configuration_template.llb\Configuration

Template__viewpoint_systems_lib_configuration_template.lvclass

 

Admittedly my package name is huge, and I'll be trimming it in the short term to get around this issue. However is there a setting in VIPM where I can decide where the packages are going to be built? I.e. change the temp directory used by VIPM so I would have a much shorter path name?

 

Hi Ben,

 

Sorry for the trouble -- this is quite a pesky Windows bug/limitation.

 

I think that you might be able to set the temp directory, as follows:

 

In VIPM's configuration file:

C:\Program Files\JKI\VI Package Manager\VI Package Manager.ini

find the "VI Package Manager" section:

[VI Package Manager]

and add the following key:

tmpdir=C:\Temp

Note that this might fix the problem of building the package, but won't solve any problems associated with installing the package's files, if the install location path names are too long.

 

Thanks,

 

-Jim

Link to comment
Share on other sites

Target: C:\Users\benh.viewpoint\AppData\Local\Temp\VIPB Temp\Source Distribution\Configuration

Template\_viewpoint_systems_lib_configuration_template.llb\Configuration

Template__viewpoint_systems_lib_configuration_template.lvclass

 

Admittedly my package name is huge, and I'll be trimming it in the short term to get around this issue.

Yeah - we ended up changing "v_i_engineering_inc" everywhere to "vie". You need to keep the eventual install location in mind too (ie: c:\program files\national instruments\labview 8.6\user.lib\... etc).

Link to comment
Share on other sites

Thanks Jim that is a nice work around, but like you said it may end up still breaking when you try to install the package.

 

I did a quick test which may not be accurate. For me my temp directory is 53 characters (not including slashes or the drive letter) I know from the temp directory VIPM will create a new one, I think with a randomly generated number, so it may be around 58 characters to a usable path. The path to the user.lib folder is 53 characters (again not including slashes or the drive letter) So at least in my case (where my user name is 12 characters long)

 

If I used ini key to make a shorter temp directory, I only gain 5 characters or so. After I use more than 5 characters the package will be created fine, but won't be able to be installed unless the path to the user.lib is shorter than usual.

Link to comment
Share on other sites

Yeah - we ended up changing "v_i_engineering_inc" everywhere to "vie". You need to keep the eventual install location in mind too (ie: c:\program files\national instruments\labview 8.6\user.lib\... etc).

 

Thanks Jim that is a nice work around, but like you said it may end up still breaking when you try to install the package.

 

I did a quick test which may not be accurate. For me my temp directory is 53 characters (not including slashes or the drive letter) I know from the temp directory VIPM will create a new one, I think with a randomly generated number, so it may be around 58 characters to a usable path. The path to the user.lib folder is 53 characters (again not including slashes or the drive letter) So at least in my case (where my user name is 12 characters long)

 

If I used ini key to make a shorter temp directory, I only gain 5 characters or so. After I use more than 5 characters the package will be created fine, but won't be able to be installed unless the path to the user.lib is shorter than usual.

 

Ya, I agree with these thoughts. I would try to standardize on a short organization/company prefix for your packages (maybe "viewpoint" or "vs"). Otherwise, it just pushes the problem to a later stage.

Link to comment
Share on other sites

One thing we are working on at JKI is to eliminate the need to have a long package name. One of the benefits of including your full organization name or other descriptions in the package name is so that it will be displayed or "advertised" in the VIPM package list. We are considering adding a new user editable field into the VIP package spec to allow a display name. This new name - not the physical package name - will be displayed in the VIPM package list. This will allow abbreviated names for package files but still allow for more creative package names to show up in the main VIPM list.

Link to comment
Share on other sites

I actually went in under 'My Computer/Environment Variables' I changed the temp director to c:\temp...this sadly didn't fix my issue.

 

I actually had a project structured like this:

 

Project

Library

Class 1

Class 2

 

I was attempting to create a package with both Class 1 and Class 2 in the package. To do this I pointed at the directory in VIPM builder where I had the Library file and the two class files in separate directories below the current directory. This seemed to give VIPM real fits.

 

Once I removed the Library reference in the project (I really didn't need it), everything built just fine.

 

I'm a tad new to creating packages, what is the best practices for doing something like above? Should we not be using Libraries? I don't actually see a need for them in the project since I am making packages anyway.

Link to comment
Share on other sites

Archived

This topic is now archived and is closed to further replies.

×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.