[ZBX-2503] Zabbix proxy crashes when compiled with oracle support on 64bit linux Created: 2010 Jun 03  Updated: 2017 May 30  Resolved: 2010 Jun 09

Status: Closed
Project: ZABBIX BUGS AND ISSUES
Component/s: Proxy (P)
Affects Version/s: 1.8.3
Fix Version/s: 1.8.3, 1.9.0 (alpha)

Type: Incident report Priority: Major
Reporter: Fyodor Assignee: Unassigned
Resolution: Fixed Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

Linux m232 2.6.27.6smp_64 #1 SMP Wed Feb 4 17:27:54 MSK 2009 x86_64 x86_64 x86_64 GNU/Linux
Red Hat Enterprise Linux Server release 5.1 (Tikanga)
Oracle Release 10.2.0.4.0 - Production

ldd `which zabbix_proxy`
linux-vdso.so.1 => (0x00007fff376b6000)
libcurl.so.3 => /usr/lib64/libcurl.so.3 (0x00000039c1800000)
libgssapi_krb5.so.2 => /usr/lib64/libgssapi_krb5.so.2 (0x00000039cd200000)
libkrb5.so.3 => /usr/lib64/libkrb5.so.3 (0x00000039c6c00000)
libk5crypto.so.3 => /usr/lib64/libk5crypto.so.3 (0x00000039c8000000)
libcom_err.so.2 => /lib64/libcom_err.so.2 (0x00000039c6000000)
libresolv.so.2 => /lib64/libresolv.so.2 (0x00000039c5800000)
libdl.so.2 => /lib64/libdl.so.2 (0x00000039c1000000)
libidn.so.11 => /usr/lib64/libidn.so.11 (0x00000039c1400000)
libssl.so.6 => /lib64/libssl.so.6 (0x00000039cb600000)
libcrypto.so.6 => /lib64/libcrypto.so.6 (0x00000039c5c00000)
libz.so.1 => /usr/lib64/libz.so.1 (0x00000039c1c00000)
libclntsh.so.10.1 => /u01/oracle/product/lib/libclntsh.so.10.1 (0x00007f682e1a5000)
libnnz10.so => /u01/oracle/product/lib/libnnz10.so (0x00007f682dd05000)
libm.so.6 => /lib64/libm.so.6 (0x00007f682da81000)
libc.so.6 => /lib64/libc.so.6 (0x00000039c0c00000)
libkrb5support.so.0 => /usr/lib64/libkrb5support.so.0 (0x00000039c8800000)
libkeyutils.so.1 => /lib64/libkeyutils.so.1 (0x00000039c6800000)
/lib64/ld-linux-x86-64.so.2 (0x00000039c0800000)
libpthread.so.0 => /lib64/libpthread.so.0 (0x00007f682d866000)
libnsl.so.1 => /lib64/libnsl.so.1 (0x00000039c4800000)
libselinux.so.1 => /lib64/libselinux.so.1 (0x00000039c2800000)
libsepol.so.1 => /lib64/libsepol.so.1 (0x00000039c2400000)


Attachments: File objdump.bz2     File objdump.bz2     File zabbix_proxy.conf     Text File zabbix_proxy.log     Text File zabbix_proxy.log    

 Description   

When i compile zabbix_proxy with ./configure --enable-proxy --with-oracle=/u01/oracle/product/ it crashes after start.
Backtrace in attachment.



 Comments   
Comment by Fyodor [ 2010 Jun 03 ]

Log file

Comment by Fyodor [ 2010 Jun 03 ]

objdump -D -S zabbix_proxy

Comment by Aleksandrs Saveljevs [ 2010 Jun 08 ]

Fixed in pre-1.8.3 in r12599.

Comment by Fyodor [ 2010 Jun 08 ]

I build last revision from svn (12605) and gets same.
15929:20100608:131357.861 Got signal [signal:11(SIGSEGV),reason:1,refaddr:(nil)]. Crashing ...

Comment by Aleksandrs Saveljevs [ 2010 Jun 08 ]

What we have been able to gather from the log and objdump, is that proxy crashed when DBUser or DBPassword parameter was not specified. This is fixed.

Could you please attach another log and objdump so that we can confirm that the crash now is in a different place?

Comment by Fyodor [ 2010 Jun 08 ]

No, it's wrong. DBUser and DBPassword specified both.

Comment by Fyodor [ 2010 Jun 08 ]

[zabbix@m232 ~]$ ls -lah /etc/zabbix/
total 24K
drwxr-xr-x 3 root root 4.0K Jun 3 16:51 .
drwxr-xr-x 95 root root 8.0K Jun 6 04:02 ..
drwxr-xr-x 4 root root 4.0K Jun 3 15:10 create
rw-rr- 1 root root 7.9K Jun 3 16:51 zabbix_proxy.conf

Comment by Aleksandrs Saveljevs [ 2010 Jun 08 ]

Hm, this is highly interesting. A new log file with DebugLevel=4 and objdump would be very much appreciated.

Comment by Fyodor [ 2010 Jun 08 ]

objdump 2

Comment by Fyodor [ 2010 Jun 08 ]

log 2

Comment by Aleksandrs Saveljevs [ 2010 Jun 08 ]

Could you please check whether you are really trying to run the latest version of proxy?

The first reason I am not convinced is that the difference between two objdump's is too small to reflect everything we have fixed:

$ diff -u objdump-1/objdump objdump-2/objdump
— objdump-1/objdump 2010-06-04 09:15:25.000000000 +0300
+++ objdump-2/objdump 2010-06-08 15:06:35.000000000 +0300
@@ -132387,14 +132387,12 @@
4525a0: 6e outsb %ds%rsi),(%dx)
4525a1: 20 25 73 29 20 28 and %ah,673196403(%rip) # 28654f1a <_end+0x27fc209a>
4525a7: 25 73 29 0a 00 and $0xa2973,%eax

  • 4525ac: 31 39 xor %edi,(%rcx)
  • 4525ae: 3a 30 cmp (%rax),%dh
    + 4525ac: 31 33 xor %esi,(%rbx)
    + 4525ae: 3a 31 cmp (%rcx),%dh
    4525b0: 30 3a xor %bh,(%rdx)
  • 4525b2: 33 38 xor (%rax),%edi
  • 4525b4: 00 4a 75 add %cl,0x75(%rdx)
  • 4525b7: 6e outsb %ds%rsi),(%dx)
    + 4525b2: 32 35 00 4a 75 6e xor 1853180416(%rip),%dh # 6eba6fb8 <_end+0x6e514138>
    4525b8: 20 20 and %ah,(%rax)
  • 4525ba: 33 20 xor (%rax),%esp
    + 4525ba: 38 20 cmp %ah,(%rax)
    4525bc: 32 30 xor (%rax),%dh
    4525be: 31 30 xor %esi,(%rax)
    4525c0: 00 43 6f add %al,0x6f(%rbx)

The second reason I am not convinced is that zabbix_proxy.log ends with:

16494:20100608:153731.123 Please consider attaching a disassembly listing to your bug report.
16494:20100608:153731.123 This listing can be produced with, e.g., objdump -D -S zabbix_server.

After r12598, it should have suggested to disassemble zabbix_proxy (thanks to richlv!).

Comment by Fyodor [ 2010 Jun 09 ]

Really, i try old revision( It's my mistake

Generated at Thu Apr 25 01:01:49 EEST 2024 using Jira 9.12.4#9120004-sha1:625303b708afdb767e17cb2838290c41888e9ff0.