-
Notifications
You must be signed in to change notification settings - Fork 584
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
[CRASH ] We got a segfault here #3464
Comments
when setting `connected_ts` set the address which is being used as value?
Hi @ar45! I'm afraid the fix in #3467 might not be entirely accurate, could you please pull to latest and test out the following additional patch, available here? Long story short:
Let me know how it goes, thank you! EDIT: new gist revision pushed, hopefully it's the last one :) |
Hi @liviuchircu Thanks for the quick merge. I tested the additional patch at https://gist.githubusercontent.com/liviuchircu/2fd29529c06680b3eebac34c85eaa1f3/raw/214d7faf3626760379f37233a0275054587ac3d4/rest-client-ptr-management-quickfix and that segfaults at The pointer to pointer business is confusing here... |
@liviuchircu Attached is a corrected patch based on what you provided. Besides that. I see the way it is implemented, the I would expect that while |
Thank you for the feedback, @ar45! Indeed, I updated the gist afterwards, but the RAW URL (linked in the email) seems to be unique for each revision, so you still got sent to the old one. Now that part is functional -- all in all, there was just an extra With regards to the connection "MRU timestamping" logic, I just wanted to put out a starting point, which we could then adjust based on various cURL library behaviors we find out. For example, I haven't found any way to control the long-lived connection timeouts in the cURLs I tried, so I assumed they default to the OS settings (documented in curl_conn_lifetime). So if a shared timestamp isn't updated at all within Cheers! |
Thanks @liviuchircu for the quick response and updates. I think that using the following callbacks we can keep track internally if there is an actual curl_easy_setopt(curl, CURLOPT_RESOLVER_START_FUNCTION, start_resolve_cb); curl_easy_setopt(curl, CURLOPT_OPENSOCKETFUNCTION, opensocket_cb); When in the callback to |
opensips/modules/rest_client/rest_methods.c
Line 584 in bb41e4b
Perhaps this is supposed to be
(unsigned int *)(unsigned long *)(*connected_ts) < curl_conn_lifetime))
The text was updated successfully, but these errors were encountered: