DBMS_PIPE package and ORA-3113

From: Peter Gross <pag_at_probita.com>
Date: 1996/06/04
Message-ID: <mortDsHyuw.GqK_at_netcom.com>#1/1


Hi,

    We have found a serious bug in the DBMS_PIPE package under v7.1.4.1.10 for HPUX 10.01. We have placed a tar (9482774.6), but Oracle seems reluctant to do much about it. I have a test program that demonstrates the problem. When compiled with the 7.1.4.1.0 libraries, it works as expected; when compiled with the 7.1.4.1.10 libs, it throws an ORA-3113.

Our analysis of the problem (without having access to Oracle source code to prove it :)) is that Oracle must have added code that checks for what they think is error conditions and then throw a 3113 exception whenever these occur. Unfortunately a SIGCHLD interrupts an oracle-called system call from within the DBMS_PIPE.RECEIVE_MESSAGE() function. Instead of recognizing an interrupted system call and handling that properly, Oracle throws a 3113 error. We believe this will happen from any signal (not just SIGCHLD, and regardless of wheter you have a signal handler for that signal or not). This is a crippling bug for our application! We have worked around it by linking the code with the 7.1.4.1.0 libaries (but continue to use 7.1.4.1.10 instances).

I am looking for suggestions of how to get this fixed via email, i.e., an address for me to mail my demo program. The phone support is terrible.

Please reply via email, as I do not normally read this newsgroup.

peter gross
pag_at_probita.com
+1.303.546.6307 x3329 Received on Tue Jun 04 1996 - 00:00:00 CEST

Original text of this message