Обсуждение: ecpg runtime problem

Поиск
Список
Период
Сортировка

ecpg runtime problem

От
"Sirish Kumar"
Дата:
Hi,  I am using ecpg version 2.4.4. I am checking my code with purify to
remove any run time problems.
Following simple ecpg code gives core dump (when compiled with purify*).

.....
#include <stdio.h>

void main()
{
exec sql connect cdata;
}
.....

The report says
IPR: Invalid pointer read: * This is occurring while in:       makeEmptyPGconn [libecpg.so.2.6.2]       PQsetdbLogin
[libecpg.so.2.6.2]      main           [t4.o]       _start         [crt1.o] * Reading 4 bytes from 0xef7a2218 between
theheap and the stack.
 

****  Purify instrumented a.out (pid 18232)  ****
COR: Fatal core dump: * This is occurring while in:       makeEmptyPGconn [libecpg.so.2.6.2]       PQsetdbLogin
[libecpg.so.2.6.2]      main           [t4.o]       _start         [crt1.o] * Received signal 11 (SIGSEGV -
SegmentationFault) * Faulting address = 0xef7a2218 * Signal mask: (SIGSEGV) * Pending signals:
 
........

Please help.
Thanks in advance.

Best Regards
Sirish Kumar

*purify is a product from Rational Software and checks run-time problems.

----------------------------------------
Best Regards
Sirish Kumar
HCL Technologies (India) Pvt. Ltd.
Ph : +91-11-8-510813/701/702 Ext.1107
Fax : +91-11-8-510713
----------------------------------------



Re: [INTERFACES] ecpg runtime problem

От
Ivo Simicevic
Дата:
On Mon, Feb 28, 2000 at 06:12:54PM +0530, Sirish Kumar wrote:
> Hi,
>    I am using ecpg version 2.4.4. I am checking my code with purify to
> remove any run time problems.
> Following simple ecpg code gives core dump (when compiled with purify*).
> 
> .....
> #include <stdio.h>
> 
> void main()
> {
> exec sql connect cdata;
> }
> .....
> 

What is cdata : database name or variable containing database name?
If it is database name try enclosing it in double quotes like "cdata"
If cdata is variable it should be listed in DECLARE section
Also try using CONNECT TO database.

Good luck,

Ivo.


Re: [INTERFACES] ecpg runtime problem

От
Michael Meskes
Дата:
On Mon, Feb 28, 2000 at 06:12:54PM +0530, Sirish Kumar wrote:
>    I am using ecpg version 2.4.4. I am checking my code with purify to
> remove any run time problems.

Could you please try a newer version. 2.4.4 is rather old.

> exec sql connect cdata;

The connect syntax was changed. I'm not sure what it was like with version
2.4.4. The correct syntax is EXEC SQL CONNECT TO <dbname>. 

Is 'cdata' your database name? Could you please tell me how the statement
was translated? Just look into the corresponding .c file for cdata. This
should be particularly interesting since the purify message talked about
some libpq functions called from libecpg.

Michael
-- 
Michael Meskes                         | Go SF 49ers!
Th.-Heuss-Str. 61, D-41812 Erkelenz    | Go Rhein Fire!
Tel.: (+49) 2431/72651                 | Use Debian GNU/Linux!
Email: Michael@Fam-Meskes.De           | Use PostgreSQL!