-
-
Notifications
You must be signed in to change notification settings - Fork 72
fix issue 20120 - libcurl.dll hangs when running std.net.curl unittests #399
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
fix issue 20120 - libcurl.dll hangs when running std.net.curl unittests #399
Conversation
disable the workaround introduced in curl/curl@72d5e14 as it is causing the issue and the curl developers were not really convinced disabled by defining DONT_USE_RECV_BEFORE_SEND_WORKAROUND when compiling curl
dde7e57
to
4c8aabf
Compare
Just tried the artifacts: the phobos unittests pass with the new DLL. |
Great that you found it. I always assumed it was LDC-specific (newer MSCRT etc.) as DMD happily shipped with newer versions... |
Now that Rainer figured out why anything newer than v7.48.0 wouldn't work (time-outs during std.net.curl unittests) in dlang/installer#399. I built the binaries on my box using VS 2019 v16.2.2. zlib v1.2.11 was built using contrib/vstudio/vc14/zlibvc.sln (static release lib incl. asm, which needs to be built separately, e.g., `cd contrib/masmx64 && bld_ml64.bat`). MSCRT was set to /MT. zconf.h to be included by libcurl needs a `#define ZLIB_WINAPI` (predefined in VC project). libcurl was built with a command line like this in the winbuild dir: nmake /f Makefile.vc mode=dll VC=15 WITH_DEVEL=C:\LDC\curl-7.65.3\deps WITH_ZLIB=static GEN_PDB=no DEBUG=no MACHINE=x64 RTLIBCFG=static The CFLAGS in winbuild/MakefileBuild.vc need to be extended by `/DDONT_USE_RECV_BEFORE_SEND_WORKAROUND` to fix the time-outs.
Now that Rainer figured out why anything newer than v7.48.0 wouldn't work (hanging std.net.curl unittests) in dlang/installer#399. I built the binaries on my box using VS 2019 v16.2.2. zlib v1.2.11 was built using contrib/vstudio/vc14/zlibvc.sln (static release lib incl. asm, which needs to be built separately, e.g., `cd contrib/masmx64 && bld_ml64.bat`). MSCRT was set to /MT. libcurl was built with a command line like this in the winbuild dir: nmake /f Makefile.vc mode=dll VC=15 WITH_DEVEL=C:\LDC\curl-7.65.3\deps WITH_ZLIB=static GEN_PDB=no DEBUG=no MACHINE=x64 RTLIBCFG=static The CFLAGS in winbuild/MakefileBuild.vc need to be extended by `/DDONT_USE_RECV_BEFORE_SEND_WORKAROUND` to fix the hanging tests.
Now that Rainer figured out why anything newer than v7.48.0 wouldn't work (hanging std.net.curl unittests) in dlang/installer#399. I built the binaries on my box using VS 2019 v16.2.2. zlib v1.2.11 was built using contrib/vstudio/vc14/zlibvc.sln (static release lib incl. asm, which needs to be built separately, e.g., `cd contrib/masmx64 && bld_ml64.bat`). MSCRT was set to /MT. libcurl was built with a command line like this in the winbuild dir: nmake /f Makefile.vc mode=dll VC=15 WITH_DEVEL=C:\LDC\curl-7.65.3\deps WITH_ZLIB=static GEN_PDB=no DEBUG=no MACHINE=x64 RTLIBCFG=static The CFLAGS in winbuild/MakefileBuild.vc need to be extended by `/DDONT_USE_RECV_BEFORE_SEND_WORKAROUND` to fix the hanging tests.
Deployed as http://downloads.dlang.org/other/libcurl-7.65.3-2-WinSSL-zlib-x86-x64.zip and http://downloads.dlang.org/other/libcurl-7.65.3-2-WinSSL-zlib-x86-x64.zip.sig So for some reason the HTML index generation script is currently broken, so you can't see it in the index list yet. |
Update PR for 2.088: #400 |
disable the workaround introduced in curl/curl@72d5e14
as it is causing the issue and the curl developers were not really convinced
disabled by defining DONT_USE_RECV_BEFORE_SEND_WORKAROUND when compiling curl