---- oh...@cox.net wrote: 
> Hi,
> 
> Now that I've gotten by earlier problems with the module I'm working on (see 
> thread "Re: UNSOLVED was Re: SOLVED was Re: How to compiling/link/use Apache 
> module that uses shared library?"), I am trying to get my module to work with 
> the stuff in that libobaccess.so.  This .so is part of Oracle's Access Server 
> SDK (ASDK).
> 
> The problem I'm running into now is that there's an initialization call in 
> the library that I need to make, ObConfig_initialize() that is suppose to 
> initialize the SDK environment, but when I call that (it takes either NULL or 
> a const * char as parameter), it's blowing up (Apache aborts).
> 
> I *think* that the problem is that the libobaccess.so is actually C++, with a 
> bunch of wrapper-type C functions to wrap the C++ functions, i.e., so my 
> module (which is C) calls a function, and inside obaccess.so the function 
> calls a C++ function)., and it's probably blowing up because the Oracle code 
> doesn't know anything about Pool memory, but rather uses C++ new, etc.
> 
> Here's a gdb backtrace showing this:
> 
> In callAccessGate()...
> 
> 
> In callAccessGate(): About to set handler...
> 
> In callAccessGate(): returned from set handler
> 
> 
> In callAccessGate(): About to call ObConfig_initialize()...
> 
> Program received signal SIGABRT, Aborted.
> [Switching to Thread 182897612000 (LWP 15573)]
> 0x000000351432e26d in raise () from /lib64/tls/libc.so.6
> (gdb) bt full
> #0 0x000000351432e26d in raise () from /lib64/tls/libc.so.6
> No symbol table info available.
> #1 0x000000351432fa6e in abort () from /lib64/tls/libc.so.6
> No symbol table info available.
> #2 0x000000351a7b1148 in __gnu_cxx::__verbose_terminate_handler () from 
> /lib64/libstdc++.so.6
> No symbol table info available.
> #3 0x000000351a7af176 in __cxa_call_unexpected () from /lib64/libstdc++.so.6
> No symbol table info available.
> #4 0x000000351a7af1a3 in std::terminate () from /lib64/libstdc++.so.6
> No symbol table info available.
> #5 0x000000351a7af2a3 in __cxa_throw () from /lib64/libstdc++.so.6
> No symbol table info available.
> #6 0x0000002a97898a05 in ObThreadInitNLS () from 
> /apps/netpoint/lib64/libobaccess.so
> No symbol table info available.
> #7 0x0000002a97898f75 in SetGlobalInTLS () from 
> /apps/netpoint/lib64/libobaccess.so
> No symbol table info available.
> #8 0x0000002a9789913f in GetGlobalFromTLS () from 
> /apps/netpoint/lib64/libobaccess.so
> No symbol table info available.
> #9 0x0000002a97899edc in NLS::NLS () from /apps/netpoint/lib64/libobaccess.so
> No symbol table info available.
> #10 0x0000002a9773f1b1 in ObConfig::initialize () from 
> /apps/netpoint/lib64/libobaccess.so
> No symbol table info available.
> #11 0x0000002a976ee55d in ObConfig_initialize () from 
> /apps/netpoint/lib64/libobaccess.so
> ---Type <return> to continue, or q <return> to quit---
> No symbol table info available.
> #12 0x0000002a97b94266 in callAccessGate (
> PEM=0x706850 
> "MIICrTCCAhagAwIBAgICECUwDQYJKoZIhvcNAQEEBQAwgZMxCzAJBgNVBAYTAlVT\nMQswCQYDVQQIEwJWQTEPMA0GA1UEBxMGT0FLVE9OMRMwEQYDVQQKEwpKTFNpbXBs\nZUNBMRIwEAYDVQQLEwlKTERlbW8gQ0ExGzAZBgNVBAMTEkpMU2ltcGxlQ0EgRGVt\nbyBDQ"...,
> url=0x2a97b956b0 "//apache1/certprotected/index.html") at mod_headers.c:847
> res = Variable "res" is not available.
> (gdb)
> 
> So, my code calls ObConfig_initialize() then it appears that that calls 
> ObConfig_initialize() which is presumably a C++ function.
> 
> In general, is there any way to handle this problem/situation if it's memory 
> allocation (inside libobaccess.so) related?
> 
> Thanks,
> Jim

Sorry.  I meant to say:

"So, my code calls ObConfig_initialize() then it appears that that calls 
ObConfig::initialize() which is presumably a C++ function. "

Jim

Reply via email to