ODBC Error Code = S1001 (Memory alocation error)

Our group has had this error code kill our Coldfusion server many times now.  At first we thought it was a specific application and so I rewrote the app in PL/SQL to bypass the CF server, but then the error started occuring with seemingly random applications of all flavors.  Our IT department replaced the server box with another box that has 4Gigs of memory and we thought the issue was resolved until it cropped up again.
I've read that locking down session and application variables as well as fine-tuning queries to pass as little info as possible will help but this has done nothing to prevent the problem from continuing.  Is anyone aware of why this issue might occur and what the remedy is?

Here's some detail of our environment:
We have CF Server 5.0 running on NT 5.0 Service Pack 3 OS Build 2195.
Application variables time out in 2days (default and maximum)
Session variable time out in 4 hours (default and maximum)
kipmaddenAsked:
Who is Participating?
I wear a lot of hats...

"The solutions and answers provided on Experts Exchange have been extremely helpful to me over the last few years. I wear a lot of hats - Developer, Database Administrator, Help Desk, etc., so I know a lot of things but not a lot about one thing. Experts Exchange gives me answers from people who do know a lot about one thing, in a easy to use platform." -Todd S.

PE_CF_DEVCommented:
Are any of the applications using Access or are they using SQL server?

Is the error originating from ColdFusion? Becuase an ODBC error code ussually means the Database is throwing the errior not ColdFusion, coldfusion just reports it. Check your datasources in ColdFusion look at advanced settings.

I would reccomend making sure Maintain connections across client requests is NOT checked.
0
PE_CF_DEVCommented:
Oh and in ColdFusion 5 it is VERY important to make sure you lock your application and session variables aside from performance boosts if you don't lock them you are open to get race conditions and the valuescould become inaccurate.
0
kjuliffCommented:
How do you "lock" session variables and how does this boost performance?
0
Upgrade your Question Security!

Your question, your audience. Choose who sees your identity—and your question—with question security.

PE_CF_DEVCommented:
This should give you the information you are after:

http://livedocs.macromedia.com/coldfusion/5.0/CFML_Reference/Tags57.htm

The baisc idea in performance is not so much that it will increase the speed of your application, infact inproper use of locks will decrease your overall speed of execution. They do help with performance as far as efficient memory usage and accurate information.

Also I did some research on the error code at question. It might be hardware related, like your hard drive space? Maybe check and see what your virtual memory usage is at.
0

Experts Exchange Solution brought to you by

Your issues matter to us.

Facing a tech roadblock? Get the help and guidance you need from experienced professionals who care. Ask your question anytime, anywhere, with no hassle.

Start your 7-day free trial
kipmaddenAuthor Commented:
No applications are using Access or SQL server, everything is using Oracle 8.1.7.1 with ODBC 8.1.7.8 or Oracle 9.2.0.1 with ODBC 8.1.7.8.
Maintain connections across client requests IS checked.  
By unchecking this won't performance be hit significantly?
Does unchecking this force CF to create a new DB connection each time a CFQUERY is run?  
That is the reason I gave up using PERL with the DBI - creating a new DB connection each time I had to do a query killed the application speed.

0
PE_CF_DEVCommented:
oh duh PL/SQL... should of known you were using oracle...

From macromedia's help:
"ColdFusion establishes a connection to a data source for every operation that requires one. Select this option [maintain connections] to improve performance by caching the data source connection."

I would be willing to bet this is the cuase for the error. Most of the time you see this error with Access b/c it has memory leaks out the wahzoo. If you have a whole heap load of connections to oracle though you may see the same type of errors.
If you limit the ammount of connections that can be made to the DB that might keep the error from coming up. I have always looked at maintian connections as a fall back to a problem not a solution to the problem, the true solution should be limiting the number of times you are connecting to a database or use stored procedures.
0
anandkpCommented:
Hi,
Is there a possibility of some query - which is taking too much time to execute or putting too much load on the server & causing it to throw the error.

try & see if u can find out from the log to know which pages are slow & are taking too much time to execute.

identify them & chk the queries / procedures called on that page - get them tuned & things shld be resolved.

thats from my personal experience ...
HTH

let me know ...

K'Rgds
Anand
0
kipmaddenAuthor Commented:
After reading more on the topic and using the CF Administrator to set the "Full Checking" of cflocks it was discovered that several SESSION scope variables were not locked properly.  Since it is very difficult to reproduce the problem I'll have to assume that this was the issue.

Unchecking the "Maintain Connections" however slows the performance down so much that I'd rather have the server run fast and die once a week from a memory allocation error than have it be constantly crawling along.  Also I'm not quite sure how to "check" virtual memory usage since you allocate the virtual memory and there doesn't seem to be a way to find out how much is actually being used.

Thanks for the help!
0
It's more than this solution.Get answers and train to solve all your tech problems - anytime, anywhere.Try it for free Edge Out The Competitionfor your dream job with proven skills and certifications.Get started today Stand Outas the employee with proven skills.Start learning today for free Move Your Career Forwardwith certification training in the latest technologies.Start your trial today
Web Servers

From novice to tech pro — start learning today.

Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.