DBD-Oracle - Out of memory error when using DBDOracle and ARS together

Posted on Sat Dec 9 01:32:59 2006 by abomash
Out of memory error when using DBDOracle and ARS together
while working on SunSolaris 10 [SunOS 5.10 Generic_118833-17 sun4u sparc SUNW,Sun-Fire-V240] with Oracle 9i and Remedy 6.3 installed I have an error, when using DBD::Oracle 1.19 and ARSPerl 1.85 simultaneously:

"Out of memory! Callback called exit. END failed--call queue aborted. "

The code executed is the following:

#########

use DBD::Oracle; use ARS; [connect to oracle database using DBDOracle 1.19] [connect to remedy using ver. 1.85, ARS::ars_Login ( "servername", "user", "passw" ); using same oracle database and ARSperl api ] do some query stuff...

results in "Out of memory!..." error when disconnecting from oracle

##############

there is no error if DBDOracle is used alone without ARS calls;

in the same time, it seems that both modules are working OK together if the following line in the END{} sub in Oracle.pm module below is commented out:

$ENV{PERL_BADFREE} = 0;

so, the questions are:

1. any ideas what could be the reason for those errors, incopatibility between DBD and ARS installed on Solaris 10 with 64 bit integers? [on solaris 8, Oracle 8i, DBDOracle 1.15 and ARS 1.5X there were no errors like that! ]

2. what is the role of the environment setting above in Oracle.pm module ?

3. What is your opinion: is it safe [ in terms of memory leaks, etc ] just to comment out the above line of code permanently in Oracle.pm?

if YES, then for what platforms: Solaris9 or 10, oracle 9i or 10?

Thank you in advance!

A.B

############ END { # Used to silence 'Bad free() ...' warnings caused by bugs in Oracle's code # being detected by Perl's malloc. # $ENV{PERL_BADFREE} = 0; #undef $Win32::TieRegistry::Registry if $Win32::TieRegistry::Registry; }

Direct Responses: 3831 | Write a response