2024-05-24 20:39 BST

View Issue Details Jump to Notes ]
IDProjectCategoryView StatusLast Update
0002663NetSurf[All Projects] Generalpublic2019-07-19 09:27
ReporterMichael Forney 
Assigned ToDaniel Silverstone 
Product Version 
Target Version3.9Fixed in Version3.9 
Summary0002663: curl 7.65.0 breaks HTTP redirects
DescriptionI noticed after upgrading to 7.65.0 that HTTP redirects don't work anymore. I bisected this down to https://github.com/curl/curl/pull/3837, which prevents calls into the curl API from callbacks, since that is unsupported usage.

It looks like the root of the issue is that fetch_curl_data (a curl callback) can trigger a new fetch request, which calls curl_multi_add_handle, which is now failing with CURLM_RECURSIVE_API_CALL.

I think to resolve this, netsurf needs to wait until fetch_curl_done to start new requests for redirects.
Steps To Reproduce1. Build netsurf against curl 7.65.0
2. Load a URL resulting in a redirect, such as https://httpstat.us/302
3. Request appears to hang
TagsNo tags attached.
Fixed in CI build #
Reported in CI build #
URL of problem page
Attached Files


Daniel Silverstone


Daniel Silverstone (administrator)


I'm unable to reproduce this myself as I don't have a new enough cURL but I've added a patch which ought to mitigate this. Could you please try running CI#4655 (or building a new version from master if that's how you're diagnosing) so that we can see if this helps.


Michael Forney


Michael Forney (reporter)

Thanks! Your patch fixes the issue for me.
Daniel Silverstone


Daniel Silverstone (administrator)

Thank you Michael.
Vincent Sanders


Vincent Sanders (administrator)

we believe this issue has been resolved in NetSurf 3.9

-Issue History
Date Modified Username Field Change
2019-06-04 05:17 Michael Forney New Issue
2019-06-05 19:55 Daniel Silverstone Assigned To => Daniel Silverstone
2019-06-05 19:55 Daniel Silverstone Status new => assigned
2019-06-05 19:55 Daniel Silverstone Note Added: 0001933
2019-06-07 05:49 Michael Forney Note Added: 0001940
2019-06-09 14:06 Daniel Silverstone Status assigned => resolved
2019-06-09 14:06 Daniel Silverstone Resolution open => fixed
2019-06-09 14:06 Daniel Silverstone Fixed in Version => 3.9
2019-06-09 14:06 Daniel Silverstone Target Version => 3.9
2019-06-09 14:06 Daniel Silverstone Note Added: 0001948
2019-07-19 09:27 Vincent Sanders Status resolved => closed
2019-07-19 09:27 Vincent Sanders Note Added: 0002004
+Issue History