Lightroom 3.2 out of memory issues

I had been using the beta version of Lightroom 3 without issues.  Once I installed the shipping version I get out of memory messages all the time.  First I noticed this when I went to export some images.  I can get this message when I export just one image or part way though a set of images ( this weekend it made it though 4 of 30 images before it died ).  If I restart Lightroom it's a hit or miss if I can proceed or not. I've even tried restarting the box and only having Lightroom running and still get the out of memory issue.
I've also had problems printing.  I go to print an image and it looks like it will print but nothing does.  This does not generate an error message it just doesn't do anything.  So far restarting Lightroom seems to fix this problem.
When in the develop module and click on an image to see it 1:1 at times the image is out of focus.  If I click on another image and then go back to the original it might be in focus.
I have no idea if any of this is related but I thought I'd throw it out there.  I've been using Lighroom since version 1.0 and have had very good luck with the program.  It is getting very frustrating trying to get anything done.  I search though the forum but the memory issues I found were with older versions. I'd be very grateful if anyone could point me in the right direction.
Ken
System:
i7 860
4g memory
XP SP3

Hi,
You can get the HeapDump Analyzer for analyzing IBM AIX heapdumps from the below mentioned link.
http://www.alphaworks.ibm.com/tech/heapanalyzer
http://www-1.ibm.com/support/docview.wss?uid=swg21190608
Prerequistes for obtaining a heapdump:
1.You have to add -XX:+HeapDumpOnOutOfMemoryError to the java options of the server (see note 710146,1053604) to get a heap dump on its occurance, automatically.
2.You can also generate heapdumps on request :
Add -XX:+HeapDumpOnCtrlBreak to the java options of the server
(see note 710146).
Send signal SIGQUIT to the jlaunch process representing the
server e.g. using kill -3 <jlaunch pid> (see note 710154).
The heap dump will be written to output file java_pid<pid>.hprof.<millitime> in:
/usr/sap/<SID>/<instance>/j2ee/cluster/server<N> directory.
Both these parameters can be set together too to get the benefit of both the approaches.
Regards,
Sandeep.
Edited by: Sandeep Sehgal on Mar 25, 2008 6:51 PM

Similar Messages

  • Out of memory Issues

    Hi,
    Weblogic version is 10.3, DB - Oracle
    We have environment like 4 servers One server with Admin server 4 managed servers remaining 3 servers with each server with 4 managed servers.
    Each managed server have 2 GB memory.
    Connection pools are setup Initial capacity 0 maximum capacity 15
    Our applications are developed on Pega, Currently we are getting Out of memory issues. F5 node send alerts like
    SEVERITY: Error
    Alert(432526): Trap received from ttnny-cse-f5node1: bigipServiceDown -- Bindings: sysUpTimeInstance = 1589988172, bigipNotifyObjMsg = Pool member 172.22.110.45:8002 monitor status down., bigipNotifyObjNode = 172.22.110.45, bigipNotifyObjPort = 8002 (Fri. 02/12/2010 15:01 America/New_York - Sat. 02/13/2010 15:59 America/New_York)
    SEVERITY: Error
    Alert(432524): Trap received from ttnny-cse-f5node2: bigipServiceDown -- Bindings: sysUpTimeInstance = 1589982333, bigipNotifyObjMsg = Pool member 172.22.110.45:8002 monitor status down., bigipNotifyObjNode = 172.22.110.45, bigipNotifyObjPort = 8002 (Fri. 02/12/2010 14:59 America/New_York - Sat. 02/13/2010 15:59 America/New_York)
    SEVERITY: Error
    Alert(432527): Trap received from ttnny-cse-f5node1: bigipServiceUp -- Bindings: sysUpTimeInstance = 1589988572, bigipNotifyObjMsg = Pool member 172.22.110.45:8002 monitor status up., bigipNotifyObjNode = 172.22.110.45, bigipNotifyObjPort = 8002 (Fri. 02/12/2010 15:01 America/New_York - Sat. 02/13/2010 15:59 America/New_York)
    SEVERITY: Error
    Alert(432525): Trap received from ttnny-cse-f5node2: bigipServiceUp -- Bindings: sysUpTimeInstance = 1589982733, bigipNotifyObjMsg = Pool member 172.22.110.45:8002 monitor status up., bigipNotifyObjNode = 172.22.110.45, bigipNotifyObjPort = 8002 (Fri. 02/12/2010 14:59 America/New_York - Sat. 02/13/2010 15:59 America/New_York)
    When we checked at that time server is up and running with some pega exceptions JVM Shows 10 % after some it will go 30 % .
    Can you see below alert confirms JVM down so we are restarting the server at this point.
    SEVERITY: Alert
    Alert(432565): Threshold triggered -- ttappapp01's 8003's Port Availability: 0.00 Percent < 100 Percent averaged over 1.00 minutes (Fri. 02/12/2010 17:15 America/New_York - Fri. 02/12/2010 17:15 America/New_York)
    SEVERITY: Alert
    Alert(432564): Threshold triggered -- ttappapp01's 8003's Port Availability: 0.00 Percent != 100 Percent averaged over 1.00 minutes (Fri. 02/12/2010 17:15 America/New_York - Fri. 02/12/2010 17:15 America/New_York)
    We took thread dump and heap dump at that time can any one please give some suggestions. why server going out of memory.
    *1, Any issue with connection pools*
    *2, Please give suggestion on design.*
    Thanks,
    Raj.

    Hi Raj,
    Did you checked the system.out and Weblogic managed server logs?
    Also you have to check the GC logs, to see if there is a memory problem or not.

  • CC 2014 Progs leave me plagued with out of memory issues which the previous versions don't exhibit.

    The new CC 2014 suite of progs seem rather memory hungry? I am plagued with out of memory issues trying to use them. The old CC progs work just fine! Is there a new minimum spec for memory now? For now I am forced to use the old versions as the new ones are just un useable...some 'upgrade'!
    Phil

    Me too!  Seems whenever I run more than one CC app I get out of memory errors.  I have Win 7 with 32GB ram.  Only have this problem with CC 2014, not CS6.

  • Result Set Causing out of memory issue

    Hi,
    I am having trouble to fix the memory issue caused by result set.I am using jdk 1.5 and sql server 2000 as the backend. When I try to execute a statement the result set returns minimum of 400,000 records and I have to go through each and every record one by one and put some business logic and update the rows and after updating around 1000 rows my application is going out of memory. Here is the original code:
    Statement stmt = con.createStatement();
    ResultSet   rs = st.executeQuery("Select * from  database tablename where field= 'done'");
                while(rs!=null && rs.next()){
                System.out.println("doing some logic here");
    rs.close();
    st.close();
    I am planning to fix the code in this way:
    Statement stmt = con.createStatement(ResultSet.TYPE_FORWARD_ONLY,
                          ResultSet.CONCUR_UPDATABLE);
    stmt.setFetchSize(50);
    ResultSet   rs = st.executeQuery("Select * from  database tablename where field= 'done'");
                while(rs!=null && rs.next()){
                System.out.println("doing some logic here");
    rs.close();
    st.close();But one of my colleague told me that setFetchSize() method does not work with sql server 2000 driver.
    So Please suggest me how to fix this issue. I am sure there will be a way to do this but I am just not aware of it.
    Thanks for your help in advance.

    Here is the full-fledged code.There is Team Connect and Top Link Api being used. The code is already been developed and its working for 2-3 hours and then it fails.I just have to fix the memory issue. Please suggest me something:
    Statement stmt = con.createStatement();
    ResultSet   rs = st.executeQuery("Select * from  database tablename where field= 'done'");
                while(rs!=null && rs.next()){
                 /where vo is the value object obtained from the rs row by row     
                if (updateInfo(vo, user)){
                               logger.info("updated : "+ rs.getString("number_string"));
                               projCount++;
    rs.close();
    st.close();
    private boolean updateInfo(CostCenter vo, YNUser tcUser) {
              boolean updated;
              UnitOfWork unitOfWork;
              updated = false;
              unitOfWork = null;
              List projList_m = null;
              try {
                   logger.info("Before vo.getId() HERE i AM" + vo.getId());
                   unitOfWork = FNClientSessionManager.acquireUnitOfWork(tcUser);
                   ExpressionBuilder expressionBuilder = new ExpressionBuilder();
                   Expression ex1 = expressionBuilder.get("application")
                             .get("projObjectDefinition").get("uniqueCode").equal(
                                       "TABLE-NAME");
                   Expression ex2 = expressionBuilder.get("primaryKey")
                             .equal(vo.getPrimaryKey());// primaryKey;
                   Expression finalExpression = ex1.and(ex2);
                   ReadAllQuery projectQuery = new ReadAllQuery(FQUtility
                             .classForEntityName("EntryTable"), finalExpression);
                   List projList = (List) unitOfWork.executeQuery(projectQuery);
                   logger.info("list value1" + projList.size());
                   TNProject project_hist = (TNProject) projList.get(0); // primary key
                   // value
                   logger.info("vo.getId1()" + vo.getId());
                   BNDetail detail = project_hist.getDetailForKey("TABLE-NAME");
                   project_hist.setNumberString(project_hist.getNumberString());
                   project_hist.setName(project_hist.getName());
                   String strNumberString = project_hist.getNumberString();
                   TNHistory history = FNHistFactory.createHistory(project_hist,
                             "Proj Update");
                   history.addDetail("HIST_TABLE-NAME");
                   history.setDefaultCategory("HIST_TABLE-NAME");
                   BNDetail histDetail = history.getDetailForKey("HIST_TABLE-NAME");
                   String strName = project_hist.getName();
                   unitOfWork.registerNewObject(histDetail);
                   setDetailCCGSHistFields(strNumberString, strName, detail,
                             histDetail);
                   logger.info("No Issue");
                   TNProject project = (TNProject) projList.get(0);
                   project.setName(vo.getName());
                   logger.info("vo.getName()" + vo.getName());
                   project.setNumberString(vo.getId());
                   BNDetail detailObj = project.getDetailForKey("TABLE-NAME"); // required
                   setDetailFields(vo, detailObj);//this method gets the value from vo and sets in the detail_up object
                   FNClientSessionManager.commit(unitOfWork);
                   updated = true;
                   unitOfWork.release();
              } catch (Exception e) {
                   logger.warn("update: caused exception, "
                             + e.getMessage());
                   unitOfWork.release();
              return updated;
         }Now I have tried to change little bit in the code. And I added the following lines:
                        updated = true;
                     FNClientSessionManager.release(unitOfWork);
                     project_hist=null;
                     detail=null;
                     history=null;
                     project=null;
                     detailObj=null;
                        unitOfWork.release();
                        unitOfWork=null;
                     expressionBuilder=null;
                     ex1=null;
                     ex2=null;
                     finalExpression=null;
    and also I added the code to request the Garbage collector after every 5th update:
    if (updateInfo(vo, user)){
                               logger.info("project update : "+ rs.getString("number_string"));
                               projCount++;
                               //call garbage collector every 5th record update
                               if(projCount%5==0){
                                    System.gc();
                                    logger.debug("Called Garbage Collectory on "+projCount+"th update");
                          }But now the code wont even update the single record. So please look into the code and suggest me something so that I can stop banging my head against the wall.

  • Out of memory issues with PSE 8

    I am using PSE 8 64 bit on a Dell desktop computer with Intel (R) Core (TM) i7 CPU 920 at 2.67 GHz. with 8 GB of ram. My operating system is Windows 7, 64 bit.
    My problem is that I get out of memory or insufficient ram messages in PSE Editor with some PSE tools when my CPU resource utilization reaches 37 to 38%. In other words, even though my computer is telling me I have almost 4 GB of memory left, PSE is saying it does not have enough memory to complete the operation. It looks to me as if PSE is only using 4GB of my 8 GB of Ram. Is this true and what do I need to do to allow PSE to utilize all of my available ram.

    Thanks, that does answer what the problem is, but not necessarily a solution. I like working with 8 to 10 pictures (files) in the editor tray at a time. I make whatever changes needed to each and then group 4 or 5 into an 8.5 X 11 collage. Each picture in the collage is a separate layer and each separate picture may multiple layers of its own. I print the collage on 8.5 x 11 photo paper and then put the page in a photo album. I like the pictures in different sizes, orientations and sometimes shapes, so the album and multiple picture options offered in PSE are not much help. My process eats a lot of memory, which I mistakenly thought, my 8 gb of ram would solve.
    Anyway, now that I know the limitations, I can adjust the process to avoid the memory issue and hopefully, a future version of Elements will accommodate 64 bit.
    Maybe, I am wondering, do I need to look at other programs or am I missing a PSE function that would make my chore easier.

  • Out of Memory issue in crystal report 2008 SP1

    Hi ALL,
    I am facing serious issue in crystal report 2008 SP1.
    When i am click the page setup in crystal report 2008 ,it is prompting like "Out of Memory".
    Because  of this i am not able to see the default printer in the page setup.
    Please give the suggestions to resolve this issue.
    Thanks and Regards,
    Vinay

    Hi Ed,
    What printer are you using as your default printer?
    What happens if you change your default printer to Microsofts generic print driver? Only as a test to remove the printer being the cause.
    Also, Go into Page Setup and check on Dissociate Printer..... and see if that fixes the issue.
    Also, include all your OS version and patch level, Status of DEP, anti-virus turned off ( disconnect from your network while doing this test ) and Windows Firewall or any third party firewall and close all other software running.
    Thanks again
    Don

  • 'Out Of Memory' issue and over large Project File...

    Hi everyone, my issue is a common one but yet to find out reasons why after trying many suggestions.
    I am working in Final Cut Pro 6 on an edit 35 minutes long. It's a holiday video edit of a snowboarding trip filmed on GoPro HD and a small handy Sony Handycam. All rushes are transcoded to ProRess 422. I have cut the edit and doing the final touches with the colour using Synthetic Appertures Color Finesse 3. My project file starts off at a mere 17MB before colour grading/correction from what I can tell seems pretty normal. By the time I get to around half way my Project ile has increased greatly to over 70MB, FCP becomes slow and unstable then I start to get crashes and reloads of the project take around 15 minutes or more to open. This seems quite a jump to me once grading starts?
    Originally I did have around 6 sequences of footage (one for each day of shooting on holiday) where each contained all the usable clips I could possibly use for the edit. Then a Master sequence where I would paste my desired clips to for trimming and editing to music. (all music in AIFF)
    I have deleted all folders in the browser that arent in use now and the only sequence I have now is the master, nothing else at all! No Motion graphics but some text at the start of the edit, nothing animated. No stills, but I do have some freeze frames but I'd say no maore than 20 over the whole 35 minutes. I have deleted unused render files and trashed preferences.
    I did see somewhere that someone suggested splitting the edit in to two different projects? There wasnt a clear explanation of this.
    I'm running....
    iMac 24 inch - early 2009
    2.66 GHz Intel Core 2 Duo
    8GB 1067 DDR3
    NVIDIA GeForce 9400 256 MB
    OS X10.8.2
    Hope this is all you need to help me get this edit completed and exported off. Any more info you need just ask!
    Thanks in advance.
    GK

    Hi Nick
    I have already successfully rendered 20 minutes of the project with no issues. As the project file has increased it has become troublesome. Beach balling when pasting the colour finesse attributes to my next clip for instance.
    When I attempt to render now its instantly fails with a "Out Of Memory" error and eventually crashes FCP.
    Thanks.

  • Top Link Causes out of memory issue when millions of records need to update

    Hello everyone,
    I am using TopLink 9.0.4 in a batch process. The batch process reads from the temp table(temp table has millions of records one month worth of data which need be updated). The database being used is sqlserver 2005. Below is the snippet of code. It works for 6-7 hours and crashes after that due of out of memory:
    ExpressionBuilder expressionBuilder = new ExpressionBuilder();
    Statement stmt = con.createStatement();
    ResultSet rs = st.executeQuery("Select * from database tablename where field= 'done'");
    while(rs!=null && rs.next()){
    *//where vo is the value object obtained from the rs row by row*     
    if (updateInfo(vo, user,expressionBuilder )){
                   logger.info("updated : "+ rs.getString("col_name"));
                   projCount++;
    rs.close();
    st.close();
    private boolean updateInfo(ProjectVO vo, YNUser tcUser,expressionBuilder ) {
              boolean updated;
              updated = false;
              try {
                   updated = true;
              } catch (Exception e) {
                   logger.warn("update: caused exception, "
                             + e.getMessage());
              return updated;
    Edited by: user8981696 on Jan 14, 2010 1:00 PM

    Thanks for your reply.
    Please find below the answers to you suggestions/concerns:
    You seem to be using raw JDBC to select all of the records in a single result set, not sure if this may be causing a memory issue. You could try paging through the results instead.
    Ans: I have modified the code to get me 1000 records each time and I am getting the ResultSet by using PrepartedStatement instead of regular Statement object.
    What type of caching are you using?
    Ans: No caching is being used. If you have some thoughts on caching please suggest or put some sample code. Again there is no AppServer is being used, its just a regular java process(Batch process) so I dont know how to do caching in a simple java process.
    You may also wish to try the latest 9.0.4 patch release, or try the 10.1.3 version, or the latest EclipseLink 2.0 release.
    Ans: Where can I find the latest patch release 9.0.4?
    Any help/suggestion is really appreciated!

  • Hash Table Infrastructure ran out of memory Issue

    I am getting ORA-32690 : Hash Table Infrastructure ran out of memory error, while executing an Informatica mapping using Oracle Database ( Test Environment)
    The partition creation is as shown below.
    TABLESPACE MAIN_LARGE_DATA1
    PARTITION BY LIST (MKTCD)
    PARTITION AAM VALUES ('AAM')
    TABLESPACE MAIN_LARGE_DATA1,
    PARTITION AHT VALUES ('AHT')
    TABLESPACE MAIN_LARGE_DATA1,
    PARTITION GIM VALUES ('GIM')
    TABLESPACE MAIN_LARGE_DATA1,
    PARTITION CNS VALUES ('CNS')
    TABLESPACE MAIN_LARGE_DATA1,
    PARTITION AOBE VALUES ('AOBE')
    TABLESPACE MAIN_LARGE_DATA1,
    PARTITION DBM VALUES ('DBM')
    TABLESPACE MAIN_LARGE_DATA1
    Could you please provide me with a solution to this problem asap?

    SQL statement and execution plan? Is there a server-side trace file created for the session?
    From the brief description, it sounds like bug 6471770. See Metalink for details. The workaround for this particular bug is to either disable hash group-by, by setting +"_gby_hash_aggregation_enabled"+ to FALSE (using an ALTER SESSION statement . Or by using a NO_USE_HASH_AGGREGATION hint.
    Suggest you research this problem on Metalink (aka MyOracleSupport at https://support.oracle.com)

  • Crashing and 'out of memory' issues on new system

    having 'out of memory' errors and crashing while rendering on new FCP system. Here are system specs:
    Two ATI Radeon HD 5770 video cards
    Processor Name: Quad-Core Intel Xeon
    Processor Speed: 2.4 GHz
    Number Of Processors: 2
    Total Number Of Cores: 8
    L2 Cache (per core): 256 KB
    L3 Cache (per processor): 12 MB
    Memory: 16 GB

    Pull one of the video cards.
    FCP hates dual card systems.
    x

  • Out Of Memory Issue while dowloading infomraiton from DB to XML

    Hi,
    I am converting the Database tables into XML file format
    using Java IO and SAXP. I am keeping all XML files in
    download folder. But, while downloading process
    i am getting Out Of Memory Error.
    When i tried to download the real data, the download
    folder size is going tp 50 MB and i am getting Out Of
    memory error?
    Is that related to JVM Memory or System Memory. What
    would be the solution for this?
    Awaiting your answers

    By default the JVM appropriates 96Mb of memory for it's heap. You can increase the allocation by putting, say -Xmx128m on the Java command line, though perhaps a better solution is to avoid loading all your data at one time and write the XML out while reading the database.

  • Out of memory issue when executing wlappc ant task

    I am using weblogic 8.1 sp1 and doing a compilation for a little bit large EAR file using ant task. But it always throws out of memory error when the wlappc invoked the compiler to compile the jsp files.
    According to BEA's documentation<CR104610>, I put the runtimeflags with "-J-ms256m -J-mx512m" option into the wlappc tag and Ant seems recognizing this option but it didn't work. I tried every possible memory size to get rid of this problem, but the process still failed with the error message:
    The system is out of resources.
    Consult the following stack trace for details.
    java.lang.OutOfMemoryError
    - with nested exception:
    [Compilation errors : ]
    My computer has 1G memory, so it shouldn't be the hardware problem.
    Does anyone have an idea on this?
    Thanks in advance,
    Jacky

    Hi,
    Ant seems to use its own JVM and thus in the javac options during runtime,try specifying ANT java options for setting the memory parameters.
    ANT options would be memoryInitialSize and memoryMaximumSize.
    http://ant.apache.org/manual/index.html
    Hope this helps.

  • FCE 3.5 "general error" and "out of memory" issues

    Hey folks -
    I'm sure you've covered this before, but couldn't find a good thread....
    I've imported some flip footage for my kid's project (due in two days, of course!) and now we are encountering a "General Error" message followed directly by an "out of memory" message when we try to play a clip. I think there is plenty of memory to get started, not sure how to fix this. Tried trashing and repairing preferences.... Hmmm...
    So very grateful for any assistance....!
    Running a 2.4 GHz Intel Core Duo iMac, 84G remaining on the internal Hard Drive, and using a G-drive 1TB external drive with 340GB available as the scratch disc.

    All set. Was going crazy, because I thought I had it, them lost it....! Your settings were perfect. Ended up downloading MPEG Streamclip program. Used codec "Apple Intermediate Codec", 29.97 frame rate, uncompressed 48k audio, and the setup that seemed happy was the last easy setup setting in FCE 3.5: HDV-Apple Intermediate Codec 720p30. I just needed to make sure I used a new sequence to import the newly transferred clips into.
    Whew.
    Really, many thanks for your assistance!
    All the best,
    DJ

  • ACR 8.1 "Out of Memory" issue when processing over 70 - 24mb files

    Good Morning Folks,
    I've recently upgraded my computer to Win 7 and then to PS CS6 Extended.  Now when I process RAW files in ACR 8.1, I get an "Out of Memory" error if I do more than 70 ~ 80 - 24 mb files.  Also, it's running really slow.  It's taking nearly 50 seconds to process 1 - 24 mb file where PS CS3 and ACR 4.X it took only 17 for the same size file.
    Computer Specs; 3.40Ghz, 4GB RAM (max for the mother board), 120 GB HD "C", 40 GB Scratch Drive, Win 7
    What I have done is made sure that the scratch drive is listed first for cache in both PS and ACR, then in ACR, set the cache to nearly 500,000. (I think these numbers are correct, I'm not at the offending computer now)
    So the questions are; do I need to make any changes to specific setting?  Does PS CS6 and ACR 8.1 require more RAM?
    Any suggestions would be helpful.
    Thanks,
    Captain 1854

    When getting a new computer get a big enough C drive to hold all the programs and still have at least 50% free for future expansion (should always have 15% free). 
    Best if you have a separate internal HD for scratch, so computer can read program and write to scratch at same time.
    Get a mid range video card with 1 gig VRAM.
    Win7 better than Win8.

  • Out of memory issue

    I represent the IT department of a Life Insurance in Hong Kong. I was told by local support to post my question here, so here I am.
    Subject: Out of memory problem
    Crystal report version: 11R2
    Description
    Itu2019s found that when our batch jobs (related to crystal report printing) run for some times (sometimes 30 minutes, sometimes a few hours), will throw an u201Cout of memoryu201D exception. We had tried many ways and spent months to solve the problem, including optimizes coding (like force releasing memory after printing), tested in a brand new system (XP), etc. but it seems that what we had done doesnu2019t make too many different.
    Our jobs are running one by one in a batch daily. For example, a batch may contain 50 jobs while maybe 30 of them are using crystal report 11 R2 for letter printing. We have many error cases, while I would like to choose this fresh one which was happen at the begining of this week and the logic is simple and typical:
    Using rpt As New CrystalDecisions.CrystalReports.Engine.ReportDocument()
                    rpt.FileName = "c:\ProdApps\LA DLL\report\TermAgentLetter" & letterType.ToString() & ".rpt"
                    ResetReportLogo(dsLogo.Tables(0), rpt)
                    rpt.SetDataSource(dsLogo)
                    ' set printer name
                    If Me.IsPRD Then
                        rpt.PrintOptions.PrinterName = Me.PrinterName
                    End If
                    For Each row As DataRow In dt.Rows
                        Me.CurrentProgressValue += 1
                        rpt.SetParameterValue("Addr1", row("Addr1"))
                        rpt.SetParameterValue("Addr2", row("Addr2"))
                        rpt.SetParameterValue("Addr3", row("Addr3"))
                        rpt.SetParameterValue("Addr4", row("Addr4"))
                        Dim newAgtName As String
                        If row("ContactAgentLastName") Is DBNull.Value OrElse row("ContactAgentFirstName") Is DBNull.Value _
                            OrElse String.IsNullOrEmpty(row("ContactAgentLastName").ToString().Trim()) _
                            OrElse String.IsNullOrEmpty(row("ContactAgentFirstName").ToString().Trim()) Then
                            newAgtName = row("NewAgentLastName").ToString().Trim() + " " + row("NewAgentFirstName").ToString().Trim()
                        Else
                            newAgtName = row("NewAgentLastName").ToString().Trim() + " " + row("NewAgentFirstName").ToString().Trim() _
                                    + " / " + row("ContactAgentLastName").ToString().Trim() + " " + row("ContactAgentFirstName").ToString().Trim()
                        End If
                        rpt.SetParameterValue("NewAgentName", newAgtName)
                        rpt.SetParameterValue("OwnerName", row("LastName").ToString().Trim() + " " + row("FirstName").ToString().Trim())
                        rpt.SetParameterValue("PolicyNo", row("camclq_policy_no"))
                        rpt.SetParameterValue("InsuredName", row("InsuredLastName").ToString().Trim() + " " + row("InsuredFirstName").ToString().Trim())
                        If row("camclq_Letter_type").ToString().Trim().Equals("2") Then
                            'letter 2
                            rpt.SetParameterValue("ResignDate", row("OldAgentResignDate"))
                            rpt.SetParameterValue("OldAgentName", row("OldAgentLastName").ToString().Trim() + " " + row("OldAgentFirstName").ToString().Trim())
                            If row("OldAgentNameChi") Is DBNull.Value OrElse String.IsNullOrEmpty(row("OldAgentNameChi").ToString().Trim()) Then
                                rpt.SetParameterValue("OldAgentNameChi", row("OldAgentLastName").ToString().Trim() + " " + row("OldAgentFirstName").ToString().Trim())
                            Else
                                rpt.SetParameterValue("OldAgentNameChi", row("OldAgentNameChi").ToString().Trim())
                            End If
                            rpt.SetParameterValue("NewAgentAddr", row("NewAgentAddr").ToString().Trim())
                            rpt.SetParameterValue("NewAgentTel", row("NewAgentTel").ToString().Trim())
                        Else
                            'letter 1
                            If row("NewAgentNameChi") Is DBNull.Value OrElse String.IsNullOrEmpty(row("NewAgentNameChi").ToString().Trim()) Then
                                rpt.SetParameterValue("NewAgentNameChi", row("NewAgentLastName").ToString().Trim() + " " + row("NewAgentFirstName").ToString().Trim())
                            Else
                                rpt.SetParameterValue("NewAgentNameChi", row("NewAgentNameChi").ToString().Trim())
                            End If
                        End If
                        rpt.PrintToPrinter(1, False, 0, 0)
                        'rpt.Close()
                        ''End Using
                        'rpt.Dispose()
                        'GC.Collect()
                    Next
                    rpt.Close()
                End Using
        'GC.Collect()
            Next   
    As you can see that the rpt object will be closed and released at the end. We also tried GC.Collect() but later we find that is useless (it made no difference), so we commented it.
    After a few time running, in this cases, around 40 minutes, total print out around 1000 letters, it throw error as below:
    System.Exception: Load report failed. ---> System.Runtime.InteropServices.COMException (0x80041004): Server is out of memory.    at CrystalDecisions.ReportAppServer.ClientDoc.ReportClientDocumentClass.Open(Object& DocumentPath, Int32 Options)    at CrystalDecisions.ReportAppServer.ReportClientDocumentWrapper.Open(Object& DocumentPath, Int32 Options)    at CrystalDecisions.ReportAppServer.ReportClientDocumentWrapper.EnsureDocumentIsOpened()    --- End of inner exception stack trace ---    at CamBatch.ChangeSAPrintLetter.Execute() in C:\clearcase\IPD\LIFE_TEAM\CAM\DAYEND\CamBatch\ChangeSA.vb:line 64    at ScheduleJobBase.Batch.Run(Object para) in C:\clearcase\ScheduleJob\LIFE_TEAM\SchduleController\ScheduleJobBase\Batch.vb:line 233
    The u201Cout of memoryu201D error was randomly thrown in different line number in most cases, sometimes in setting report parameters, sometimes in setting dataset datasource, sometimes calling print to printer, etc, but all these places are reltated crystal report object.
    A little background and more information:
    We have a master controller program trigger by Windows Scheduled Task, when processing a job, the controller program dynamically load assembly and create the specified class and then put into a new thread for execution. Code snippet:
            Try
        Dim batchJob As IBatch = BatchFactory.LoadBatch(aJob.AssemblyName, aJob.ClassName, p.AssemblyFullPath)
                Me.CurrentBatch = batchJob
                Dim t As Threading.Thread = New Threading.Thread(AddressOf batchJob.Run)
                Me.JobThread = t
                t.Start(p)
                t.Join()
            Catch ex As Threading.ThreadAbortException
                u2026
            Catch ex As Exception
                u2026
            End Try
    Even a job hit u201Cout of memoryu201D problem, the rest jobs that do not related to crystal report are still able to run successfully. So in this application domain, it proved that the memory is actually enough, but only crystal report engine will hit this error.
    Edited by: cocoman on Jul 29, 2010 4:58 AM

    reposting......................
    Using rpt As New CrystalDecisions.CrystalReports.Engine.ReportDocument()
                    rpt.FileName = "c:\ProdApps\LA DLL\report\TermAgentLetter" & letterType.ToString() & ".rpt"
                    ResetReportLogo(dsLogo.Tables(0), rpt)
                    rpt.SetDataSource(dsLogo)
                    ' set printer name
                    If Me.IsPRD Then
                        rpt.PrintOptions.PrinterName = Me.PrinterName
                    End If
                    For Each row As DataRow In dt.Rows
                        Me.CurrentProgressValue += 1
                        rpt.SetParameterValue("Addr1", row("Addr1"))
                        rpt.SetParameterValue("Addr2", row("Addr2"))
                        rpt.SetParameterValue("Addr3", row("Addr3"))
                        rpt.SetParameterValue("Addr4", row("Addr4"))
                        Dim newAgtName As String
                        If row("ContactAgentLastName") Is DBNull.Value OrElse row("ContactAgentFirstName") Is DBNull.Value _
                            OrElse String.IsNullOrEmpty(row("ContactAgentLastName").ToString().Trim()) _
                            OrElse String.IsNullOrEmpty(row("ContactAgentFirstName").ToString().Trim()) Then
                            newAgtName = row("NewAgentLastName").ToString().Trim() + " " + row("NewAgentFirstName").ToString().Trim()
                        Else
                            newAgtName = row("NewAgentLastName").ToString().Trim() + " " + row("NewAgentFirstName").ToString().Trim() _
                                    + " / " + row("ContactAgentLastName").ToString().Trim() + " " + row("ContactAgentFirstName").ToString().Trim()
                        End If
                        rpt.SetParameterValue("NewAgentName", newAgtName)
                        rpt.SetParameterValue("OwnerName", row("LastName").ToString().Trim() + " " + row("FirstName").ToString().Trim())
                        rpt.SetParameterValue("PolicyNo", row("camclq_policy_no"))
                        rpt.SetParameterValue("InsuredName", row("InsuredLastName").ToString().Trim() + " " + row("InsuredFirstName").ToString().Trim())
                        If row("camclq_Letter_type").ToString().Trim().Equals("2") Then
                            'letter 2
                            rpt.SetParameterValue("ResignDate", row("OldAgentResignDate"))
                            rpt.SetParameterValue("OldAgentName", row("OldAgentLastName").ToString().Trim() + " " + row("OldAgentFirstName").ToString().Trim())
                            If row("OldAgentNameChi") Is DBNull.Value OrElse String.IsNullOrEmpty(row("OldAgentNameChi").ToString().Trim()) Then
                                rpt.SetParameterValue("OldAgentNameChi", row("OldAgentLastName").ToString().Trim() + " " + row("OldAgentFirstName").ToString().Trim())
                            Else
                                rpt.SetParameterValue("OldAgentNameChi", row("OldAgentNameChi").ToString().Trim())
                            End If
                            rpt.SetParameterValue("NewAgentAddr", row("NewAgentAddr").ToString().Trim())
                            rpt.SetParameterValue("NewAgentTel", row("NewAgentTel").ToString().Trim())
                        Else
                            'letter 1
                            If row("NewAgentNameChi") Is DBNull.Value OrElse String.IsNullOrEmpty(row("NewAgentNameChi").ToString().Trim()) Then
                                rpt.SetParameterValue("NewAgentNameChi", row("NewAgentLastName").ToString().Trim() + " " + row("NewAgentFirstName").ToString().Trim())
                            Else
                                rpt.SetParameterValue("NewAgentNameChi", row("NewAgentNameChi").ToString().Trim())
                            End If
                        End If
                        rpt.PrintToPrinter(1, False, 0, 0)
                        'rpt.Close()
                        ''End Using
                        'rpt.Dispose()
                        'GC.Collect()
                    Next
                    rpt.Close()
                End Using
        'GC.Collect()
            Next   

Maybe you are looking for

  • Syntax Error in uploading a file

    I am trying to upload a text file having two columns in a client dependent ztable zvalordreasons. On saving a syntax being thrown that is "The work area "STRUCT1 is not long enough". Can somebody tell me what this error could be ?? REPORT  ZREASONUPL

  • PORTAL integration with BI both based NW7.3

    Hello, Anybody knows there is a template wizard for BI setup coniguration in PORTAL NW7.3 (similiar to template wizard in NW7.x)?? Bet Regards, Michal Sarna

  • Account constantly getting disabled

    Every 3 or 4 days, I get a message saying that my account has been disabled for security reasons and have to reset my password. Why does this keep happening? Is someone attempting to guess my password, causing the lockout? If someone is trying to acc

  • License trouble when replace cisco Prime 1.3 with version 2.1

    Hi, problem with license migration from PI1.3 to PI2.1. In my PI 1.3 system I do have 2 license files only AP lifecycle, no extra base license file. As I migrated to PI2.1 there is maybe a need for a base license, because the PI system now has a warn

  • How do I determine my firewire chip

    Hey! I need help finding out what kind of Firewire chip a have, help me?