I agree with Martin OCI may possibly be intercepting your signals and not
passing to Perl
is this mod_perl or are you running the perl binary as cgi script?

M--
----- Original Message -----
From: "Martin J. Evans" <[EMAIL PROTECTED]>
To: <[email protected]>
Sent: Thursday, November 08, 2007 7:59 AM
Subject: Re: Error always returned from system() after connecting to Oracle
10 .2 on Solaris 64 bit


> Sands Peter wrote:
> > Running perl5.8.3 compiled 32 bit with the Perl libraries, DBD 1.15, DBI
> > 1.41 distributed with Oracle 10.2, I find that, having connected to
Oracle
> > within a perl script any subsequent system() calls return a -1 error
status,
> > even simple commands like true.  (First tried building and using
> > DBD-Oracle-1.19, DBI-1.40 with the same results).
> >
> >
> >> cat dbtest.pl
> > use strict;
> > use Getopt::Std;
> > use DBI;
> >
> > # Connect to database
> > my $db = DBI -> connect("DBI:Oracle:","","",
> >                 {AutoCommit => 0,PrintError => 0,RaiseError => 1})
> >                         or die "Failed to connect: $DBI::errstr\n";
> > $db -> disconnect();
> >
> > system(true);
> >
> > print "$?\n";
> >
> >
> >  >/opt/app/oracle/product/10.2/perl/bin/perl5.8.3 dbtest.pl
> > -1
> >
> >> /opt/app/oracle/product/10.2/perl/bin/perl5.8.3 -v
> >
> > This is perl, v5.8.3 built for sun4-solaris-thread-multi
> >
> > Copyright 1987-2003, Larry Wall
> >
> > Perl may be copied only under the terms of either the Artistic License
or
> > the
> > GNU General Public License, which may be found in the Perl 5 source kit.
> >
> > Complete documentation for Perl, including FAQ lists, should be found on
> > this system using `man perl' or `perldoc perl'.  If you have access to
the
> > Internet, point your browser at http://www.perl.com/
<http://www.perl.com/>
> > , the Perl Home Page.
> >
> >
> >> file /opt/app/oracle/product/10.2/perl/bin/perl5.8.3
> > /opt/app/oracle/product/10.2/perl/bin/perl5.8.3:        ELF 32-bit MSB
> > executable SPARC Version 1, dynamically linked, not stripped
> >
> >
> >> echo $PERL5LIB
> >
/opt/app/oracle/product/10.2/perl/lib/5.8.3:/opt/app/oracle/product/10.2/per
> > l/lib/site_perl/5.8.3/
> >
> >
> >> /opt/app/oracle/product/10.2/perl/bin/perl5.8.3 -e 'use DBD::Oracle;
print
> > $DBD::Oracle::VERSION,"\n";'
> > 1.15
> >
> >
> >> /opt/app/oracle/product/10.2/perl/bin/perl5.8.3 -e 'use DBI; print
> > $DBI::VERSION,"\n";'
> > 1.41
> >
> > Peter Sands
> >
>
> Have you tried running truss on the perl script to see what is happening
> when system fails? I think it is worth a try. Also, the OCI libraries do
> a lot of fiddling with signals and I can imagine SIGCHLD having an
> effect on system.
>
> Martin
> --
> Martin J. Evans
> Easysoft Limited
> http://www.easysoft.com
>

Reply via email to