Replace from cursor

John,

Thanks for finally fixing this!!!

image

It has bugged me forever, but I have been too lazy to tell you about it!

1 Like

Someone else brought it to my attention. I didn't realize it was a problem until last week. I would have fixed it sooner had I known about it. :slight_smile:

Is anything else bugging you?

One thing that just came to mind...

TOAD used to be really unstable after creating about 10 connections. If you created more, you were skating on thin ice. TOAD would eventually lockup/crash. I put in a ticket for it way back then and the response was that the testers didn't have that many DB's to connect to, to test that scenario.

Since then, I still generally try to not open any more than 10 connections in a single TOAD instance, I instead open a new TOAD instance if I need more.

I don't necessarily plan to start opening more than 10 connections per TOAD, because I would then have to scroll around to go back and forth between connections.

But, is it still the case where TOAD will/might get unstable with high(er) numbers of connections?

I believe I asked you about this not too long ago, but I forget when it was.

Thanks!
Chris

You were supposed to come back with something easy. :joy:

the response was that the testers didn't have that many DB's to connect to

what a lame excuse! I hope that wasn't me.

I don't really have a straight answer for you, but when you have that many connections open, you probably have a bunch of windows open too. I think that's where the real problem is. At that point there is a lot going on in Toad at the same time, and I think it just gets easier and easier for something to go wrong, or at least get bogged down.

I'd like to think that this has improved as we've fixed the bugs that are easier to identify, but I haven't done anything specific to making Toad work better with a lot of connections/windows open at once.

John,

Just to let you know, I ran into issues with the latest beta yesterday with ~13-14 connections open. So this IS still an issue. I ultimately received a "ran out of system resources" or something like that error message, and then ultimately TOAD crashed totally. I'm guessing that resource is something other than memory? Because my system has 32G of ram and it rarely, if ever shows more than 16G actually used. So it seems like it would have to be file handles or window resources (making crap up now), or something else.

Anyway, just thought you would want to know. I don't know if there is a solution for this. But if there is some way TOAD could warn you before you get to the limit, that would be nice. In some cases, I can get the error dialog to go away and save my workspace, but the last time, it was totally stuck and I couldn't save before it crashed.

Otherwise, the latest beta is looking really good!

Chris

Thanks Chris.

One limiting factor is GDI Objects (Look in Task Manager -> Details. You have to add this column to see it).

Windows limits each app to 10,000 if I remember correctly.

So, as you open more and more windows in Toad, these get used. Close a window and they should be released. That "system resources" message appears if you get to the limit.

As far as I know it cannot be increased.

Not a bad idea to monitor it and warn users if they are approaching the limit We have something like that for memory, which goes back to 32 bit days. It's not really an issue anymore for most ppl.

-John

John,

Thanks for this. Sorry, just now saw it. I had recently added a rule for external email and hadn’t been looking in the folder. :frowning:

Anyway, after a quick search, it seems like GDI objects can be increased to 65535, via the registry.

My current TOAD session is at 8962 GDI objects, so hitting 10,000 seems very likely. I’ll have to play around with opening new tabs and connections to see how quickly this goes up.

Is GDI legacy Windows component? I also see this from my search:

“GDI is a legacy component of Microsoft Windows that represents graphical objects and sends them to output devices like printers and monitors.”

Is it possible for TOAD to NOT use these? It also appears that there can be GDI object “leaks,” like a memory leak. Does almost 9K of them seem reasonable for 10 connections and maybe ~80-100 tabs?

I’ll try increasing the limit also and see if that gives me more headroom before seeing instability.

Thanks again!

Chris

Hi Chris.

There's nothing legacy about it that I know. Every windows program with a GUI uses them. It is not possible to not use them. It's not about connections, it's about opened windows (editors, SB, etc)

I have searched our code for GDI leaks in the past and fixed some. There aren't any that I know of.

I’ll try increasing the limit also and see if that gives me more headroom before seeing instability.

If you do, please post steps on increasing the limit and let us know how that went. I think I've seen steps to do that before but with warnings that it was not advisable (admittedly it's been a while and I may be remembering this wrong).

-John

Once we start betas again, we'll have a system in place that will check GDI and User object usage each time a window opens. If you get close to the limit, a dialog will appear to tell you what's going on.

It will give you an option to increase the limit, but if you aren't running Toad as an administrator, the option won't work. In that case you'll get instructions on how you can change the registry yourself.

Thanks, John!! That will be VERY helpful!!

I have also found a way to make the Editor use fewer GDI objects (unless/until you open and click on every dock panel....data grid, script output, breakpoints, etc)