Skip Menu |

Preferred bug tracker

Please visit the preferred bug tracker to report your issue.

This queue is for tickets about the DBD-Oracle CPAN distribution.

Report information
The Basics
Id: 16548
Status: resolved
Priority: 0/
Queue: DBD-Oracle

People
Owner: Nobody in particular
Requestors: ed.hingsbergen [...] cambridge-na.com
Cc:
AdminCc:

Bug Information
Severity: (no value)
Broken in: (no value)
Fixed in: (no value)



Subject: Child processes with certain connect methods
DBD-Oracle-1.16 DBI-1.49 perl v5.8.6 AIX 5.2.0.0 Oracle 10.1 Certain connect methods lead to problems with child processes. The following code: use DBI; $dbh = DBI->connect('dbi:Oracle:', $ENV{DBUSER}, $ENV{DBPASSWORD}); print `uname`; print "$!\n"; Prints: AIX There are no child processes. If instead I use: $dbh = DBI->connect("dbi:Oracle:host=$host;sid=$ENV{ORACLE_SID}", $ENV{DBUSER}, $ENV{DBPASSWORD}); The result is: AIX There are no child processes. In the first case, the $! content is erroneous. All backtick executions after the cinnect result in the same permissions message. In the second case, the message is also obviously wrong. I also get incorrect return values from the "kill" function. I rebuilt the DBI and DBD modules with no change. (To get DBD to make, I had to edit the Makefile to refer to the lib32 directories) How do you suggest I pursue this further? Thanks!!
This is a problem with Oracle. It overrides the signal handler and doesn't correctly pick up only it's own children (it uses wait() instead of waitpid()) and doesn't provide a way for other signal handlers to be called. Docs for Oracle8 hint that SIGCHILD handler can be overidden, but only document a function to overide SIGINT. For example: http://www.cs.nott.ac.uk/TSG/manuals/databases/oracle/standard/a90347/ ch4_comp.htm#26201 I can't find the same for SIGCHLD or in more recent Oracle docs (including nothing obvious in the Instant Client SDK header files). Try doing $SIG{CHLD} = 'DEFAULT'; after connecting, and let me know if that helps.
I'm glad it worked for you.
[ed.hingsbergen@cambridge-na.com - Tue Dec 20 15:37:42 2005]: Show quoted text
> Oops, hadn't tested the "kill" call, it still always return 0 after > connect(). > I am satisfied with my workaround, but will be glad to test anything > you suggest.
Can you give me a *very small* script that demonstrates an actualy practical problem (not just your expectations of what $! should hold, for example)? Tim.
On Fri Dec 16 13:35:44 2005, guest wrote: Show quoted text
> DBD-Oracle-1.16 > DBI-1.49 > perl v5.8.6 > AIX 5.2.0.0 > Oracle 10.1 > > Certain connect methods lead to problems with child processes. > The following code: > > use DBI; > $dbh = DBI->connect('dbi:Oracle:', $ENV{DBUSER}, > $ENV{DBPASSWORD}); > print `uname`; > print "$!\n"; > > Prints: > AIX > There are no child processes. > > If instead I use: > $dbh = DBI->connect("dbi:Oracle:host=$host;sid=$ENV{ORACLE_SID}", > $ENV{DBUSER}, $ENV{DBPASSWORD}); > > The result is: > AIX > There are no child processes. > > > In the first case, the $! content is erroneous. All backtick > executions after the cinnect result in the same permissions message. > > In the second case, the message is also obviously wrong. I also get > incorrect return values from the "kill" function. > > > I rebuilt the DBI and DBD modules with no change. (To get DBD to make, > I had to edit the Makefile to refer to the lib32 directories) > > How do you suggest I pursue this further? > > Thanks!!
This rt is very old now and I'm trying to clear the rt queue up for DBD::Oracle. The issue with SIGCHLD is fairly well known now as is the workaround Tim provided. Would you be happy for me to close this rt now? Martin -- Martin J. Evans Wetherby, UK
Subject: RE: [rt.cpan.org #16548] Child processes with certain connect methods
Date: Wed, 5 Jan 2011 17:26:43 -0500
To: <bug-DBD-Oracle [...] rt.cpan.org>
From: "Hingsbergen, Ed" <Ed.Hingsbergen [...] us.xchanging.com>
I'm satisfied. Thanks! Ed Hingsbergen Xchanging 300 W. Wilson Bridge Road Suite 200 Worthington, OH 43085-2286 Office: 614.987.1582 Web: www.xchanging.com Show quoted text
-----Original Message----- From: Martin J Evans via RT [mailto:bug-DBD-Oracle@rt.cpan.org] Sent: Thursday, December 30, 2010 1:21 PM To: Hingsbergen, Ed Subject: [rt.cpan.org #16548] Child processes with certain connect methods <URL: https://rt.cpan.org/Ticket/Display.html?id=16548 > On Fri Dec 16 13:35:44 2005, guest wrote:
> DBD-Oracle-1.16 > DBI-1.49 > perl v5.8.6 > AIX 5.2.0.0 > Oracle 10.1 > > Certain connect methods lead to problems with child processes. > The following code: > > use DBI; > $dbh = DBI->connect('dbi:Oracle:', $ENV{DBUSER}, > $ENV{DBPASSWORD}); > print `uname`; > print "$!\n"; > > Prints: > AIX > There are no child processes. > > If instead I use: > $dbh = DBI->connect("dbi:Oracle:host=$host;sid=$ENV{ORACLE_SID}", > $ENV{DBUSER}, $ENV{DBPASSWORD}); > > The result is: > AIX > There are no child processes. > > > In the first case, the $! content is erroneous. All backtick > executions after the cinnect result in the same permissions message. > > In the second case, the message is also obviously wrong. I also get > incorrect return values from the "kill" function. > > > I rebuilt the DBI and DBD modules with no change. (To get DBD to make, > I had to edit the Makefile to refer to the lib32 directories) > > How do you suggest I pursue this further? > > Thanks!!
This rt is very old now and I'm trying to clear the rt queue up for DBD::Oracle. The issue with SIGCHLD is fairly well known now as is the workaround Tim provided. Would you be happy for me to close this rt now? Martin -- Martin J. Evans Wetherby, UK Cambridge Integrated Services Group, Inc., Cambridge Galaher Settlements and Insurance Services, Inc., and Scandent Group, Inc. are members of the Xchanging group of companies. This message and any attachment are confidential and may also be privileged. If you are not the intended recipient of this e-mail you may not copy, forward, disclose or otherwise use it or any part of it in any form whatsoever. If you are not the intended recipient please telephone or e-mail the sender and delete this message and any attachment from your system.
Subject: Out of Office AutoReply: [rt.cpan.org #16548] Child processes with certain connect methods
Date: Wed, 5 Jan 2011 17:27:03 -0500
To: "Hingsbergen, Ed via RT" <bug-DBD-Oracle [...] rt.cpan.org>
From: "Hingsbergen, Ed" <Ed.Hingsbergen [...] us.xchanging.com>
I will be away from my desk Thursday and Friday, 1/6 and 1/7, and unable to check email. If you have an urgent issue, please phone me at 614-987-1582 Cambridge Integrated Services Group, Inc., Cambridge Galaher Settlements and Insurance Services, Inc., and Scandent Group, Inc. are members of the Xchanging group of companies. This message and any attachment are confidential and may also be privileged. If you are not the intended recipient of this e-mail you may not copy, forward, disclose or otherwise use it or any part of it in any form whatsoever. If you are not the intended recipient please telephone or e-mail the sender and delete this message and any attachment from your system.