pierre Posted October 2, 2011 Report Share Posted October 2, 2011 Hello, I am currently trying to build a large application : - ~6000 vis, - ~300 or 400 classes, I am quite proud of the code, because there is only 1 vi not packaged in a lib or 1 class, it's the Main_App.vi that launches the application. Architecture is based on Model View Presenter design pattern. When I try to build the application Labview just process for hours and don't even moves. Last night, I let him go for 10 hours and it and just processed 1 class. I tried using Libp to package part of the code but with no success, a lot of linkage troubles occurs when I try to use them. And management of redefinition seems to broke Vis. As any body encounters that king of situation and even solved it. Any Ideas... The software have to be delivered within a week and it makes me sick not to be able to make usable to work we have done for months.... Thanx for answers. Pierre cross-post : http://forums.ni.com/t5/LabVIEW/troubleshootings-while-building-large-application/td-p/1725632 Quote Link to comment
pierre Posted October 2, 2011 Author Report Share Posted October 2, 2011 I am getting used with that kind of problems, so every time I added major libs into the project try a new build. It has work since I last add a big enough lib (almost 1200 Vis and maybe 80 classes). The design is based on 5 major libs : - MVPFramework, - Image display models & interface, - Connectivity daemon, - Connectivity database models & interface, - Main Database models & interface, Building have been tried with every package separately excepted with the main Database. What I am going to try is to build without the last one. The answer in a few hours... Thanx for your answer, Regards Pierre Quote Link to comment
PJM_labview Posted October 3, 2011 Report Share Posted October 3, 2011 Pierre, We do have a customer application with similar statistic (6000+ VIs but only around 100+ classes) and the build does take about 15 hours. Like you we have a lot of problems with the build (it is very easy to brake it for no obvious reason and when it take so long to do a rebuild this can very quickly eat weeks of your time). Here is some info that might help you. We notice that adding xcontrol can brake our build (ex: adding the 3dsurface plot xcontrol did that [took us 2 weeks to find that this was the issue]). Make sure your build output is as close as possible to the root folder (ex: C\build) so you wont hit the "path too long" issue that plague windows OS. Build that fail do sometime succeed when we do a control+shit+run arrow (re-compiles everything in memory) and a resave. Build that do fail on "regular" 32-bit OS do sometime succeed on 64-bit OS. Sometime adding more memory to the build machine helps. When none of the above succeed we have to try to figure out what was change since the last successful build. Note: we try very hard to do build very frequently to alleviate these issues. We have several machine (for instance Virtual Machine) where we can try several builds in parallel to speed up the debugging. So my first suggestion would be to let the build go until you get an error as it can take a very long time. Also, if you have not done so, make sure you can try the build on several machines (using VMs [Virtual Machine] is really ideal for this tasks). I feel your pain, and I wish you the best of luck. Please report back here when you found out what was the issue. PJM 2 Quote Link to comment
Staffan Posted October 4, 2011 Report Share Posted October 4, 2011 Hi, I have had these kind of problems. Now I must use LV2011f2 to be able to make a build. What OS are you running? Which LV version? Have you enabled LV to use 3GB of virtual memory? http://zone.ni.com/reference/en-XX/help/371361D-01/lvhowto/enable_lrg_ad_aware/ Have you set GDI objects to maximum? HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Windows\GDIProcessHandleQuota (max 65536) /Staffan Quote Link to comment
pierre Posted October 4, 2011 Author Report Share Posted October 4, 2011 Hi, I have had these kind of problems. Now I must use LV2011f2 to be able to make a build. What OS are you running? Which LV version? Have you enabled LV to use 3GB of virtual memory? http://zone.ni.com/r...e_lrg_ad_aware/ Have you set GDI objects to maximum? HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Windows\GDIProcessHandleQuota (max 65536) /Staffan Hi, OS : Seven 64bits, LV : 2011 32bits I just modified GDIProcessHandleQuota, let wait for a few hours... Quote Link to comment
pierre Posted October 5, 2011 Author Report Share Posted October 5, 2011 Found the trouble.... There was a class disturbing the building process. Traitment for a class in large project takes about 10 to 15s. With this class included processing time raise up to 250s per class. without, processing time goes to 10s. I regenerated the class, include in the project and restart the compilation. Processing time per class is between 14 to 18s. Past 1h, almost 70% of the class and libs where processed. Let's wait for 30 mn and then run the application To find where was the bottle neck, I add those lines in labview.ini : keepinternalllb=TRUE NI_AppBuilder_Logging=TRUE DWarnDialog=True promoteDWarnInternals=True DPrintfLogging=True LLVMLargeVIThreshold I installed 2011f2 and add line : lazyLoadIcons=True. Thanx for every answers. Bye Quote Link to comment
Staffan Posted October 6, 2011 Report Share Posted October 6, 2011 Hi, Nice to hear that you managed to complete the building process. About the "lazyLoadIcons=True". Beside the documented issue with the icon there are at least two more issues when this parameter is True When creating a new "VI for Override...", icon of the new VI is not updated. If changing the classicon and applying this to all member VIs, all member VIs not in memory/not opened will lose their "local" part. (I have a lot of VIs now that only have the "NI_Library"-part of the icon. Everything else is gone ). /Staffan Quote Link to comment
PJM_labview Posted October 7, 2011 Report Share Posted October 7, 2011 Pierre Thanks for reporting back your findings. That class that was giving you issues, was it doing anything out of the ordinary? Also, what do you mean exactly by "I regenerate the class"? Did you recreate if from scratch, mass compile it or something else? Thanks PJM Quote Link to comment
pierre Posted October 13, 2011 Author Report Share Posted October 13, 2011 Hello, To respect the design pattern we decided to use (Model-View-Presenter), I created a few scripting tools. Their purpose was to generate concrete classes from template, modify vi names and class inheritence, icons, save and insert into the project... It works nice. (I should maybe post the framework to show what can be done with labview engine) That given class was just some kind of container and factory for other presenters and views. It was written at the begining of the project so was not generated by scripting tools. So what I did, was to generate the class using scripting tools and every thing was done. But I still don't understand what happened will that class... Quote Link to comment
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.