Technical Blog Post
Abstract
db2egcf may return error SQLO_ADDR_CONFLICT on Linux
Body
The following is an example of the error dumped in db2diag.log:
PID : 12345 TID : xxx PROC : db2egcf
INSTANCE: db2inst` NODE : 000
HOSTNAME: host1
FUNCTION: <0>, <0>, <0>, probe:100
MESSAGE : ZRC=0x850F00C4=-2062614332=SQLO_ADDR_CONFLICT
"An address space conflict was detected attaching to shared memory."
DATA #1 : String, 22 bytes
sqlocshr.-2062614332..
CALLSTCK: (Static functions may not be resolved correctly, as they are resolved to the nearest symbol)
[0] 0x00002B1A56203E7B /opt/IBM/db2/v11.1/lib64/libdb2osse.so.1 + 0x23DE7B
[1] 0x00002B1A56203CB1 ossLog + 0xA1
[2] 0x0000000000403779 _Z21db2haAttachToDatabasePcP9SQLE_KRCBPP16sqeLocalDatabase + 0x249
[3] 0x0000000000403401 _Z17db2haGetHADRStatePcS_ + 0x1D1
[4] 0x0000000000402EE9 main + 0x8E9
[5] 0x00002B1A56FCCAF5 __libc_start_main + 0xF5
[6] 0x0000000000402539 /home/db2inst1/sqllib/bin/db2egcf + 0x2539
This error returns form OS when Db2 tries to attach or create shared memory segments. The conflict is caused by ASLR (Address Space Layout Randomization).
As a workaround you can disable ASLR temporarily:
#echo 0 | tee /proc/sys/kernel/randomize_va_space
You may refer to the following technote for resolving the error persistently:
UID
ibm13285819