HTTPS requests made via proxy stall when soup_message_set_priority set to low or very low
When multiple soup_request_send_async
calls are made to a HTTPS asset via a proxy and
soup_message_set_priority
is set to low or very low, only a small number of the ready callbacks are called. The number varies run to run, but it is very rare for all callbacks to be called. Please see the reproduction code I hacked up: request_https.c. If soup_message_set_priority is bumped up to normal or above, all requests callbacks are called.
This looks like it is the same underlying issue as https://bugs.webkit.org/show_bug.cgi?id=183163. #127 was created from that WebKit bug, but as @mcatanzaro commented, that is focused on the critical message. I see no such critical warning when I run my reproduction code.
Note that to reproduce this issue with the attached code you must run with a proxy (I used Apache Trafficserver, but any other proxy will be fine). The proxy cache must be cleared before each run. As I ran with trafficserver I reliably reproduced the issue with:
systemctl stop trafficserver && traffic_server -Cclear && systemctl start trafficserver && http_proxy=http://localhost:3128 ./request_https