[ZBX-20340] db.odbc.get key causing crashes of Zabbix server/proxy Oracle ODBC monitoring Created: 2021 Dec 10  Updated: 2023 Nov 22

Status: Confirmed
Project: ZABBIX BUGS AND ISSUES
Component/s: Proxy (P), Server (S)
Affects Version/s: None
Fix Version/s: None

Type: Incident report Priority: Major
Reporter: Karlis Salins Assignee: Michael Veksler
Resolution: Unresolved Votes: 1
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Attachments: XML File Template DB Oracle by ODBC GS1 (2).xml    
Issue Links:
Causes

 Description   

In some cases, db.odbc.get[] key causes crash of Zabbix server/proxy instance:

Got signal [signal:11(SIGSEGV),reason:1,refaddr:0x30]. Crashing ...
Got signal [signal:11(SIGSEGV),reason:1,refaddr:0x30]. Crashing ...
Got signal [signal:11(SIGSEGV),reason:1,refaddr:0x30]. Crashing ...
Got signal [signal:11(SIGSEGV),reason:1,refaddr:0x30]. Crashing ...
Got signal [signal:11(SIGSEGV),reason:1,refaddr:0x30]. Crashing ...
Got signal [signal:11(SIGSEGV),reason:1,refaddr:0x30]. Crashing ...
Got signal [signal:11(SIGSEGV),reason:1,refaddr:0x30]. Crashing ...

From customer:

DB admin disabled this item: Oracle: Get system metrics in our template (the one you also received from us before). And so far no crashes. Looks like there is some problem allocating memory in the area of odbc > transformation > json > regular expression processing. There is an attempt to access non existing memory.

Currently we have those two items disabled since yesterday: Oracle: Get system metrics and Oracle: Get system metrics_i2. And we don’t see any crashes since then. The item Oracle: Get system metrics_i2 is a copy of the Oracle: Get system metrics hence both were disabled.

Template attached, seems to be default 5.0 Oracle ODBC monitoring template.



 Comments   
Comment by Cesar Inacio Martins [ 2023 Oct 16 ]

Get into the same situation, with  oracle 11.2.0.4 odbc

With isql command, the odbc works fine.

The issue occurs when something begins to be collected.

Zabbix proxy version: 

# zabbix_proxy --version
zabbix_proxy (Zabbix) 6.4.5
Revision 6084b1dbbba 31 July 2023, compilation time: Jul 31 2023 12:28:38Copyright (C) 2023 Zabbix SIA
License GPLv2+: GNU GPL version 2 or later <https://www.gnu.org/licenses/>.
This is free software: you are free to change and redistribute it according to
the license. There is NO WARRANTY, to the extent permitted by law.This product includes software developed by the OpenSSL Project
for use in the OpenSSL Toolkit (http://www.openssl.org/).Compiled with OpenSSL 1.0.2k-fips  26 Jan 2017
Running with OpenSSL 1.0.2k-fips  26 Jan 2017

 

 

Backtrace:

 

 === Backtrace: ===
 19: /usr/sbin/zabbix_proxy: odbc poller #4 [got 0 values in 0.000015 sec, getting values](zbx_backtrace+0x44) [0x55a1b4b43c94]
 18: /usr/sbin/zabbix_proxy: odbc poller #4 [got 0 values in 0.000015 sec, getting values](zbx_log_fatal_info+0x3f5) [0x55a1b4b44175]
 17: /usr/sbin/zabbix_proxy: odbc poller #4 [got 0 values in 0.000015 sec, getting values](+0x1d7646) [0x55a1b4b44646]
 16: /lib64/libpthread.so.0(+0xf630) [0x7f05de7a7630]
 15: /home/zabbix/odbc/11.2/libsqora.so.11.1(bcoSQLSetStmtOption+0x11) [0x7f05d19a9e81]
 14: /home/zabbix/odbc/11.2/libsqora.so.11.1(bccSQLSetStmtOption+0xd7) [0x7f05d19c2f6f]
 13: /home/zabbix/odbc/11.2/libsqora.so.11.1(SQLSetConnectAttrW+0x337) [0x7f05d19c0fc3]
 12: /lib64/libodbc.so.2(+0xddf7) [0x7f05df61edf7]
 11: /lib64/libodbc.so.2(SQLDriverConnect+0x514) [0x7f05df624884]

 

 

 

 

 20205:20231016:141953.874 Got signal [signal:11(SIGSEGV),reason:1,refaddr:0x38]. Crashing ...
 20205:20231016:141953.874 ====== Fatal information: ======
 20205:20231016:141953.874 Program counter: 0x7f05d19a9e81
 20205:20231016:141953.874 === Registers: ===
 20205:20231016:141953.874 r8      =                0 =                    0 =                    0
 20205:20231016:141953.874 r9      =     7ffd741589a8 =      140726551021992 =      140726551021992
 20205:20231016:141953.874 r10     =                0 =                    0 =                    0
 20205:20231016:141953.874 r11     =     7f05d19a9e70 =      139662968135280 =      139662968135280
 20205:20231016:141953.874 r12     =               67 =                  103 =                  103
 20205:20231016:141953.874 r13     =                4 =                    4 =                    4
 20205:20231016:141953.874 r14     =     55a1b6e6ffe8 =       94153046687720 =       94153046687720
 20205:20231016:141953.874 r15     =               64 =                  100 =                  100
 20205:20231016:141953.874 rdi     =     55a1b6e6ffe8 =       94153046687720 =       94153046687720
 20205:20231016:141953.874 rsi     =     55a1b6e70088 =       94153046687880 =       94153046687880
 20205:20231016:141953.874 rbp     =     7ffd74158970 =      140726551021936 =      140726551021936
 20205:20231016:141953.874 rbx     =     7ffd741589a8 =      140726551021992 =      140726551021992
 20205:20231016:141953.874 rdx     =               67 =                  103 =                  103
 20205:20231016:141953.874 rax     =                0 =                    0 =                    0
 20205:20231016:141953.874 rcx     =                4 =                    4 =                    4
 20205:20231016:141953.874 rsp     =     7ffd74158970 =      140726551021936 =      140726551021936
 20205:20231016:141953.874 rip     =     7f05d19a9e81 =      139662968135297 =      139662968135297
 20205:20231016:141953.874 efl     =            10246 =                66118 =                66118
 20205:20231016:141953.874 csgsfs  =               33 =                   51 =                   51
 20205:20231016:141953.874 err     =                4 =                    4 =                    4
 20205:20231016:141953.874 trapno  =                e =                   14 =                   14
 20205:20231016:141953.874 oldmask =                0 =                    0 =                    0
 20205:20231016:141953.874 cr2     =               38 =                   56 =                   56
 20205:20231016:141953.874 === Backtrace: ===
 20205:20231016:141953.875 19: /usr/sbin/zabbix_proxy: odbc poller #4 [got 0 values in 0.000015 sec, getting values](zbx_backtrace+0x44) [0x55a1b4b43c94]
 20205:20231016:141953.875 18: /usr/sbin/zabbix_proxy: odbc poller #4 [got 0 values in 0.000015 sec, getting values](zbx_log_fatal_info+0x3f5) [0x55a1b4b44175]
 20205:20231016:141953.875 17: /usr/sbin/zabbix_proxy: odbc poller #4 [got 0 values in 0.000015 sec, getting values](+0x1d7646) [0x55a1b4b44646]
 20205:20231016:141953.875 16: /lib64/libpthread.so.0(+0xf630) [0x7f05de7a7630]
 20205:20231016:141953.875 15: /home/zabbix/odbc/11.2/libsqora.so.11.1(bcoSQLSetStmtOption+0x11) [0x7f05d19a9e81]
 20205:20231016:141953.875 14: /home/zabbix/odbc/11.2/libsqora.so.11.1(bccSQLSetStmtOption+0xd7) [0x7f05d19c2f6f]
 20205:20231016:141953.875 13: /home/zabbix/odbc/11.2/libsqora.so.11.1(SQLSetConnectAttrW+0x337) [0x7f05d19c0fc3]
 20205:20231016:141953.875 12: /lib64/libodbc.so.2(+0xddf7) [0x7f05df61edf7]
 20205:20231016:141953.875 11: /lib64/libodbc.so.2(SQLDriverConnect+0x514) [0x7f05df624884]
 20205:20231016:141953.875 10: /usr/sbin/zabbix_proxy: odbc poller #4 [got 0 values in 0.000015 sec, getting values](zbx_odbc_connect+0x229) [0x55a1b4a122c9]
 20205:20231016:141953.875 9: /usr/sbin/zabbix_proxy: odbc poller #4 [got 0 values in 0.000015 sec, getting values](get_value_db+0xde) [0x55a1b49f340e]
 20205:20231016:141953.875 8: /usr/sbin/zabbix_proxy: odbc poller #4 [got 0 values in 0.000015 sec, getting values](zbx_check_items+0x20f) [0x55a1b49f21ef]
 20205:20231016:141953.875 7: /usr/sbin/zabbix_proxy: odbc poller #4 [got 0 values in 0.000015 sec, getting values](+0x8581f) [0x55a1b49f281f]
 20205:20231016:141953.875 6: /usr/sbin/zabbix_proxy: odbc poller #4 [got 0 values in 0.000015 sec, getting values](poller_thread+0x182) [0x55a1b49f2e12]
 20205:20231016:141953.875 5: /usr/sbin/zabbix_proxy: odbc poller #4 [got 0 values in 0.000015 sec, getting values](zbx_thread_start+0x3e) [0x55a1b4b1092e]
 20205:20231016:141953.875 4: /usr/sbin/zabbix_proxy: odbc poller #4 [got 0 values in 0.000015 sec, getting values](MAIN_ZABBIX_ENTRY+0x84f) [0x55a1b49e18af]
 20205:20231016:141953.875 3: /usr/sbin/zabbix_proxy: odbc poller #4 [got 0 values in 0.000015 sec, getting values](zbx_daemon_start+0x1e3) [0x55a1b4b43943]
 20205:20231016:141953.875 2: /usr/sbin/zabbix_proxy: odbc poller #4 [got 0 values in 0.000015 sec, getting values](main+0x258) [0x55a1b49d8938]
 20205:20231016:141953.875 1: /lib64/libc.so.6(__libc_start_main+0xf5) [0x7f05dc84b555]
 20205:20231016:141953.875 0: /usr/sbin/zabbix_proxy: odbc poller #4 [got 0 values in 0.000015 sec, getting values](+0x71e14) [0x55a1b49dee14]
 20205:20231016:141953.875 === Memory map: ===

 

if need any collect , like strace , please let me know.

Comment by Kim Jongkwon [ 2023 Nov 22 ]

Hi, Cesar Inacio Martins

We've seen many crashes with Oracle Instant Client version 11.2. But using newer versions like 18.5 or 19.21 often helps.
So it might be good to try a other version of Oracle Instant Client.

FYI: Noted that when using ODBC checks to monitor Oracle databases

It has been observed that using ODBC checks for monitoring Oracle databases using various versions of Oracle Instant Client for Linux causes Zabbix server to crash. See also: ZBX-18402, ZBX-20803.

Comment by Cesar Inacio Martins [ 2023 Nov 22 ]

Hi Kim, 

Yes, I found this situation too. 
However, is very common for companies to have older versions of Oracle and the Oracle likes to create difficulties for theys users by limiting the versions of client VS databases , like client v12 didn't connect to database version <= 10 ...  

Here , I have this situation, with old legacy systems running Oracle version v8 , v9 , v10 ... which makes impossivel to monitor them using the Zabbix (at least with the odbc resource). 
This problem with ODBC is specific to zabbix, so ... someone should look for this.

As a workaround, I back to use my old scripts based on zabora scripts (shared on the old zabbix wiki) ... 

 

Now I have quite messy monitor tools here... some databases with ODBC , someothers with zabora scripts + trapper .

 

Generated at Mon May 19 06:45:49 EEST 2025 using Jira 9.12.4#9120004-sha1:625303b708afdb767e17cb2838290c41888e9ff0.