Help for Pro*C problem on Apollo (ACK)
Date: Tue, 27 Oct 1992 17:55:48 GMT
Message-ID: <1992Oct27.175548.3913_at_ncube.com>
Hello,
We have written some tools in Pro*C on an older Apollo system (ack).
I am trying to make them work on a newer Apollo, but I am getting some
very strange problems.
I am able to compile and link successfully although I get the
following warnings:
> server - sgalen: P:4096,3,6
> oracle: invalid sgasize argument: P:4096,3,6
>
> No errors, no warnings, 143 info messages, C compiler 68K Rev6.7(316)
> All globals are resolved.
> There are unallocated .bss globals.
The really wierd part is what happens at run time. The first thing our program does is to prompt the user for an ORACLE userid and password. Next there are two Pro*C statements to trap errors and login to ORACLE:
> EXEC SQL WHENEVER SQLERROR GOTO errexit;
> EXEC SQL CONNECT :uid IDENTIFIED BY :pwd;
The Pro*C precompiler expands these statements into regular C code which looks like this:
> { /* beginning of SQL code gen stmt */
> sqlsca(&sqlca);
> sq001.sq001V[0] = (unsigned char *)&uid.len;
> sq001.sq001L[0] = (unsigned long)32;
> .... and so on .....
When run normally, I get a "reference to illegal address" error
from the OS, and a crash. Running the program in a debugging
environment reveals that the crash occurs in the "sqlsca(&sqlca)"
call; the first line of actual ORACLE code!!! The error message
which the debugger gives is:
> Segmentation fault in sqlalc.sqlhch at \
line 358 in file "//phoenix/src1/6030/sqllib/sql/sqlalc.c"
> couldn't read "//phoenix/src1/6030/sqllib/sql/sqlalc.c"
This is the strange part. We don't have, and never have had a machine named "phoenix". We have no directories named "src1", and I cannot find any file anywhere called "sqlalc.c".
Thanks,
Shawn
sbh_at_ncube.com
PS - Here's the configuration:
ORACLE: V6.0.33.1.1 Pro*C: 1.1.10 Domain: SR10.3 (8/22/90)Received on Tue Oct 27 1992 - 18:55:48 CET
