Skip to content
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

Merged

Conversation

@rainers
Copy link
Member

commented Aug 12, 2019

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

@dlang-bot

This comment has been minimized.

Copy link
Contributor

commented Aug 12, 2019

Thanks for your pull request, @rainers!

Bugzilla references

Auto-close Bugzilla Severity Description
20120 regression libcurl.dll hangs when running std.net.curl unittests

@dlang-bot dlang-bot added the Bug Fix label Aug 12, 2019

fix issue 20120 - libcurl.dll hangs when running std.net.curl unittests
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

@rainers rainers force-pushed the rainers:DONT_USE_RECV_BEFORE_SEND_WORKAROUND branch from dde7e57 to 4c8aabf Aug 12, 2019

@rainers rainers changed the title fix issue 20210 - libcurl.dll hangs when running std.net.curl unittests fix issue 20120 - libcurl.dll hangs when running std.net.curl unittests Aug 12, 2019

@rainers

This comment has been minimized.

Copy link
Member Author

commented Aug 12, 2019

Just tried the artifacts: the phobos unittests pass with the new DLL.

@kinke

This comment has been minimized.

Copy link
Contributor

commented Aug 12, 2019

Great that you found it. I always assumed it was LDC-specific (newer MSCRT etc.) as DMD happily shipped with newer versions...

kinke added a commit to kinke/ldc that referenced this pull request Aug 17, 2019
Azure CI Windows: Upgrade shipped libcurl to v7.65.3
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.
kinke added a commit to kinke/ldc that referenced this pull request Aug 17, 2019
Azure CI Windows: Upgrade bundled libcurl to v7.65.3
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.
kinke added a commit to ldc-developers/ldc that referenced this pull request Aug 18, 2019
Azure CI Windows: Upgrade bundled libcurl to v7.65.3 (#3135)
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.

@wilzbach wilzbach merged commit fbc0313 into dlang:build-curl Aug 20, 2019

1 check passed

continuous-integration/appveyor/pr AppVeyor build succeeded
Details
@wilzbach

This comment has been minimized.

Copy link
Member

commented Aug 20, 2019

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.

@wilzbach wilzbach referenced this pull request Aug 20, 2019
@wilzbach

This comment has been minimized.

Copy link
Member

commented Aug 20, 2019

Update PR for 2.088: #400

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
4 participants
You can’t perform that action at this time.