The buffer overflow occurs after the __init__file.py has been re-created:
1:40:02 PM XSI.exe:3836 QUERY INFORMATION
C:\Python25\lib\site-packages\win32com\gen_py\__init__.py SUCCESS
Attributes: A
1:40:02 PM XSI.exe:3836 OPEN
C:\Python25\lib\site-packages\win32com\gen_py\269C4D8C-E32D-11D3-811D-00A0C9AC19A9x0x1x0.py
NOT FOUND Options: Open Access: 00010080
1:40:02 PM XSI.exe:3836 OPEN
C:\Python25\lib\site-packages\win32com\gen_py\269C4D8C-E32D-11D3-811D-00A0C9AC19A9x0x1x0.pyc
NOT FOUND Options: Open Access: 00010080
1:40:02 PM XSI.exe:3836 OPEN
C:\Python25\lib\site-packages\win32com\gen_py\269C4D8C-E32D-11D3-811D-00A0C9AC19A9x0x1x0.pyo
NOT FOUND Options: Open Access: 00010080
1:40:02 PM XSI.exe:3836 CREATE
C:\Python25\lib\site-packages\win32com\gen_py\269C4D8C-E32D-11D3-811D-00A0C9AC19A9x0x1x0\__init__.py
SUCCESS Options: OverwriteIf Access: 00120196
1:40:02 PM XSI.exe:3836 QUERY INFORMATION
C:\Python25\lib\site-packages\win32com\gen_py\269C4D8C-E32D-11D3-811D-00A0C9AC19A9x0x1x0\__init__.py
SUCCESS FileFsVolumeInformation
1:40:02 PM XSI.exe:3836 QUERY INFORMATION
C:\Python25\lib\site-packages\win32com\gen_py\269C4D8C-E32D-11D3-811D-00A0C9AC19A9x0x1x0\__init__.py
BUFFER OVERFLOW FileAllInformation
1:40:03 PM XSI.exe:3836 WRITE
C:\Python25\lib\site-packages\win32com\gen_py\269C4D8C-E32D-11D3-811D-00A0C9AC19A9x0x1x0\__init__.py
SUCCESS Offset: 0 Length: 1024
1:40:03 PM XSI.exe:3836 WRITE
C:\Python25\lib\site-packages\win32com\gen_py\269C4D8C-E32D-11D3-811D-00A0C9AC19A9x0x1x0\__init__.py
SUCCESS Offset: 1024 Length: 1024
1:40:03 PM XSI.exe:3836 WRITE
C:\Python25\lib\site-packages\win32com\gen_py\269C4D8C-E32D-11D3-811D-00A0C9AC19A9x0x1x0\__init__.py
SUCCESS Offset: 2048 Length: 1024
For some reasons, pywin recreates it if
269C4D8C-E32D-11D3-811D-00A0C9AC19A9x0x1x0.py doesn't exist. This also happens
for other typelibs added to the python engine.
-mab
-----Original Message-----
From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Thomas Heller
Sent: May 30, 2007 12:08 PM
To: [email protected]
Subject: Re: [python-win32] Win32 COM cache problem
Marc-André Belzile schrieb:
> I dig a bit more and it appears that the python win32 com module requires all
> target typelibs to be in the app current directory. Otherwise the cache is
> systematically re-generated anytime a new scripting engine is created.
>
> Am I doing something wrong ? Thanks in advance...
>
> -mab
>
> -----Original Message-----
> From: [EMAIL PROTECTED]
> [mailto:[EMAIL PROTECTED] On Behalf Of Marc-André
> Belzile
> Sent: May 28, 2007 6:28 PM
> To: [email protected]
> Subject: [python-win32] Win32 COM cache problem
>
> Hi,
>
> My win32 app is hosting python 2.5 via the scripting ActiveX object.
> Everything works perfectly but the win32 COM cache behaves strangely if the
> app current folder (e.g. c:\temp) is different than the application path
> (e.g. c:\bin\MyApp). At some point when the app needs to create a new python
> scripting engine, the whole cache gets re-created from scratch which makes
> things pretty slow. This will not happen if the app is executed from it's
> normal application folder.
>
> Is there anything I can do to avoid this problem other than running the app
> from its normal application folder ?
>
> Below is an excerpt of a filemon log that shows the cache generation.
>
> Thanks for your help.
>
> -mab
>
> 5:47:26 PM XSI.exe:4964 OPEN
> C:\Python25\lib\site-packages\win32com\gen_py\269C4D8C-E32D-11D3-811D-
> 00A0C9AC19A9x0x1x0.py NOT FOUND Options: Open Access: 00010080
> 5:47:26 PM XSI.exe:4964 OPEN
> C:\Python25\lib\site-packages\win32com\gen_py\269C4D8C-E32D-11D3-811D-
> 00A0C9AC19A9x0x1x0.pyc NOT FOUND Options: Open Access: 00010080
> 5:47:26 PM XSI.exe:4964 OPEN
> C:\Python25\lib\site-packages\win32com\gen_py\269C4D8C-E32D-11D3-811D-
> 00A0C9AC19A9x0x1x0.pyo NOT FOUND Options: Open Access: 00010080
> 5:47:26 PM XSI.exe:4964 CREATE
> C:\Python25\lib\site-packages\win32com\gen_py\269C4D8C-E32D-11D3-811D-
> 00A0C9AC19A9x0x1x0\__init__.py SUCCESS Options: OverwriteIf Access:
> 00120196
> 5:47:26 PM XSI.exe:4964 QUERY INFORMATION
> C:\Python25\lib\site-packages\win32com\gen_py\269C4D8C-E32D-11D3-811D-
> 00A0C9AC19A9x0x1x0\__init__.py SUCCESS FileFsVolumeInformation
> 5:47:26 PM XSI.exe:4964 QUERY INFORMATION
> C:\Python25\lib\site-packages\win32com\gen_py\269C4D8C-E32D-11D3-811D-
> 00A0C9AC19A9x0x1x0\__init__.py BUFFER OVERFLOW FileAllInformation
^^^^^^^^^^^^^^^ Have you investigated why the above call fails? To me this
looks like pywin cannot determine something about the file, and then recreates
it just in case...
Thomas
_______________________________________________
Python-win32 mailing list
[email protected]
http://mail.python.org/mailman/listinfo/python-win32
_______________________________________________
Python-win32 mailing list
[email protected]
http://mail.python.org/mailman/listinfo/python-win32