I'm not sure what else you should include. I think I have enough to go on now that I can reproduce it, but perhaps confirmation that what you're seeing matches what I'm seeing would be helpful. I'm hoping this is a single, nasty bug and not multiple.
I have Handles set to display in PE and it always displays less than the 10,000 cap when I hit the error; however, there's another useful utility,
GDIView. It's standalone and can be run after Toad crashes provided that Toad is still present in some fashion. There are columns for All GDI and GDI Total.
Nirsoft has this to say about the two...
" The
'GDI Total' column (a new column added on v1.05) displays the total number of all GDI handles found in the GDI table for the specified process. This means that 'GDI Total' column display the sum of the following columns: Pen, ExtPen, Brush, Bitmap, Font, Palette,
Region, DC, Metafile DC, Enhanced Metafile DC, and Other GDI.
The
'All GDI' value is taken from Windows API call (GetGuiResources), and it usually contains a value larger than 'GDI Total', probably because it also counts some internal kernel GDI objects that are not included in the GDI objects table of the process."
The GDI Total column shows handle counts that more closely match what PE displays, but without fail when Toad crashed for me the All GDI was sitting on 10,000 exactly every time through repeated tests. When I
increased the 10,000 per-process limit to 65,536 I was able to load 512 files without crashing and GDIView was reporting ~12-14K handles. I'd be really curious to know what you're sitting at when it crashes to see if there's a common problem here.
If you get a Toad.el file generated the following lines in the call stack have been present in all of the logs I've received from users and in testing.
"Canvas does not allow drawing" exception
|7FFFFFFE|04 |0000000000000000|00000000043D198D|Toad.exe |000000000024198D|Vcl.Graphics |TCanvas |RequiredState |4191[8] |
|00000040|04 |000000000042ADB8|00000000043D1810|Toad.exe |0000000000241810|Vcl.Graphics |TCanvas |GetHandle |4141[2] |
"The parameter is incorrect" exception
|7FFFFFFE|04 |0000000000000000|00000000043D22AC|Toad.exe |00000000002422AC|Vcl.Graphics | |GDIError |4349[10] |
|00000040|03 |0000000000429C78|000007FEFD959407|KERNELBASE.dll|0000000000009407|KERNELBASE | |RaiseException | |
Thanks,
Michael
On 02/05/2015 04:25 PM, Rich J. wrote:
RE: Editor - another Toad lock-up
Reply by Rich J.
Hey Michael,
I've snapped a shot of my Toad process and its handles (using Sysinternals' ProcessExplorer). If it happens again, I'll snap another for comparison.
I think I also got an "out of memory" at some point, and my first thought is that with 16GB of RAM on a 64-bit OS, that shouldn't be happening. I was busy at the time and didn't check things like free System PTEs (I need to lookup again how to do that),
but I'll see about adding in things like that next time.
Any other info I should include? I may have to sanitize my elf, if needed, for legal reasons...
Lemme know!
Rich
To reply, please reply-all to this email.
Stop receiving emails on this subject.
Or
Unsubscribe from Toad for Oracle - Beta notifications altogether.
Toad for Oracle - Beta Discussion Forum
Flag
this post as spam/abuse.