[ZBX-7860] Zabbix server process crashes right after start, completely not usable. Created: 2014 Feb 24  Updated: 2017 May 30  Resolved: 2014 Apr 28

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

Type: Incident report Priority: Critical
Reporter: Jaroslaw Jozwik Assignee: Unassigned
Resolution: Won't fix Votes: 1
Labels: crash
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

Oracle Ent Linux, 64 bit, 2.6.18-371.4.1.0.1.el5, Red Hat Enterprise Linux Server release 5.10 (Tikanga)


Attachments: Zip Archive objdump_zabbix_server.zip     File patch.p0     Text File zabbix_server.log     Zip Archive zabbix_server.zip    
Issue Links:
Duplicate
is duplicated by ZBX-7912 Crash VMware collectors Closed
is duplicated by ZBX-7986 Zabbix_server crashes - in "poller". Closed

 Description   

After upgrading from 2.0 to 2.2.2 server upgraded the database, but then every time I start it, it crashes right after start.
Attached are object dump and piece of log, below is a backtrace:

Backtrace:

 13860:20140220:114500.644 ====== Fatal information: ======
 13860:20140220:114500.644 Program counter: 0x3410754e38
 13860:20140220:114500.644 === Registers: ===
 13860:20140220:114500.644 r8      =       3410754e28 =         223614422568 =         223614422568
 13860:20140220:114500.644 r9      =                2 =                    2 =                    2
 13860:20140220:114500.644 r10     =                0 =                    0 =                    0
 13860:20140220:114500.644 r11     =                0 =                    0 =                    0
 13860:20140220:114500.644 r12     =                1 =                    1 =                    1
 13860:20140220:114500.644 r13     =         12a4c4b8 =            312788152 =            312788152
 13860:20140220:114500.644 r14     =         12a4c478 =            312788088 =            312788088
 13860:20140220:114500.644 r15     =         12a4c478 =            312788088 =            312788088
 13860:20140220:114500.644 rdi     =         12a4c0b0 =            312787120 =            312787120
 13860:20140220:114500.644 rsi     =       3417f30040 =         223740100672 =         223740100672
 13860:20140220:114500.644 rbp     =                0 =                    0 =                    0
 13860:20140220:114500.644 rbx     =         12a4c0b0 =            312787120 =            312787120
 13860:20140220:114500.644 rdx     =                0 =                    0 =                    0
 13860:20140220:114500.644 rax     =       3410754e38 =         223614422584 =         223614422584
 13860:20140220:114500.644 rcx     =         12a4c478 =            312788088 =            312788088
 13860:20140220:114500.644 rsp     =     7fff586050a8 =      140734676095144 =      140734676095144
 13860:20140220:114500.644 rip     =       3410754e38 =         223614422584 =         223614422584
 13860:20140220:114500.644 efl     =            10202 =                66050 =                66050
 13860:20140220:114500.644 csgsfs  = 1330000000000033 =  1382605085602742323 =  1382605085602742323
 13860:20140220:114500.644 err     =               15 =                   21 =                   21
 13860:20140220:114500.644 trapno  =                e =                   14 =                   14
 13860:20140220:114500.644 oldmask =                0 =                    0 =                    0
 13860:20140220:114500.644 cr2     =       3410754e38 =         223614422584 =         223614422584
 13860:20140220:114500.644 === Backtrace: ===
 13876:20140220:114500.644 escalation cancelled: action 'Report problems to Zabbix administrators' disabled.
 13876:20140220:114500.645 escalation cancelled: action 'Report problems to Zabbix administrators' disabled.
 13876:20140220:114500.646 escalation cancelled: action 'Report problems to Zabbix administrators' disabled.
 13860:20140220:114500.647 3: zabbix_server: http poller #2 [got 0 values in 0.000000 sec, getting values](print_fatal_info+0xdb) [0x45ed5b]
 13860:20140220:114500.648 2: zabbix_server: http poller #2 [got 0 values in 0.000000 sec, getting values] [0x45f519]
 13860:20140220:114500.648 1: /lib64/libc.so.6 [0x34104302d0]
 13860:20140220:114500.648 0: /lib64/libc.so.6 [0x3410754e38]


 Comments   
Comment by Jaroslaw Jozwik [ 2014 Feb 25 ]

Is http poller a part that send information to web front end?
Does the last lines suggest that this can be a problem with http poller and libc libraries? Would change anything if I have installed different version of this?
Thanks.

Comment by Jaroslaw Jozwik [ 2014 Feb 26 ]

Whatever is different in 2.2.3RC1 version from 2.2.2 concerning crash of http poller - it fixed the problem.
That's a hint probably, now I don't know if I'll be able to test fix for 2.2.2 when released.

Comment by Juris Miščenko (Inactive) [ 2014 Mar 13 ]

Jaroslaw, could you please specify what version/revision you upgraded from, how you did it and what was the server configuration when it was launched? Also, what was the state of the database and what configuration options you passed to both configuration processes of the 2.0 and 2.2.2 builds. Also, could you provide a server log with DebugLevel=4 of a reproduced crash? Thank you.

Comment by Jaroslaw Jozwik [ 2014 Mar 13 ]

The version I upgraded from was 2.0 (this is as close as I can say). First upgrade didn't go through to the end as I interrupted this (I've thought nothing is going on, so I stopped zabbix server, upgrade didn't finish, I had to restore database and then started again, this time watching log, it went through to the end successfully).
I will try to run 2.2.2 with debug level 4 and will paste the log.
Config is pretty normal, I haven't compiled server, installed from repositories. I have only compiled version 2.2.3RC1 when discovered I can't run 2.2.2
What do you mean "state of the database"? After I have restored database after first unsuccessful upgrade, database was right after normal server shut down.

Comment by Juris Miščenko (Inactive) [ 2014 Mar 13 ]

Was the 2.0 server compiled by you or was it also from a repository package and how exactly did you 'restore' the database?

Comment by Jaroslaw Jozwik [ 2014 Mar 13 ]

I have mentioned this in the last comment - I have installed 2.0 from repositories, it wasn't compiled.
Database was restored from dump made after shutting down 2.0 and before running 2.2.2.

Comment by Jaroslaw Jozwik [ 2014 Mar 13 ]

Juris - do you require config file as well?

Comment by Jaroslaw Jozwik [ 2014 Mar 13 ]

Attached server log of failing 2.2.2 version, build 42525.
Removed sensitive info.

Comment by Juris Miščenko (Inactive) [ 2014 Mar 13 ]

Jaroslaw, could you please execute these SQL queries in your database and report the results to us:

SELECT httpstepid,no,name,url,timeout,posts,required,status_codes,variables from httpstep;
SELECT httptestid,name,delay,status,authentication,hostid,retries from httptest;

Remove the quotation marks and simply paste it. If it contains confidentail information, mail the results to support[at]zabbix.com

Comment by Jaroslaw Jozwik [ 2014 Mar 14 ]

Query result sent to email as requested.

Comment by Juris Miščenko (Inactive) [ 2014 Mar 14 ]

Jaroslaw, I have attached a patchfile patch.p0. Please use that to patch the broken and working versions of the server and repeat the process that leads to the crash with both of them. Also, could you please notify us of the cURL library version(s) that is/are being used.

Thank you.

Comment by Jaroslaw Jozwik [ 2014 Mar 14 ]

How do you want me to use this patch? What should I do with this? This is replacing something in source files? If so - I would have to compile 2.2.2 version, which I didn't - it was installed from downloaded binaries, from repository.

Libcurl.so library on my system is libcurl.so.3.0.0, package reported in yum is curl-7.15.5-17.el5_9.i386 and x86_64 (both 32 and 64 bit versions installed).
curl-devel is the same.

Comment by Juris Miščenko (Inactive) [ 2014 Mar 14 ]

Jaroslaw, please execute this command:

strace -o <logfilename> -ffitttxTv -s 1024 </path/to/zabbix_server/binary>

and replace the necessary parts with a valid filename and the path to your server executable respectively. When the strace process finishes, find all the output files generated and archive them and send them to support[at]zabbix.com.

Thank you.

Comment by Jaroslaw Jozwik [ 2014 Mar 14 ]

One more question before I run this - should the server be shut down? Like - service zabbix_server stop?
Then run the command above on both binaries separately?

Comment by Juris Miščenko (Inactive) [ 2014 Mar 14 ]

Yes, the server should not be running and for both binaries, the working one and the one that crashes.

Comment by Jaroslaw Jozwik [ 2014 Mar 14 ]

How long should this thing run on healthy 2.2.3rc1 version?
For now it produced around 2000 files and still running.
I haven't run it for 2.2.2 yet.

Comment by Juris Miščenko (Inactive) [ 2014 Mar 17 ]

I'm sorry, Jaroslaw. You had to run it for 2.2.2 only, not the healthy binary. I appologize. My mistake. Just gather the 2.2.2 output and send that. Thanks.

Comment by Juris Miščenko (Inactive) [ 2014 Mar 17 ]

Jaroslaw, could you please provide the output of the following commands:

curl -V
yum info curl
Comment by Jaroslaw Jozwik [ 2014 Mar 17 ]

I believe I already gave this information but here is again:

[/]# curl -V
curl 7.15.5 (x86_64-redhat-linux-gnu) libcurl/7.15.5 OpenSSL/0.9.8b zlib/1.2.3 libidn/0.6.5
Protocols: tftp ftp telnet dict ldap http file https ftps
Features: GSS-Negotiate IDN IPv6 Largefile NTLM SSL libz

[/]# yum info curl
Loaded plugins: security
Installed Packages
Name : curl
Arch : i386
Version : 7.15.5
Release : 17.el5_9
Size : 464 k
Repo : installed
Summary : A utility for getting files from remote servers (FTP, HTTP, and others).
URL : http://curl.haxx.se/
License : MIT
Description: cURL is a tool for getting files from FTP, HTTP, Gopher, Telnet, and
: Dict servers, using any of the supported protocols. cURL is designed
: to work without user interaction or any kind of interactivity. cURL
: offers many useful capabilities, like proxy support, user
: authentication, FTP upload, HTTP post, and file transfer resume.

Name : curl
Arch : x86_64
Version : 7.15.5
Release : 17.el5_9
Size : 473 k
Repo : installed
Summary : A utility for getting files from remote servers (FTP, HTTP, and others).
URL : http://curl.haxx.se/
License : MIT
Description: cURL is a tool for getting files from FTP, HTTP, Gopher, Telnet, and
: Dict servers, using any of the supported protocols. cURL is designed
: to work without user interaction or any kind of interactivity. cURL
: offers many useful capabilities, like proxy support, user
: authentication, FTP upload, HTTP post, and file transfer resume.

Comment by Juris Miščenko (Inactive) [ 2014 Mar 31 ]

This is likely a related issue to ZBX-7986. Look in the comments section for a possible solution. This is very likely a bug in libcurl.

Comment by Juris Miščenko (Inactive) [ 2014 Apr 28 ]

We were originally incapable of reproducing this issue, but an upgrade of libcurl has halted, or at least mitigated, this bug from occuring. This issue may be reopened if evidence of incorrect code is found in our code, not libcurl, which will then be fixed.

For now, this issue will be closed and marked "Won't fix".

Generated at Fri Jun 13 04:36:40 EEST 2025 using Jira 9.12.4#9120004-sha1:625303b708afdb767e17cb2838290c41888e9ff0.