Thanks Daniel for checking this over weekend. Ok, I shall try to update to 7.64.1 but that would take sometime to integrate, sanitize and load run.
A break would be same consequence as continue in this flow I think. The 'continue' fixed trap #1, which I could reproduce, but using this patch resulted in trap #2. Based on trap #2 backtrace, I've update the patch to 'return result;' //CURLM_OK instead of continue. I m yet to verify the minimal load run with the server abruptly terminating case, which most likely resulted in trap #2. Do you think 'result result;' is not correct there ? One thing missing there would be updating running_handles. Please let me know if updating running_handles and return CURLM_OK would be good or if that is not correct. Thanks On Sun, May 12, 2019 at 2:32 AM Daniel Stenberg <dan...@haxx.se> wrote: > On Sat, 11 May 2019, Kunal Ekawde via curl-library wrote: > > > I'm using libcurl - 7.64.0 with nghttp2 for http2 call flow. For > http/1.1 > > this crash is not seen. > > I recommend using 7.64.1! > > > I tried with following fix: > > /* the socket can be shared by many transfers, iterate */ > > for(e = list->head; e; e = e->next) { > > data = (struct Curl_easy *)e->ptr; > > // crash fix - temp > > if (!data) > > continue; > > I think this should do a 'break' instead of a 'continue'. After all, this > happens because the connection died so there is no more transfers on the > same > connection. > > > While this would just be defensive fix, the root cause fix could be > > elsewhere also, request to please check / comment. > > This is a bit tricky to reproduce so I haven't managed to do this myself > yet. > I'm just reading your description and the code and thinking. > > If you add the break like this in there, does this fix the problem for > you? > Does it have any other flaws? I'm thinking we might want to terminate > those > remaining transfers on the same socket in a more immediate way... > > What do you do to reproduce this case? > > -- > > / daniel.haxx.se | Get the best commercial curl support there is - from > me > | Private help, bug fixes, support, ports, new features > | https://www.wolfssl.com/contact/ > -- ~Kunal
------------------------------------------------------------------- Unsubscribe: https://cool.haxx.se/list/listinfo/curl-library Etiquette: https://curl.haxx.se/mail/etiquette.html