Uploaded image for project: 'ZABBIX BUGS AND ISSUES'
  1. ZABBIX BUGS AND ISSUES
  2. ZBX-12226

Zabbix server compiled with Oracle support crashes on syncing host interfaces

XMLWordPrintable

    • Icon: Problem report Problem report
    • Resolution: Fixed
    • Icon: Trivial Trivial
    • 3.0.10rc1, 3.4.0alpha1
    • 3.0.9
    • Server (S)
    • 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);
              }
      

            Unassigned Unassigned
            dimir dimir
            Team A
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

              Created:
              Updated:
              Resolved: