Virtual Memory Growth With C++ Application Using UNIXODBC 2.2.12 And the Oracle ODBC Driver on Unix (Doc ID 946102.1)

Last updated on JULY 05, 2017

Applies to:

Oracle ODBC Driver - Version 11.1.0.6.0 to 11.1.0.6.0
Red Hat Enterprise Linux Workstation
Applies to all OS using Unix ODBC Driver Manager Version 2.2.12 and Oracle 11g 11.1.0.6.0
***Checked for relevance on 31-Oct-2013***

Symptoms

A C++ application continually inserts data into a database table using ODBC. The virtual memory for the application continues to grow. Monitoring the virtual memory it continues to increase until it reaches 4095MB level (which is the /etc/sysctl.conf kernel.shmmax=4294967295 value) and then the application crashes with an ORA-24550 error.

Error

ORA-24550: signal received: [si_signo=6] [si_errno=0] [si_code=-6] [si_int=6] [si_ptr=0x6] [si_addr=0x701e]

Call stack trace

mmap(offset=…, len=…) failed with errno=12 for the file /opt/app/oracle/product/oracle_client/11.1.0.6.0/lib/libclntsh.so.11.1

 

NOTE: the issue only applies to UnixODBC Driver Manager  and not does not occur on a windows platform. 

 

Changes

64-bit Linux Server - RHEL 5
ODBC Version 11.1.0.6.0 on Oracle 11.1.0.6
Oracle Database Version 11.1.0.6.0

Cause

Sign In with your My Oracle Support account

Don't have a My Oracle Support account? Click to get started

My Oracle Support provides customers with access to over a
Million Knowledge Articles and hundreds of Community platforms