[python-win32] pythoncom/win32com hangs

Richard Bell rbell01824 at earthlink.net
Sat Aug 11 00:33:16 CEST 2007


I've been working on a class and module to automate IE.  All seemed to be
working including several hundred test, so I decided to stress test by
visiting a large number of pages (400 plus) for several hours to see if the
code was stable in the face of repeated use.

After roughly 40 minutes of operation IE and my Python application hang when
visiting a particular URL.  The symptoms are that IE is unresponsive and
task manager must be used to kill it.  Python is non-responsive to ^c until
after IE is killed.  But, here's one of the kickers, when the offending URL
is also placed earlier in the list of test URLs there are no problems (until
the later copy is encountered 40 minutes into the test at which time things
hang).

The problem occurs when accessing an IE attribute, in particular ie.Busy.
Curiously, the attribute HAS BEEN ACCESSED many times while accessing the
offending URL (ie.Busy is being checked as part of a method to determine if
the page is fully loaded, so the protocol is to start the navigation, then
check ie.Busy every 250ms, when IE goes not busy other checks are
performed).  

I'm suspicious that IE is hung for its own reasons but it also appears that
Python is hung probably somewhere inside win32com or some C code, but I'm
not really sure.

On a positive note, the problem is reliably reproducible (but it takes about
40 minutes to do so).

I'm completely at a loss as to how to proceed to isolate the problem.  I've
read something about a debug mode for com but don't really know how to
proceed.  Can anyone provide any insight/guidance/ideas?

Regards,
Richard






More information about the python-win32 mailing list