Board index » delphi » Out of Memory error in ISAPI applications

Out of Memory error in ISAPI applications


2004-11-22 08:22:31 PM
delphi90
Hi All,
I Have a project running in a WebServer with the following cofiguration:
# WEB SERVER
P4 1GB RAM
Win2000
Apache 1.3.29
# DATABASE
DELL XEON 4G RAM
Fedora Core 2
Firebird 1.5.1
#PROGRAMING With
Delphi 5-7
The Problem: Some DLL (ISAPI) executes per at least 30/40 minutes and
after that they start to return the error "Out Of Memory".
The interesting one is that some actions inside of this same DLL still
persist functioning. This problem was critical in the last days, the
interesting one is that this occurred before but with well little
frequency.
Some idea?
thanks
 
 

Re:Out of Memory error in ISAPI applications

What memory manager are you using?
When did this become more frequent? What changed?
 

Re:Out of Memory error in ISAPI applications

Marco Sella writes:
Quote
What memory manager are you using?
R-CAIO, None. ???
Quote
When did this become more frequent? What changed?

R-CAIO, It is the problem, come back the version and the problem
persists. But another change, we increase the number of the users (+15).
 

Re:Out of Memory error in ISAPI applications

Roll back to the old version and old number of users and see if the problem
goes away. If it doesn't, then something changed in the machine - new
software / new hardware / new drivers, etc.
Search this group archives, look for memory managers, this might solve your
problem.
 

Re:Out of Memory error in ISAPI applications

Check these two - looks liek Nexus has got the goods on memory management:
groups.google.com/groups&lr=&threadm=40a76869%241%40newsgroups.borland.com&rnum=2&prev=/groups%3Fq%3Ddelphi%2Bisapi%2Bmemory%2Bmanager%26hl%3Den
groups.google.com/groups&lr=&selm=40965bcd%40newsgroups.borland.com&rnum=10
Come back and let us know how you did.
 

Re:Out of Memory error in ISAPI applications

I have a very busy ISAPI (Delphi 5, Webbroker) and have been using the Nexus
memory manager (V1.02) for a while, solved my out of memory problems.
I also use MemProof to look for any memory leaks.
I hope this helps,
Paul C.
"Marco Sella" <XXXX@XXXXX.COM>writes
Quote
Check these two - looks liek Nexus has got the goods on memory management:

groups.google.com/groups&lr=&threadm=40a76869%241%40newsgroups.borland.com&rnum=2&prev=/groups%3Fq%3Ddelphi%2Bisapi%2Bmemory%2Bmanager%26hl%3Den


groups.google.com/groups&lr=&selm=40965bcd%40newsgroups.borland.com&rnum=10

Come back and let us know how you did.


 

Re:Out of Memory error in ISAPI applications

Hey Paul, do you use any exception logging with your isapi application? I am
curious what works well with Nexus.
 

Re:Out of Memory error in ISAPI applications

Marco Sella writes:
Quote
Hey Paul, do you use any exception logging with your isapi application? I am
curious what works well with Nexus.


I also have interest. If possible an example.
thanks all
 

Re:Out of Memory error in ISAPI applications

We use NexusMM 2 with madExcept and it works great!
Mark
"Caio Oliveira" <XXXX@XXXXX.COM>writes
Quote
Marco Sella writes:
>Hey Paul, do you use any exception logging with your isapi application? I
>am
>curious what works well with Nexus.
>
>

I also have interest. If possible an example.

thanks all
 

Re:Out of Memory error in ISAPI applications

Mark,
1. How easy was it to integrate MadExcept into your ISAPI application?
2. Does MadExcept catch *all* exceptions, or are there some that it doesn't
or can not handle?
3. Did MadExcept help you catch exceptions in your ISAPI app that you would
not have discovered otherwise?
Thanks.
 

Re:Out of Memory error in ISAPI applications

Marko,
1) Integrating madExcept in our applications was very simple. We use it in
all of our client and server applications. In addition, we use some of its
features to customize what exceptions should be logged based on their type.
We prefer not to log our custom exceptions that we raise to inform the user
of problems based on their use of the application. What we want madExcept
to do is handle those situations that we did not anticipate, or where
environmental problems cause an exception, or to report a possible bug to
us. In addtion, we create daily log files so that we can track any errors
based on usage and traffic patterns.
2) madExcept will catch all exceptions regardless of their source. You can
alter this behavior to handle some exceptions yourself and let madExcept
handle the rest. It is very flexible to implement as little or as much of
its behavior depending on your needs. You can work with it in code or in
the IDE which makes it a very easy tool to work with, without sacrificing
its flexibility and power.
3) Yes, as a matter of fact, it did. I inherited a very interesting
non-visual ISAPI (like a Web service) application that had been in
development for a while by another developer. He had left the project but
left a lot of general purpose library code along with the ISAPI application.
The ISAPI application would occassionally have strange access vialations
raised when traffic was heavy, but we could not track down the problem in
and reproduceable manner. Then I read a review of madExcept in Issue #89
(January 2003) by Dave Jewell. We got a copy of it and were able to track
down a very interesting garbage pointer problem that would occur in certain
instances on the Web server. It was a life saver. Since then, madExcept
has been integrated in all of our applications.
Finally, I had the pleasure of working with the developer of madExcept on
the ISAPI implementation. We wanted to use madExcept in our brower based
ISAPI applications to enable the user to have a robust exception handling
experience similar to that available with madExcept in a client Windows
application. Once we outlined what we wanted and wrote an example ISAPI
application for him to use during testing, he was able to exceed our
requirements. Now that functionality is a part of the shipping madExcept
product and we are very pleased with it and so are our users.
Mark
"Marco Sella" <XXXX@XXXXX.COM>writes
Quote
Mark,

1. How easy was it to integrate MadExcept into your ISAPI application?
2. Does MadExcept catch *all* exceptions, or are there some that it
doesn't
or can not handle?
3. Did MadExcept help you catch exceptions in your ISAPI app that you
would
not have discovered otherwise?

Thanks.


 

Re:Out of Memory error in ISAPI applications

Hey Mark, thanks for taking the time to give us some feedback. Looks like
MadExcept is the product we've been looking for.
 

Re:Out of Memory error in ISAPI applications

Marco,
If you have any questions about its use, let me know.
Mark
"Marco Sella" <XXXX@XXXXX.COM>writes
Quote
Hey Mark, thanks for taking the time to give us some feedback. Looks like
MadExcept is the product we've been looking for.