Opened 8 years ago

Closed 6 years ago

#6197 closed defect (fixed)

Error KPEDBG_HDL_PUSH_FCPTRMAX : OCI thread - unsafety?

Reported by: giorgiomugnaini Owned by: warmerdam
Priority: normal Milestone:
Component: default Version: 1.10.1
Severity: normal Keywords: oci
Cc:

Description (last modified by giorgiomugnaini)

The oracle environment seems not to be thread safe by default. Sometimes when multiple concurrent sessions are created an error KPEDBG_HDL_PUSH_FCPTRMAX is raised.

This fact seems to be related witt the following: in

int OGROCISession::EstablishSession( const char *pszUserid, 
                                     const char *pszPassword,
                                     const char *pszDatabase )

the function OCIInitialize is called with flags: OCI_DEFAULT | OCI_OBJECT, without the OCI_THREADED flag.

Oracle Documentation tells:

" OCI_THREADED - threaded environment. In this mode, internal data structures not exposed to the user are protected from concurrent accesses by multiple threads."

Note on version 2.0

In version 2.0 the flag OCI_DEFAULT is employed. Again, without OCI_THREADED.

Change History (3)

comment:1 by giorgiomugnaini, 8 years ago

Description: modified (diff)

comment:2 by Even Rouault, 8 years ago

Patch welcome

comment:3 by Even Rouault, 6 years ago

Resolution: fixed
Status: newclosed
Note: See TracTickets for help on using tickets.