Join GitHub today
GitHub is home to over 50 million developers working together to host and review code, manage projects, and build software together.Sign up
Curl_conncache_remove_conn: Assertion `!(data)->state.conncache_lock' failed #4029
I did this
The test case involves sequential HTTP transfer with timeout period in between which should result in closing existing connection. Its using CURLOPT_SHARE and CURLDEBUG(debug build:--enable-debug --enable-curldebug).
Following is the sample program to simulate the issue:
I expected the following
Sequential HTTP transfers to complete without assertion.
To reproduce please use: 7.65.1 + 4013(as mentioned above), other latest from curl master can also be used.
As with debug build, there are assertions during CONN_LOCK and CONN_UNLOCK for double lock and lock/unlock without existing unlock/lock on same respectively.
Although the fix is working for the case there could be better or other places affected, request to please address or if the fix is fine, let me know if should pull this to master.
... and avoid the locking issue. Reported-by: Kunal Ekawde Fixes #4029
Above example doesn't seem to have CURLOPT_SHARE, would it be possible for you to try a run with example I provided in initial request?