-
Problem report
-
Resolution: Fixed
-
Trivial
-
3.0.9
-
Zabbix 3.0 branch r68364. Oracle XE 11.2.0 on CentOS.
-
Sprint 9
Steps to reproduce:
- compile Zabbix with Oracle support
- set up Oracle database
- set up Zabbix frontend with Oracle support
- start Zabbix server
- log in to Zabbix frontend, change host interface and click Save
- observe Zabbix server crash in log file
Backtrace:
23719:20170525:165610.400 In DCsync_interfaces() 23719:20170525:165610.400 Got signal [signal:11(SIGSEGV),reason:1,refaddr:0x8]. Crashing ... 23719:20170525:165610.400 ====== Fatal information: ====== 23719:20170525:165610.400 Program counter: 0x7f6804c57d3e 23719:20170525:165610.400 === Registers: === 23719:20170525:165610.400 r8 = 7f6804f7f060 = 140084736684128 = 140084736684128 23719:20170525:165610.400 r9 = 7f6804f7e7b8 = 140084736681912 = 140084736681912 23719:20170525:165610.401 r10 = 1 = 1 = 1 23719:20170525:165610.401 r11 = 1 = 1 = 1 23719:20170525:165610.401 r12 = 7f67fe558664 = 140084625376868 = 140084625376868 23719:20170525:165610.401 r13 = ffffffff = 4294967295 = 4294967295 23719:20170525:165610.401 r14 = 1 = 1 = 1 23719:20170525:165610.401 r15 = 0 = 0 = 0 23719:20170525:165610.401 rdi = 7f67fe558664 = 140084625376868 = 140084625376868 23719:20170525:165610.401 rsi = 0 = 0 = 0 23719:20170525:165610.401 rbp = 0 = 0 = 0 23719:20170525:165610.401 rbx = 7f67fef00cd8 = 140084635503832 = 140084635503832 23719:20170525:165610.401 rdx = 0 = 0 = 0 23719:20170525:165610.401 rax = 664 = 1636 = 1636 23719:20170525:165610.401 rcx = 0 = 0 = 0 23719:20170525:165610.401 rsp = 7fffffe59868 = 140737486624872 = 140737486624872 23719:20170525:165610.401 rip = 7f6804c57d3e = 140084733377854 = 140084733377854 23719:20170525:165610.401 efl = 10283 = 66179 = 66179 23719:20170525:165610.402 csgsfs = 33 = 51 = 51 23719:20170525:165610.402 err = 4 = 4 = 4 23719:20170525:165610.402 trapno = e = 14 = 14 23719:20170525:165610.402 oldmask = 0 = 0 = 0 23719:20170525:165610.402 cr2 = 8 = 8 = 8 23719:20170525:165610.402 === Backtrace: === 23719:20170525:165610.402 13: sbin/zabbix_server: configuration syncer [synced configuration in 0.133855 sec, syncing configuration](print_fatal_info+0x19d) [0x46982d] 23719:20170525:165610.402 12: sbin/zabbix_server: configuration syncer [synced configuration in 0.133855 sec, syncing configuration]() [0x469b83] 23719:20170525:165610.403 11: /lib/x86_64-linux-gnu/libc.so.6(+0x36d40) [0x7f6804bf6d40] 23719:20170525:165610.403 10: /lib/x86_64-linux-gnu/libc.so.6(+0x97d3e) [0x7f6804c57d3e] 23719:20170525:165610.403 9: sbin/zabbix_server: configuration syncer [synced configuration in 0.133855 sec, syncing configuration]() [0x44b43c] 23719:20170525:165610.403 8: sbin/zabbix_server: configuration syncer [synced configuration in 0.133855 sec, syncing configuration]() [0x45128a] 23719:20170525:165610.403 7: sbin/zabbix_server: configuration syncer [synced configuration in 0.133855 sec, syncing configuration](DCsync_configuration+0xf59) [0x452461] 23719:20170525:165610.403 6: sbin/zabbix_server: configuration syncer [synced configuration in 0.133855 sec, syncing configuration](dbconfig_thread+0x10a) [0x417091] 23719:20170525:165610.403 5: sbin/zabbix_server: configuration syncer [synced configuration in 0.133855 sec, syncing configuration](zbx_thread_start+0x1f) [0x46a3d0] 23719:20170525:165610.403 4: sbin/zabbix_server: configuration syncer [synced configuration in 0.133855 sec, syncing configuration](MAIN_ZABBIX_ENTRY+0x430) [0x41621e] 23719:20170525:165610.403 3: sbin/zabbix_server: configuration syncer [synced configuration in 0.133855 sec, syncing configuration](daemon_start+0x2f8) [0x46910f] 23719:20170525:165610.403 2: sbin/zabbix_server: configuration syncer [synced configuration in 0.133855 sec, syncing configuration](main+0x5ee) [0x415c91] 23719:20170525:165610.403 1: /lib/x86_64-linux-gnu/libc.so.6(__libc_start_main+0xf5) [0x7f6804be1ec5] 23719:20170525:165610.403 0: sbin/zabbix_server: configuration syncer [synced configuration in 0.133855 sec, syncing configuration]() [0x410f89] 23719:20170525:165610.403 === Memory map: === 23719:20170525:165610.404 00400000-00543000 r-xp 00000000 08:01 1343527 /home/foo/zabbix/branches/3.0/sbin/zabbix_server 23719:20170525:165610.404 00742000-00743000 r--p 00142000 08:01 1343527 /home/foo/zabbix/branches/3.0/sbin/zabbix_server 23719:20170525:165610.404 00743000-00749000 rw-p 00143000 08:01 1343527 /home/foo/zabbix/branches/3.0/sbin/zabbix_server 23719:20170525:165610.404 00749000-00750000 rw-p 00000000 00:00 0 23719:20170525:165610.404 01b73000-01b94000 rw-p 00000000 00:00 0 [heap] 23719:20170525:165610.404 01b94000-01c55000 rw-p 00000000 00:00 0 [heap] 23719:20170525:165610.404 01c55000-01cda000 rw-p 00000000 00:00 0 [heap] 23719:20170525:165610.404 7f67fcf84000-7f67fcf9a000 r-xp 00000000 08:01 295415 /lib/x86_64-linux-gnu/libgcc_s.so.1 23719:20170525:165610.404 7f67fcf9a000-7f67fd199000 ---p 00016000 08:01 295415 /lib/x86_64-linux-gnu/libgcc_s.so.1 23719:20170525:165610.404 7f67fd199000-7f67fd19a000 rw-p 00015000 08:01 295415 /lib/x86_64-linux-gnu/libgcc_s.so.1 23719:20170525:165610.404 7f67fd19a000-7f67fd1a5000 r-xp 00000000 08:01 295032 /lib/x86_64-linux-gnu/libnss_files-2.19.so 23719:20170525:165610.404 7f67fd1a5000-7f67fd3a4000 ---p 0000b000 08:01 295032 /lib/x86_64-linux-gnu/libnss_files-2.19.so 23719:20170525:165610.404 7f67fd3a4000-7f67fd3a5000 r--p 0000a000 08:01 295032 /lib/x86_64-linux-gnu/libnss_files-2.19.so
Looks like happens when syncing dns field:
$ for i in 0x45128a 0x44b43c; do line=$(addr2line -e sbin/zabbix_server $i); file=$(echo $line | awk -F: '{print $1}'); num=$(echo $line | awk -F: '{print $2}'); echo $line; sed -n "$((num-4)),$((num+4))p" $file; done /home/foo/zabbix/branches/3.0/src/libs/zbxdbcache/dbconfig.c:1786 interface->main = main_; interface->useip = useip; interface->bulk = bulk; reset_snmp_stats |= (SUCCEED == DCstrpool_replace(found, &interface->ip, row[5])); reset_snmp_stats |= (SUCCEED == DCstrpool_replace(found, &interface->dns, row[6])); <----------------------------- CALL reset_snmp_stats |= (SUCCEED == DCstrpool_replace(found, &interface->port, row[7])); /* update interfaces_ht index using new data, if not done already */ /home/foo/zabbix/branches/3.0/src/libs/zbxdbcache/dbconfig.c:484 static int DCstrpool_replace(int found, const char **curr, const char *new) { if (1 == found) { if (0 == strcmp(*curr, new)) <----------------------------- CRASH return FAIL; zbx_strpool_release(*curr); }