[ZBX-24926] Telegram send failed with "Sending failed: Error: cannot set cURL option CURLOPT_INTERFACE: A libcurl function was given a bad argument.." Created: 2024 Jul 28 Updated: 2025 Jan 24 Resolved: 2024 Aug 28 |
|
Status: | Closed |
Project: | ZABBIX BUGS AND ISSUES |
Component/s: | Proxy (P), Server (S) |
Affects Version/s: | 7.0.1 |
Fix Version/s: | 6.0.34rc1, 6.4.19rc1, 7.0.4rc1, 7.2.0alpha1 |
Type: | Problem report | Priority: | Trivial |
Reporter: | wins | Assignee: | Vladislavs Sokurenko |
Resolution: | Fixed | Votes: | 5 |
Labels: | None | ||
Remaining Estimate: | Not Specified | ||
Time Spent: | Not Specified | ||
Original Estimate: | Not Specified | ||
Environment: |
Archlinux kernel 6.6.42-1-lts |
Attachments: |
![]() ![]() |
||||||||||||||||
Issue Links: |
|
||||||||||||||||
Team: | |||||||||||||||||
Sprint: | S24-W34/35 | ||||||||||||||||
Story Points: | 0.25 |
Description |
Steps to reproduce:
Result: |
Comments |
Comment by wins [ 2024 Jul 28 ] |
downgrading package curl (8.9.0-1 => 8.8.0-1) solves problem |
Comment by Alexey Pustovalov [ 2024 Jul 29 ] |
do you use SouceIP for checks? |
Comment by wins [ 2024 Jul 29 ] |
I made a fresh installation of zabbix, I didn't configure any checks (except default for the zabbix server via zabbix agent). |
Comment by Philipp Buehler [ 2024 Jul 30 ] |
Same error with the 6.4.17-alpine-pgsql dockerimage (media Mattermost). Downgrade to 6.4.16 fixes this regression. |
Comment by Vladislavs Sokurenko [ 2024 Jul 31 ] |
Fixed in pull request feature/ZBX-24926-7.0 |
Comment by Mike [ 2024 Jul 31 ] |
Will this issue be addressed in 6.4? (6.4.17 is definitely affected) |
Comment by Curt Sahd [ 2024 Aug 01 ] |
Kindly advise how to resolve? Apologies, I'm a new here, so not to sure of the procedure. I downgraded to zabbix/zabbix-web-nginx-mysql:alpine-6.4-latest but then i see the following error: Database error
|
Comment by Aleksejus Velutis [ 2024 Aug 02 ] |
Hello Team! It seems like v7.0.2 is affected too. My case: |
Comment by Pomazan Bohdan [ 2024 Aug 02 ] |
Return to zabbix-server-pgsql:7.0.1-alpine and zabbix-web-nginx-pgsql:7.0.1-alpine from 7.0-alpine-latest |
Comment by Vladislavs Sokurenko [ 2024 Aug 02 ] |
Issue occurs when SourceIP is not set and latest version of curl is used, as a workaround SourceIP can be set, this will be fixed in next release. |
Comment by Mike [ 2024 Aug 02 ] |
Will that be fixed for 6.4.* as well? (we are not there yet to switch to v7 and are forced to update libraries by company policies) Setting source IP is not always an option - multiple IPs/IFs are there for a reason and can not always be routed equally. (does Zabbix support if!* syntax of libcurl in setting source ip? or it breaks other socket binding functionality in zabbix?) When can the next release be expected?
P.S. Actually setting up SourceIP=0.0.0.0 in appropriate server/proxy configs saves the day (however it will depend on kernel/libc version and implementation of bind()) |
Comment by Aleksejus Velutis [ 2024 Aug 02 ] |
Adding this env value (ZBX_SOURCEIP=) does not give a result, even though it is present in the variable environments:
zbxsrv:~# env | grep "ZBX_SOURCEIP"
ZBX_SOURCEIP=0.0.0.0
zbxsrv:~#
failed message the same: Sending failed: Error: cannot set cURL option CURLOPT_INTERFACE: A libcurl function was given a bad argument.. Rolled back to 7.0.1 again. Will wait for 7.0.3. Also spotted a strange behavior when upgrading to 7.0.2 from 7.0.1 - parameter (Required server performance, new values per second) in system info increased from:
Required server performance, new values per second 8.48
to:
Required server performance, new values per second 26.71
when rolled back to 7.0.1 its back to first values:
Required server performance, new values per second 8.48
increased more than three times, Is this expected behavior? |
Comment by Mike [ 2024 Aug 02 ] |
If you are running Zabbix in a container - you have to add env variables to container launch (so that docker-entrypoint.sh can pick it up and update zabbix_server.conf). Otherwise you have to set it in the file explicitly abd restart daemon (cat /etc/zabbix/zabbix_server.conf | grep SourceIP to make sure |
Comment by Aleksejus Velutis [ 2024 Aug 02 ] |
This variable is specified, but for some reason it is not included in zabbix_server.conf unlike the others, strange.
cat zbx.yml | grep "ZBX_SOURCEIP"
- ZBX_SOURCEIP=0.0.0.0
cat zabbix_server.conf | grep SourceIP ### Option: SourceIP # SourceIP= for example:
cat zbx.yml | grep "DB_SERVER_HOST"
- DB_SERVER_HOST=pgsrv
cat zabbix_server.conf | grep pgsrv DBHost=pgsrv Why? And the performance question is more interesting |
Comment by Vladislavs Sokurenko [ 2024 Aug 02 ] |
Increased NVPS metric is expected, please see |
Comment by Aleksejus Velutis [ 2024 Aug 02 ] |
If I understand correctly, it turns out that now the counting is correct while the load has not increased. |
Comment by Vladislavs Sokurenko [ 2024 Aug 08 ] |
Fixed in:
|
Comment by Anton [ 2024 Aug 19 ] |
Hi, i understand that changing curl package version helps in this case. Preprocessing failed for: {"error":"Error: cannot set cURL option CURLOPT_INTERFACE: A libcurl function was given a bad arg... 1. Failed: cannot extract value from json by path "$.Pods[?(@.name == "<POD_NAME_REMOVED>")].first()": no data matches the specified path using zabbix helm chart. |