igraph-help
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [igraph] Building igraph 0.6 rev 1601 with msvc9


From: Chris Wj
Subject: Re: [igraph] Building igraph 0.6 rev 1601 with msvc9
Date: Tue, 4 Aug 2009 08:56:00 -0400

I tailored the system path some more and I think your original thought about loading an alternate dll was right Tamas. I found a dll trace with path information and it pointed to the libxml2.dll from the Graphviz folder!

Check it out:
'python.exe': Loaded 'C:\Python26\python.exe'
'python.exe': Loaded 'C:\Windows\System32\ntdll.dll'
'python.exe': Loaded 'C:\Windows\System32\kernel32.dll'
'python.exe': Loaded 'C:\Windows\System32\python26.dll'
'python.exe': Loaded 'C:\Windows\System32\user32.dll'
'python.exe': Loaded 'C:\Windows\System32\gdi32.dll'
'python.exe': Loaded 'C:\Windows\System32\advapi32.dll'
'python.exe': Loaded 'C:\Windows\System32\rpcrt4.dll'
'python.exe': Loaded 'C:\Windows\System32\shell32.dll'
'python.exe': Loaded 'C:\Windows\System32\msvcrt.dll'
'python.exe': Loaded 'C:\Windows\System32\shlwapi.dll'
'python.exe': Loaded 'C:\Windows\winsxs\x86_microsoft.vc90.crt_1fc8b3b9a1e18e3b_9.0.30729.1_none_e163563597edeada\msvcr90.dll'
'python.exe': Loaded 'C:\Windows\System32\imm32.dll'
'python.exe': Loaded 'C:\Windows\System32\msctf.dll'
'python.exe': Loaded 'C:\Windows\System32\lpk.dll'
'python.exe': Loaded 'C:\Windows\System32\usp10.dll'
'python.exe': Loaded 'C:\Windows\winsxs\x86_microsoft.windows.common-controls_6595b64144ccf1df_6.0.6002.18005_none_5cb72f96088b0de0\comctl32.dll'
'python.exe': Loaded 'C:\Python26\DLLs\_socket.pyd'
'python.exe': Loaded 'C:\Windows\System32\ws2_32.dll'
'python.exe': Loaded 'C:\Windows\System32\nsi.dll'
'python.exe': Loaded 'C:\Python26\DLLs\_ssl.pyd'
'python.exe': Loaded 'C:\Windows\System32\rsaenh.dll'
'python.exe': Loaded 'C:\Python26\DLLs\_hashlib.pyd'
'python.exe': Loaded 'C:\Python26\Lib\site-packages\lxml-2.2.2-py2.6-win32.egg\lxml\etree.pyd', Binary was not built with debug information.
'python.exe': Loaded 'C:\Python26\DLLs\_sqlite3.pyd'
'python.exe': Loaded 'C:\Python26\DLLs\sqlite3.dll'
'python.exe': Loaded 'C:\Users\nrl\AppData\Roaming\Python-Eggs\python_igraph-0.6-py2.6-win32.egg-tmp\igraph\core.pyd', Binary was not built with debug information.
'python.exe': Loaded 'C:\Program Files\Graphviz\bin\libxml2.dll', Binary was not built with debug information.
'python.exe': Loaded 'C:\Program Files\Graphviz\bin\iconv.dll', Binary was not built with debug information.

'python.exe': Loaded 'C:\Windows\System32\zlib1.dll', Binary was not built with debug information.
'python.exe': Loaded 'C:\Windows\winsxs\x86_microsoft.vc90.crt_1fc8b3b9a1e18e3b_9.0.30729.1_none_e163563597edeada\msvcp90.dll'
'python.exe': Loaded 'C:\Windows\System32\nlaapi.dll'
'python.exe': Loaded 'C:\Windows\System32\IPHLPAPI.DLL'
'python.exe': Loaded 'C:\Windows\System32\dhcpcsvc.dll'
'python.exe': Loaded 'C:\Windows\System32\dnsapi.dll'
'python.exe': Loaded 'C:\Windows\System32\secur32.dll'
'python.exe': Loaded 'C:\Windows\System32\winnsi.dll'
'python.exe': Loaded 'C:\Windows\System32\dhcpcsvc6.dll'
'python.exe': Loaded 'C:\Windows\System32\NapiNSP.dll'
'python.exe': Loaded 'C:\Windows\System32\pnrpnsp.dll'
'python.exe': Loaded 'C:\Windows\System32\mswsock.dll'
'python.exe': Loaded 'C:\Windows\System32\winrnr.dll'
'python.exe': Loaded 'C:\Windows\System32\Wldap32.dll'
'python.exe': Loaded 'C:\Windows\System32\psapi.dll'
'python.exe': Loaded 'C:\Python26\Lib\site-packages\win32\win32api.pyd'
'python.exe': Loaded 'C:\Windows\System32\version.dll'
'python.exe': Loaded 'C:\Windows\System32\powrprof.dll'
'python.exe': Loaded 'C:\Windows\System32\pywintypes26.dll'
'python.exe': Loaded 'C:\Windows\System32\ole32.dll'
'python.exe': Loaded 'C:\Windows\System32\oleaut32.dll'
'python.exe': Loaded 'C:\Python26\DLLs\_ctypes.pyd'
'python.exe': Loaded 'C:\Python26\DLLs\select.pyd'
'python.exe': Loaded 'C:\Windows\System32\wsock32.dll'
'python.exe': Loaded 'C:\Windows\System32\WSHTCPIP.DLL'
Unhandled exception at 0x77857580 in python.exe: 0xC0000005: Access violation reading location 0x00cc63d2.
The program '[7776] python.exe: Native' has exited with code 0 (0x0).

After some more searching:
From http://msdn.microsoft.com/en-us/library/ms972822.aspx

No longer is the current directory searched first when loading DLLs! This change was also made in Windows XP SP1. The default behavior now is to look in all the system locations first, then the current directory, and finally any user-defined paths. This will have an impact on your code if you install a DLL in the application's directory because Windows Server 2003 no longer loads the 'local' DLL if a DLL of the same name is in the system directory. A common example is if an application won't run with a specific version of a DLL, an older version is installed that does work in the application directory. This scenario will fail in Windows Server 2003.

The reason this change was made was to mitigate some kinds of trojaning attacks. An attacker may be able to sneak a bad DLL into your application directory or a directory that has files associated with your application. The DLL search order change removes this attack vector.

The SetDllDirectory function, also available in Windows XP SP1, modifies the search path used to locate DLLs for the application and affects all subsequent calls to the LoadLibrary and LoadLibraryEx functions by the application.

LoadLibraryEx http://msdn.microsoft.com/en-us/library/ms684179%28VS.85%29.aspx
SetDllDirectory http://msdn.microsoft.com/en-us/library/ms686203%28VS.85%29.aspx

It is working though. I just have to figure out the right way for it to use the new dll. Or to build it all statically.


On Tue, Aug 4, 2009 at 8:01 AM, Tamas Nepusz <address@hidden> wrote:
> > Hmm, I'm not very familiar with Windows debugging either. Can you obtain
> > a full stack dump somehow at the point where the application crashed?
> It is 13MB compressed (7zip). Send it to you directly?
Is it from the crash inside the Python interpreter? If so, can you try
to reproduce the issue using plain C igraph first and then send me the
stacktrace from the C program (if it crashed)? Please try it with and
without the experimental C attribute handler attached -- it would help
me isolate whether the problem is in the Python interface, in the C
attribute handler, in the C core or in libxml2 itself.

Thanks,
--
Tamas


_______________________________________________
igraph-help mailing list
address@hidden
http://lists.nongnu.org/mailman/listinfo/igraph-help


reply via email to

[Prev in Thread] Current Thread [Next in Thread]