This is the mail archive of the cygwin mailing list for the Cygwin project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

dlopen() differences on CYGWIN_NT-5.1 and C YGWIN_NT-6.1


Hello everyone,
I have two equal cygwin installations (with respect to installed packages). One on Windows 7 and one on Windows XP.
I always used the Windows XP version for "porting" my application (which relies heavily on dlopen) to Windows.
However, I finally wanted to make the move to Windows 7 as my build bot. However, the same application - built on Windows 7 - does not seem to work any more.
With the first call to dlopen(), it simply crashes with no note, core dump or anything else and independent of the build type (debug/release).
The problem is, however, that as soon as it is started inside gdb or strace, it runs perfectly fine and dlopen()s all plugins correctly.
I tried to rebuild the scenario with a simple code-example but diddn't manage to reproduce the crash with that.
The Application is written in C++ as well as the plugins. Advanced datatypes and functions/methods are passed/called from both directions.
Because I simply don't know what the cause could be, I also don't know what information I should provide.
By the way: the application works fine on all kind of *NIXes (*BSD, Linux, Mac).
If you want to have a look at the code, the code for the plugins is located here: https://downloaddaemon.svn.sourceforge.net/svnroot/downloaddaemon . The dlopen() part is here: https://downloaddaemon.svn.sourceforge.net/svnroot/downloaddaemon/trunk/src/daemon/dl/plugin_container.cpp (dlopen() is called with an absolute path to the file, if it matters. Compilation completely depends on the --export-all-symbols and -out-implib functionality).


I hope someone can help me with that.
Thanks,
Adrian

Below is the ldd-output on both systems of the application:
Windows 7:
ntdll.dll => /cygdrive/c/Windows/SYSTEM32/ntdll.dll (0x777f0000)
kernel32.dll => /cygdrive/c/Windows/system32/kernel32.dll (0x76100000)
KERNELBASE.dll => /cygdrive/c/Windows/system32/KERNELBASE.dll (0x75a10000)
cygboost_thread-mt-1_43.dll => /usr/bin/cygboost_thread-mt-1_43.dll (0x63cc0000)
cygwin1.dll => /usr/bin/cygwin1.dll (0x61000000)
ADVAPI32.DLL => /cygdrive/c/Windows/system32/ADVAPI32.DLL (0x77750000)
msvcrt.dll => /cygdrive/c/Windows/system32/msvcrt.dll (0x75cf0000)
sechost.dll => /cygdrive/c/Windows/SYSTEM32/sechost.dll (0x76610000)
RPCRT4.dll => /cygdrive/c/Windows/system32/RPCRT4.dll (0x77280000)
cyggcc_s-1.dll => /usr/bin/cyggcc_s-1.dll (0x67f00000)
cygstdc++-6.dll => /usr/bin/cygstdc++-6.dll (0x6c480000)
cygcurl-4.dll => /usr/bin/cygcurl-4.dll (0x63d80000)
cygcrypto-0.9.8.dll => /usr/bin/cygcrypto-0.9.8.dll (0x6ba40000)
cygz.dll => /usr/bin/cygz.dll (0x692c0000)
cygidn-11.dll => /usr/bin/cygidn-11.dll (0x6c200000)
cygiconv-2.dll => /usr/bin/cygiconv-2.dll (0x674c0000)
cygintl-8.dll => /usr/bin/cygintl-8.dll (0x6f5c0000)
cygssh2-1.dll => /usr/bin/cygssh2-1.dll (0x69ec0000)
cygssl-0.9.8.dll => /usr/bin/cygssl-0.9.8.dll (0x63400000)
SspiCli.dll => /cygdrive/c/Windows/system32/SspiCli.dll (0x75870000)


Windows XP:
ntdll.dll => /cygdrive/c/WINXP/system32/ntdll.dll (0x7c910000)
kernel32.dll => /cygdrive/c/WINXP/system32/kernel32.dll (0x7c800000)
cygboost_thread-mt-1_43.dll => /usr/bin/cygboost_thread-mt-1_43.dll (0x63cc0000)
cygwin1.dll => /usr/bin/cygwin1.dll (0x61000000)
ADVAPI32.DLL => /cygdrive/c/WINXP/system32/ADVAPI32.DLL (0x77da0000)
RPCRT4.dll => /cygdrive/c/WINXP/system32/RPCRT4.dll (0x77e50000)
Secur32.dll => /cygdrive/c/WINXP/system32/Secur32.dll (0x77fc0000)
cyggcc_s-1.dll => /usr/bin/cyggcc_s-1.dll (0x67f00000)
cygstdc++-6.dll => /usr/bin/cygstdc++-6.dll (0x6c480000)
cygcurl-4.dll => /usr/bin/cygcurl-4.dll (0x63d80000)
cygcrypto-0.9.8.dll => /usr/bin/cygcrypto-0.9.8.dll (0x6ba40000)
cygz.dll => /usr/bin/cygz.dll (0x692c0000)
cygidn-11.dll => /usr/bin/cygidn-11.dll (0x6c200000)
cygiconv-2.dll => /usr/bin/cygiconv-2.dll (0x674c0000)
cygintl-8.dll => /usr/bin/cygintl-8.dll (0x6f5c0000)
cygssh2-1.dll => /usr/bin/cygssh2-1.dll (0x69ec0000)
cygssl-0.9.8.dll => /usr/bin/cygssl-0.9.8.dll (0x63400000)



-- Problem reports: http://cygwin.com/problems.html FAQ: http://cygwin.com/faq/ Documentation: http://cygwin.com/docs.html Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]