[ZBX-8926] Queries failed and invalid host availability data Created: 2014 Oct 19  Updated: 2017 May 30  Resolved: 2014 Nov 21

Status: Closed
Project: ZABBIX BUGS AND ISSUES
Component/s: Proxy (P), Server (S)
Affects Version/s: 2.4.1
Fix Version/s: 2.4.3rc1, 2.5.0

Type: Incident report Priority: Blocker
Reporter: Alexey Pustovalov Assignee: Unassigned
Resolution: Fixed Votes: 0
Labels: regression
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Duplicate

 Description   

Since Zabbix 2.4 some availability data from proxy are incorrect:

    58:20141019:165348.354 obtained data from proxy "test": {"data":[{"hostid":10291,"error":"Received empty response from Zabbix Agent at [12345678901234567890123]. Assuming that agent dropped connection because of access"}]}

The length of error is 128 characters, it cause errors like:

    58:20141019:165348.355 invalid host availability data

and sometimes when Zabbix receives availability data about a few hosts:

    45:20141018:183223.008 invalid host availability data
    45:20141018:183223.009 [Z3005] query failed: [0] PGRES_FATAL_ERROR:ERROR:  syntax error at end of input
LINE 2: update hosts set 
                         ^
 [update hosts set error='Get value from agent failed: ZBX_TCP_READ() failed: [4] Interrupted system call' where hostid=10234;
update hosts set ]


 Comments   
Comment by Alexander Vladishev [ 2014 Oct 19 ]

It is valid data. It can happen when only "error" was changed.
dotneft Ok. so the error is not exact "invalid" data, in this case I suppose we need to change or remove error when only "error" was changed.

Comment by Alexander Vladishev [ 2014 Oct 20 ]

Please describe how to reproduce the issue. Is it passive proxy? With similar data the server works without SQL errors.

Comment by Juris Miščenko (Inactive) [ 2014 Nov 04 ]

Fix implemented at svn://svn.zabbix.com/branches/dev/ZBX-8926

wiper Note that both - the 'invalid host availability data' and the SQL error, were fixed.

Comment by Andris Zeila [ 2014 Nov 13 ]

Successfully tested. Please check minor changes in r50595

Comment by Alexander Vladishev [ 2014 Nov 13 ]

(1) "sql_alloc" and "tmp_alloc" should be declared in the same order as "sql" and "tmp"

jurism RESOLVED in r50640.

sasha CLOSED

Comment by Alexander Vladishev [ 2014 Nov 13 ]

(2) Initial value for tmp_alloc should be hardcoded without using HOST_ERROR_LEN.

tmp_alloc = 128;

jurism RESOLVED in r50658.

sasha

  • what fix these changes?
    - error_esc = DBdyn_escape_string_len(tmp, HOST_ERROR_LEN);
    + error_esc = DBdyn_escape_string_len(tmp, tmp_alloc);
    

REOPENED

jurism
The change was made due to the confusing argument naming used in the function definition of zbx_db_dyn_escape_string_len(). Change reverted in r50691. RESOLVED.

sasha CLOSED

Comment by Alexander Vladishev [ 2014 Nov 13 ]

(3) freeing of variables shall be in reverse order

sql = zbx_malloc();
tmp = zbx_malloc();
...
zbx_free(tmp);
zbx_free(sql);

jurism RESOLVED in r50640.

sasha CLOSED

Comment by Alexander Vladishev [ 2014 Nov 13 ]

(4) HOST_ERROR_LEN_MAX is not used anywhere. Remove it!

jurism RESOLVED in r50658.

sasha CLOSED

Comment by Alexander Vladishev [ 2014 Nov 13 ]

(5) zbx_json_value_by_name() function is not fixed.

jurism RESOLVED in r50640.

sasha CLOSED

Comment by Juris Miščenko (Inactive) [ 2014 Nov 21 ]

Fix merged in 2.4.3rc1 r50721, 2.5.0 (trunk) r50722.

Generated at Tue Apr 08 23:10:36 EEST 2025 using Jira 9.12.4#9120004-sha1:625303b708afdb767e17cb2838290c41888e9ff0.