Watch, Follow, &
Connect with Us
Public Report
Report From: Delphi-BCB/IDE/Memory Issues    [ Add a report in this area ]  
Report #:  46482   Status: Open
Serious memory leak in the code editor
Project:  Delphi Build #:  11.0.2627.5503
Version:    11.0 Submitted By:   Márton Balassa
Report Type:  Basic functionality failure Date Reported:  5/24/2007 4:04:46 AM
Severity:    Commonly encountered problem Last Updated: 3/20/2012 2:24:39 AM
Platform:    All versions Internal Tracking #:   251469
Resolution: None (Resolution Comments) Resolved in Build: : None
Duplicate of:  None
Voting and Rating
Overall Rating: (1 Total Rating)
4.00 out of 5
Total Votes: 22
Description
When editing large files (0.5M+), the IDE eats up all the available RAM and finally crashes with various Access Violations and OLE exceptions. This seems to be a basic implementation defect in the source editor. This stands even with the undo limit set to a small value (10 or lower), Error Insight turned off, and all automatic Code Insight features disabled.
Steps to Reproduce:
1) Open some large .pas file within a package.
2) Start editing.
3) After some time, you will find that the editor is slowing down.
4) In Windows Task Manger, you will see that bds.exe is using more and more memory.
5) Finally, BDS will crash with an AV or an OLE Catastrophic Failure.
Workarounds
Restart the IDE every once in a while...
Attachment
None
Comments

Márton Balassa at 5/25/2007 3:19:56 AM -
Getting ridiculous... I'm editing a 500k file and bds.exe's memory usage increases by 5M FOR EVERY SINGLE MODIFICATION I MAKE. If I had a guess, I'd say the parser used for code completion (see report #46555), structure parsing, etc. is completely messed up in D2007. Should be eighter a memory leak or some random error, it makes the IDE nearly unusable for sure. :(((

Márton Balassa at 5/29/2007 3:24:31 AM -
Further experimenting shows that memory usage (and leakage) grows with the number of classes in the file being edited.

Joe White at 5/30/2007 5:45:00 AM -
How large is "large"? Are we talking 1,000 lines, 10,000, 100,000, more? How many classes in the unit?

Márton Balassa at 5/31/2007 4:50:31 AM -
My case: 17,000 lines, over 100 classes.

Balazs Farkas at 5/31/2007 3:21:50 AM -
My IDE ate all (1GB) memory and hanged up after I moved all methods and fields from one class to it's descendant. Memory allocation was increased after every modification in the code editor. It seems that there is a memory leak in the parser if code contains uncompleted classes. File size: 120k; lines: 4k; classes: 13. I will try to create a simple test case.

Mark Griner at 6/4/2007 1:30:31 PM -
I have an appl in D2006...     46,000 lines / 1 class...   I am able to use the IDE for about five mins and then I have to close it and reopen...   The close/reopen process takes about twenty mins...   This is GARBAGE guys...

Márton Balassa at 6/4/2007 2:03:23 PM -
Wow, you win, man :) Slightly offtopic: please tell us at least the name of that 46,000 lines class! :)

Mark Griner at 10/26/2007 9:49:38 AM -
Actually, this is now running with 22 classes...   Just had to do it...   Could keep up with 46K lines anymore..    ;-)  And I have been using my posted work around.  Seems like the IDE now locks after three mins. of being loaded and working on code.  Sometimes on shut down, it takes up to ten mins to clear...

Just stopped in to check...   and????    nothing...   oh well...  

Mark Griner at 6/19/2007 12:44:59 PM -
I have found a work around...   There is no doubt in my mind that Borland/CodeGear will never fix this issue.  They just want us to keep buying and live with the crap they throw at us...

I use EditPad Pro as the editor or choice for the PAS and DFM files.  I use the F4 key to run the command line compiler.  Every once in awhile, I load up the D2006 IDE to make sure alls well.  But this seems to work...  

Craig Parker at 6/7/2007 11:14:07 PM -
I am having a similar problem with code of about 13000 lines.  I never noticed the 5MB per modification thing before but watching task manager, this is exactly what I am seeing.  I also have to restart delphi every 10 mins or so otherwise the system just comes to a grinding halt!

For info the system I am running has:
--> XP Professional with Service Pack 2
--> McAfee Antivirus
--> Borland Developer Studio 2006
--> Borland Developer Studio 2006 Update 2
--> Hotfix rollup of Hotfixes 1-10f (except 2)
--> Hotfix 12

Also, if it makes any difference the code I am having an issue with "Delphi for win 32" code that was originally from Deplhi 5 and just opened and compiled in Delphi 2006.

Any assistance/advice you could offer would be appreciated.

Thanks,
Craig.

Márton Balassa at 6/21/2007 9:10:37 AM -
Wow, our report is finally Opened :)

Mark Griner at 7/6/2007 11:58:19 AM -
Checking in just after July 4th...   WOW...  it's opened...   Next stop is???

CLOSED - Cannot reproduce...  

See ya next year!

Server Response from: ETNACODE01