Re: IDL 8.1 Crashes on Windows [message #77841] |
Tue, 04 October 2011 08:17 |
greg.addr
Messages: 160 Registered: May 2007
|
Senior Member |
|
|
Ok, I got up to 10,000 GDI objects, and it crashed right on time! Not so badly that I had to reboot - I could still kill the process. I'm not too keen even to try increasing the limit - at best that's only going to dilute the problem a few times.
I've just checked the same procedure in 7.1... unfortunately, I see the same effect there, except that the GDI count increases at about 1/3rd of the rate. That's odd, because I've often left the same session open for weeks at a time, and haven't seen crashes like with 8. Makes me wonder if this is the only problem. Maybe that's why they don't release the patch (I'm also annoyed about not being able to use 8, but not nearly so much as I would be if I paid the maintenance myself!).
Alain - please don't wish the old IDE back... even hourly reboots would begin to seem bearable.
Greg
|
|
|
Re: IDL 8.1 Crashes on Windows [message #77842 is a reply to message #77841] |
Tue, 04 October 2011 07:49  |
lecacheux.alain
Messages: 325 Registered: January 2008
|
Senior Member |
|
|
On 4 oct, 16:06, greg.a...@googlemail.com wrote:
> That's good news! Might be some hope that 8.2 will be ok then!
>
> I'd confirm what Alain says, too - that the crashes occur most often when debugging. Can also confirm that if you set a breakpoint, run a program to that point, and enter ".res", the GDI Object count only ever increases. I'm on my way to pushing it to 10,000 now, but I'm going to send this before I have to - unexpectedly - reboot my machine.
>
> cheers,
> Greg
Increasing the GDI objects limit might not be without any
inconvenience. Yesterday, I increased it to 20000 on a XP64
workstation: since then, I am no longer able to connect with Terminal
Server...
The reason is likely because the entire GDI pool is globally limited
to 65536 objects, so that 10000 cannot, practically, be exceeded by
any single process.
I am afraid that this "GDI inflation" might be a singularity of the
Windows version of Eclipse: if true, leaving the 6.4 IDE for Eclipse
might have been a very bad choice for IDL on Windows!
Alain.
|
|
|
Re: IDL 8.1 Crashes on Windows [message #77843 is a reply to message #77842] |
Tue, 04 October 2011 07:11  |
David Fanning
Messages: 11724 Registered: August 2001
|
Senior Member |
|
|
greg.addr@googlemail.com writes:
> That's good news! Might be some hope that 8.2 will be ok then!
I suppose it is good news. But ITTVIS has known about
this problem and had a fix to it since late April at
least. Where has the help been!?
I'm inclined to think I deserve a working copy of
IDL from my LAST maintenance update.
Cheers,
David
--
David Fanning, Ph.D.
Fanning Software Consulting, Inc.
Coyote's Guide to IDL Programming: http://www.idlcoyote.com/
Sepore ma de ni thui. ("Perhaps thou speakest truth.")
|
|
|
Re: IDL 8.1 Crashes on Windows [message #77844 is a reply to message #77843] |
Tue, 04 October 2011 07:06  |
greg.addr
Messages: 160 Registered: May 2007
|
Senior Member |
|
|
That's good news! Might be some hope that 8.2 will be ok then!
I'd confirm what Alain says, too - that the crashes occur most often when debugging. Can also confirm that if you set a breakpoint, run a program to that point, and enter ".res", the GDI Object count only ever increases. I'm on my way to pushing it to 10,000 now, but I'm going to send this before I have to - unexpectedly - reboot my machine.
cheers,
Greg
|
|
|
Re: IDL 8.1 Crashes on Windows [message #77847 is a reply to message #77844] |
Mon, 03 October 2011 11:39  |
David Fanning
Messages: 11724 Registered: August 2001
|
Senior Member |
|
|
David Fanning writes:
> I have received an unconfirmed report that one possible
> source of IDL 8.1 crashes on Windows computers may be
> an inadvertent leak of GDI objects. These Graphics
> Device Interface objects are responsible for much
> of the menu and graphics drawing on the computer.
> And it is apparently quite easy to make an inadvertent
> mistake when cleaning these objects up.
>
> http://msdn.microsoft.com/en-us/magazine/cc301756.aspx
>
> Windows computers apparently only allow 10,000 of these
> objects. If you have more, the machine crashes in a very
> hard way, so that the only recourse is to hit the panic
> button. You can keep track of how many of these GDI objects
> are in use at any particular time with the Task Manager.
> (Go to the View->Select Columns menu item and select the
> GDI object selection.)
More sleuthing by Dick Jackson has turned up a couple
more useful links:
******************
A Google search for [eclipse windows gdi] led me to:
http://www.robertwloch.net/2011/08/10000-gdi-objects-ought-t o-be-enough-
for-anybody/
... and the registry key you can set to up this failure threshold from
10,000 to 65,536:
http://msdn.microsoft.com/en-us/library/ms724291%28v=vs.85%2 9.aspx
*****************
As I understand it, not all Windows machines can be configured
like this, so your mileage may vary. I still think the
non-public patch might be the way to go, but I have heard
nothing from ITTVIS on this topic. :-(
Cheers,
David
--
David Fanning, Ph.D.
Fanning Software Consulting, Inc.
Coyote's Guide to IDL Programming: http://www.idlcoyote.com/
Sepore ma de ni thui. ("Perhaps thou speakest truth.")
|
|
|
Re: IDL 8.1 Crashes on Windows [message #77855 is a reply to message #77847] |
Sun, 02 October 2011 07:43  |
David Fanning
Messages: 11724 Registered: August 2001
|
Senior Member |
|
|
alx writes:
> While impatiently waiting for a fix by ITTVIS, I would appreciate to
> get the patch you told about.
I think you are going to have to get the patch directly
from ITTVIS in Boulder. If you have any difficulty with
this, I can provide more details, but I would prefer to
do it privately. Senior technical support engineers in
Boulder will be familiar with the problem.
Cheers,
David
--
David Fanning, Ph.D.
Fanning Software Consulting, Inc.
Coyote's Guide to IDL Programming: http://www.idlcoyote.com/
Sepore ma de ni thui. ("Perhaps thou speakest truth.")
|
|
|
Re: IDL 8.1 Crashes on Windows [message #77856 is a reply to message #77855] |
Sun, 02 October 2011 01:49  |
lecacheux.alain
Messages: 325 Registered: January 2008
|
Senior Member |
|
|
On 30 sep, 21:13, David Fanning <n...@dfanning.com> wrote:
> Folks,
>
> I have received an unconfirmed report that one possible
> source of IDL 8.1 crashes on Windows computers may be
> an inadvertent leak of GDI objects. These Graphics
> Device Interface objects are responsible for much
> of the menu and graphics drawing on the computer.
> And it is apparently quite easy to make an inadvertent
> mistake when cleaning these objects up.
>
> http://msdn.microsoft.com/en-us/magazine/cc301756.aspx
>
> Windows computers apparently only allow 10,000 of these
> objects. If you have more, the machine crashes in a very
> hard way, so that the only recourse is to hit the panic
> button. You can keep track of how many of these GDI objects
> are in use at any particular time with the Task Manager.
> (Go to the View->Select Columns menu item and select the
> GDI object selection.)
>
> I am told there is patch file available that apparently
> solves the problem.
>
> Cheers,
>
> David
> --
> David Fanning, Ph.D.
> Fanning Software Consulting, Inc.
> Coyote's Guide to IDL Programming:http://www.idlcoyote.com/
> Sepore ma de ni thui. ("Perhaps thou speakest truth.")
Bravo David !
I could check that the sudden IDL crashes I described in previous
threads (with complete mess in desktop window management) seems indeed
to be due to "the number of GDI objects exceeding the 10000 limit".
This behavior is well known, for example, as occuring when using some
old, bugged versions of Outlook. I should have done the relation by
myself !
Yesterday evening, just after loading IDL 8.1 (on one of my XP 64
machines), this number was about 250 (comparable to that for IDL 6.4
and its native IDE). During the subsequent interactive work, the
number was growing regularly and never decreases. Looking at the
magnitude of increasing steps, I feel that graphical work (opening and
closing graphic windows, plotting curves, drawing images, etc...) is
not the main culprit: editing (inside Eclipse), and especially
debugging, was clearly creating a large number of "GDI objects" which
never returned to the pool. When the number was reaching 9999, (that
is about two hours after having started IDL), the crash did occur...
While impatiently waiting for a fix by ITTVIS, I would appreciate to
get the patch you told about.
Cheers,
alain.
|
|
|