Pro*C Fails To Connect Via Execl (Doc ID 1286683.1)

Last updated on JULY 05, 2017

Applies to:

Precompilers - Version: 10.2.0.4 and later   [Release: 10.2 and later ]
Information in this document applies to any platform.

Symptoms

Program A - calls fork(), then execl(to launch Program B), sleeps for 10 seconds, then checks the status via waitpid().  Program B simply connects to Oracle.

When running Program A to kick off Program B, the printf right before the CONNECT is displayed, but nothing else and a core file is produced.

Program B works every time as a standalone application for all versions of Oracle (9.2.0.8, 10.2.x and 11.2). There is a printf right before and right after the EXEC SQL CONNECT....; to confirm it gets past the CONNECT.

Simply commenting out the CONNECT within Program B and it works fine when called from Program A.

Error Stack:

[1] strrchr(0x0, 0x2f, 0x0, 0x0, 0x1c00, 0x2f000000), at 0xffffffff7cd752dc
[2] sigpnm(0x12000, 0xb2a834, 0x8, 0xffffffff7f212700, 0x0, 0x6), at 0xffffffff7e6e7f24
[3] sigpnmu(0xffffffff7fff8f78, 0xffffffff7fff7f78, 0x1000, 0xfffffffffffffff8, 0x0, 0xffffffff7f2920e8), at 0xffffffff7e6e7bd8
[4] snlpcgpgnm(0xffffffff7fff8f78, 0xffffffff7fff7f78, 0x1000, 0xffffffff7cf433bc, 0xffffffff7d100200, 0x0), at 0xffffffff7e6339fc
[5] snigpgn(0xffffffff7fff8f78, 0xffffffff7fff7f78, 0x1000, 0x100160a40, 0x0, 0x100103c70), at 0xffffffff7e60a08c
[6] niqnamcd(0xffffffff7fff8f78, 0xffffffff7fffb220, 0x1000, 0xffffffff7fff7f78, 0x7, 0xffffffff7f212700), at 0xffffffff7e5855d0
[7] niqname(0x10, 0x1, 0xffffffff7fffc4c0, 0x0, 0x10016a0f8, 0xffffffff7fffe6f8), at 0xffffffff7e585bbc
[8] kwfnran(0x100160231, 0xa, 0xffffffff7fffe700, 0xffffffff7fffe6f8, 0x100170144, 0xa), at 0xffffffff7e477e58
[9] kwfcinit(0x10016a0f8, 0x100160230, 0xa, 0xffffffff7fffe700, 0xffffffff7fffe6f8, 0x10013ae60), at 0xffffffff7e42ed2c
[10] kpuatch(0x10013b458, 0x10015e388, 0x10013ae60, 0xa, 0x0, 0x100162d58), at 0xffffffff7e221694
[11] OCIServerAttach(0x100162d58, 0x10015e388, 0x100160230, 0xa, 0x0, 0x1000000), at 0xffffffff7e3885b8
[12] sqlv8c(0x10013a6f0, 0x10013aa48, 0xffffffff7ffff454, 0x0, 0x9, 0xffffffff7f28add8), at 0xffffffff7e1e8814
[13] sqllam(0x10013a6f0, 0xffffffff7ffff454, 0x16, 0x0, 0x0, 0x0), at 0xffffffff7e1e8dcc
[14] sqllo3t(0x10013a6f0, 0x0, 0x0, 0xffffffff7fffecc0, 0x0, 0x0), at 0xffffffff7e1f08a8
[15] sqlcnt(0x10013a6f0, 0xa, 0xffffffff7fffefc8, 0xa, 0x122, 0xffffffff7f212700), at 0xffffffff7e1ee6f8
[16] sqlexp(0x10013a6f0, 0x10015f3d0, 0xffffffff7fffefc8, 0x0, 0x1, 0x1b), at 0xffffffff7e1effd0
[17] sqlcmex(0x96, 0xffffffff7fffef00, 0xffffffff7fffefc8, 0x1001015b0, 0x1, 0x0), at 0xffffffff7e1ea5d4
[18] sqlcxt(0xffffffff7ffff148, 0x1001015c4, 0xffffffff7fffefc8, 0x1001015b0, 0x1, 0xffffffff7ffff0b8), at 0xffffffff7e1eabc8
[19] main(0x400, 0x100101754, 0x1001010f8, 0x27, 0xa, 0x100001010), at 0x100000e54

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