Re: DBD::Oracle / Instant Client segfaults



hi

I've been doing some more tests concerning this issue and it seems that it only appears with the combination of Oracle Instant client libraries, Perl configured with -Dusemymalloc on RHEL 3. When I configure Perl without -Dusemymalloc everything works fine. The issue doesn't appear with Oracle10g full client on RHEL 3 or with OIC on RHEL 4, Solaris 8 or HP-UX 11i v1.

I've reported this issue to Oracle but does anyone have clues on what is causing this or suggestions on how to get this fixed on the Perl side? I'd really need to use -Dusemymalloc and Oracle Instant Client.

br. aspa



On 2005-12-29, at 14.26, Marko Asplund wrote:

I'm having problems with DBD::Oracle built with Oracle Instant Client on Linux (RHEL 3 U6). Occasionally when i run my application from the command line the process receives a segmentation fault and sometimes it terminates with an 'Out of memory' message.

I've been able to reproduce the issue with a simple script that just connects to the database and does nothing else:

use strict;
use DBI;
my $dbdsn;
#use Digest::SHA1;
$dbdsn = 'dbi:Oracle:host=foo.bar.com;sid=devel5';
my $dbuser = 'baz';
my $dbpass = 'baz';
my $dbh = DBI->connect("$dbdsn", "$dbuser/$dbpass", '');
print "dbh: $dbh\n";
1;

When i run the script with the 'use Digest::SHA1;' line commented the process occasionally terminates with a message like the following:

Out of memory during request for 964 bytes, total sbrk() is 1320960 bytes!

but segmentation faults don't seem to occur. The process seems to be reserving quite a bit of memory for a simple script according to the above message. The strace includes over 69000 brk() calls (the strace attachment files don't seem to come through to this list).

When I load the Digest::SHA1 module segmentation faults occur once in a while. The frequency changes but here's how many times i had to run the script until i received the segmentation fault on 5 separate runs: 83, 47, 51, 173, 5.

I've tested this on another machine with Red Hat Enterprise Linux 4 U2 and after over 4000 runs i haven't seen a single out of memory error or segfault.

I've built DBD::Oracle 1.16 (DBI 1.42) with Oracle Instant Client 10gR2 on Red Hat Enterprise Linux 3.0 (update 6). The build procedure followed the build recipe described by Tim Barrass and posted on dbi-users earlier (the recipe includes setting up the IC directory structure in a similar manner as with normal Oracle client installation and a Makefile.PL patch). I've installed the following IC packages:

        instantclient-basic-linux32-10.2.0.1-20050713.zip
        instantclient-sdk-linux32-10.2.0.1-20050713.zip
        instantclient-sqlplus-linux32-10.2.0.1-20050713.zip

The problem doesn't appear on the same RHEL 3 machine with DBD::Oracle built with the full Oracle10g R2 client (tested with over 3000 runs).

Is anyone having similar problems with DBD::Oracle built with the Oracle Instant Client? Any ideas on how to resolve this problem?


br. aspa

.



Relevant Pages

  • Re: Apache, Oracle, Perl DBI Problems
    ... I believe at the start of every perl cgi script interfacing ... 'perl dbi oracle'. ...
    (perl.dbi.users)
  • Re: install_driver(Oracle) failed: wrong ELF class: DynaLoader.pm
    ... I'm not the Oracle expert - treat what I say with a pinch of salt. ... So, if your Perl script sets LD_LIBRARY_PATH, ... Try modifying your cron job so that it runs a shell script which sets at ...
    (perl.dbi.users)
  • RE: Accessing oracle from windows 2000
    ... platforms (with caveats and issues that will be outlined below. ... I use DBD::Oracle when using an Oracle data source. ... You need to have the Oracle client installed -- and licensed -- on your ... while ago (after the Perl 5.6.x timeframe and before 5.8.x timeframe). ...
    (perl.dbi.users)
  • Re: Possible memory corruption bug in DBD::Oracle
    ... I reproduced it on Oracle 9.0.1. ... > machines with Oracle client 9.2. ... > Here is a simple script that exhibits the problem ... ... > You are executing an anonymous PL/SQL block ...
    (perl.dbi.users)
  • RE: DBI blues
    ... I am trying to install DBI to run a DBtest Script that was written ... I am not very familiar with Perl. ... or Oracle database. ...
    (perl.dbi.users)