[ZBX-7060] Zabbix server crashes Created: 2013 Sep 27  Updated: 2017 May 30  Resolved: 2013 Oct 21

Status: Closed
Project: ZABBIX BUGS AND ISSUES
Component/s: Server (S)
Affects Version/s: 2.0.8
Fix Version/s: None

Type: Incident report Priority: Trivial
Reporter: Kenny Freeman Assignee: Unassigned
Resolution: Won't fix Votes: 0
Labels: crash, webmonitoring
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

CentOS release 5.9 (Final) on x86_64


Attachments: Zip Archive zabbix-server.objdump.zip     File zabbix_server.log.crash.http     File zabbix_server.log.crash.https    

 Description   

Upgrade from Zabbix 1.8.10 to 2.0.8 and on zabbix-server startup we get a SIGSEGV on the http poller process. When we disable all web checks it starts up fine and when we enable only one web check with a bad dns name it starts fine as well. When we enable any web check (http or https) it seg faults and is consistent. From the stack trace it looks like it faults on libc.



 Comments   
Comment by richlv [ 2013 Sep 27 ]

please attach (compressed) disassembly listing as per backtrace instructions

Comment by Kenny Freeman [ 2013 Sep 30 ]

Sorry for the spam there - originally uploaded from our production zabbix server. We're using a temporary test server to do this troubleshooting on. Please see attached for the objdump output.

Comment by Andris Zeila [ 2013 Oct 16 ]

The backtrace is a bit weird, but it could be corrupted stack. Were those web checks working on 1.8.10 normally or were they created on 2.0.8? If they were upgraded from 1.8.10 - could you try creating a new test and check if it's working?

Also could you check what's exactly is stored in the related tables:

select * from httptest where name = 'Test Web Check'\G
select s.* from httptest t,httpstep s where t.name = 'Test Web Check' and t.httptestid = s.httptestid\G
Comment by Kenny Freeman [ 2013 Oct 16 ]

Hi, the web checks were created in 1.8.10 and were working. When we upgraded to 2.0.8 they caused the segfault so we disabled the existing checks and created some new checks to see if they would work. Old and new checks are both failing. Database values below:

mysql> select * from httptest where name = 'Test Web Check'\G

                                                      • 1. row ***************************
                                                        httptestid: 5
                                                        name: Test Web Check
                                                        applicationid: 143
                                                        nextcheck: 1380261184
                                                        delay: 60
                                                        status: 0
                                                        macros:
                                                        agent: Mozilla/5.0 (compatible; MSIE 10.0; Windows NT 6.1; Trident/6.0)
                                                        authentication: 0
                                                        http_user:
                                                        http_password:
                                                        1 row in set (0.00 sec)

mysql> select s.* from httptest t,httpstep s where t.name = 'Test Web Check' and t.httptestid = s.httptestid\G

                                                      • 1. row ***************************
                                                        httpstepid: 7
                                                        httptestid: 5
                                                        name: Google
                                                        no: 1
                                                        url: http://www.google.com.au
                                                        timeout: 15
                                                        posts:
                                                        required: Google
                                                        status_codes: 200
                                                        1 row in set (0.00 sec)
Comment by Andris Zeila [ 2013 Oct 16 ]

Thanks. The next question is how did you install the new (2.0.8) version - compiled from sources or installed from some package.

First I thought that data was corrupted during conversion process, leading to crashes. But new web checks crashing is a generic problem and ought to be noticed by many. As nobody else has reported similar crashes this must be specific to your environment.

The closest I could get to try was CentOS 5.4 x64 and did not have any problems.

Comment by Kenny Freeman [ 2013 Oct 17 ]

Hi, we installed the rpms from the zabbix repository and had the same problem on two zabbix servers.

Comment by Andris Zeila [ 2013 Oct 17 ]

I tried all 2.0.8 packages build with mysql support - zabbix-server-mysql-2.0.8-1.el5.x86_64.rpm, zabbix-server-mysql-2.0.8-2,el5.x86_64.rpm and zabbix-server-mysql-2.0.8-1.el5.x86_64.rpm, but could not reproduce the crash. Was one of those packages the one you used?

It does seem it crashes somewhere in cURL upon receiving data, is command line curl utility working normally for you (curl www.google.com.au) ?

Also could you please try with server built from sources on the target system?

Comment by Kenny Freeman [ 2013 Oct 21 ]

Hi, we used the rpms from the zabbix repo and they are the same version as the ones you've listed:

yum list installed | grep -i zabbix
zabbix.x86_64 2.0.8-1.el5 installed
zabbix-agent.x86_64 2.0.8-1.el5 installed
zabbix-get.x86_64 2.0.8-1.el5 installed
zabbix-release.noarch 2.0-1.el5 installed
zabbix-sender.x86_64 2.0.8-1.el5 installed
zabbix-server.x86_64 2.0.8-1.el5 installed
zabbix-server-mysql.x86_64 2.0.8-1.el5 installed
zabbix-web.x86_64 2.0.8-1.el5 installed
zabbix-web-mysql.x86_64 2.0.8-1.el5 installed

Yes, curl is working ok:

curl http://www.google.com.au -s > /tmp/test.google

echo $?
0

The curl libraries we have are:

yum list installed | grep -i curl
curl.i386 7.15.5-15.el5 installed
curl.x86_64 7.20.0-1.el5 installed
curl-devel.i386 7.15.5-15.el5 installed
curl-devel.x86_64 7.20.0-1.el5 installed
libcurl.x86_64 7.15.5-1.el5 installed

I'll try and find some time to compile from source and try it out - will post results when we have them.

Comment by Kenny Freeman [ 2013 Oct 21 ]

OK, building rpms from source seems to do it - zabbix-server starts fine

Comment by Andris Zeila [ 2013 Oct 21 ]

Thanks, the packages from Zabbix repository are built with newer libcurl (I'll check the exact version later) - apparently the result is not backwards compatible. We now have to think how to handle this situation.

Generated at Wed Apr 09 04:45:51 EEST 2025 using Jira 9.12.4#9120004-sha1:625303b708afdb767e17cb2838290c41888e9ff0.