Thread: ECPG segmentation fault

ECPG segmentation fault

From
Antonio Sergio de Mello e Souza
Date:
Hi all,

ECPG is causing a segmentation fault when compiling source code with
this statement:

EXEC SQL AT db     GRANT INSERT, UPDATE, SELECT ON table TO "user";


Output from gdb:

$ gdb /usr/local/pgsql/bin/ecpg core
GNU gdb 5.0
Copyright 2000 Free Software Foundation, Inc.
GDB is free software, covered by the GNU General Public License, and you are
welcome to change it and/or distribute copies of it under certain
conditions.
Type "show copying" to see the conditions.
There is absolutely no warranty for GDB.  Type "show warranty" for details.
This GDB was configured as "i686-pc-linux-gnu"...
Core was generated by `ecpg -t -I ../h -o auxprocbn.c auxprocbn.ec'.
Program terminated with signal 11, Falha de segmentação.
Reading symbols from /usr/lib/libz.so.1...done.
Loaded symbols for /usr/lib/libz.so.1
Reading symbols from /lib/libcrypt.so.1...done.
Loaded symbols for /lib/libcrypt.so.1
Reading symbols from /lib/libresolv.so.2...done.
Loaded symbols for /lib/libresolv.so.2
Reading symbols from /lib/libnsl.so.1...done.
Loaded symbols for /lib/libnsl.so.1
Reading symbols from /lib/libdl.so.2...done.
Loaded symbols for /lib/libdl.so.2
Reading symbols from /lib/libm.so.6...done.
Loaded symbols for /lib/libm.so.6
Reading symbols from /lib/libc.so.6...done.
Loaded symbols for /lib/libc.so.6
Reading symbols from /lib/ld-linux.so.2...done.
Loaded symbols for /lib/ld-linux.so.2
#0  0x8048e2f in cat2_str ()
(gdb) where
#0  0x8048e2f in cat2_str ()
#1  0x8048e9c in cat_str ()
#2  0x804bc56 in yyparse ()
#3  0x80560af in main ()
#4  0x400b79cb in __libc_start_main (main=0x8055c34 <main>, argc=7,     argv=0xbffff994, init=0x8048a34 <_init>,
fini=0x805726c<_fini>,rtld_fini=0x4000aea0 <_dl_fini>, stack_end=0xbffff98c)     at ../sysdeps/generic/libc-start.c:92
 
(gdb) quit


I'm using PostgreSQL 7.1.2 and my system is a:

Linux version 2.2.16-13cl (root@mapi2.conectiva.com.br) (gcc version
egcs-2.91.66 19990314/Linux (egcs-1.1.2 release)) #1 seg jun 26 17:15:04
BRST 2000
Detected 398201 kHz processor.
Memory: 127848k/131008k available (1028k kernel code, 416k reserved,
1648k data, 68k init)
CPU: Intel Celeron (Mendocino) stepping 05
.

Regards,

Antonio Sergio



Re: ECPG segmentation fault

From
Bruce Momjian
Date:
I think that is fixed in the current sources.  You can check the mailing
list archives during the past two weeks for a patch that fixes it.

> Hi all,
> 
> ECPG is causing a segmentation fault when compiling source code with
> this statement:
> 
> EXEC SQL AT db
>       GRANT INSERT, UPDATE, SELECT ON table TO "user";
> 
> 
> Output from gdb:
> 
> $ gdb /usr/local/pgsql/bin/ecpg core
> GNU gdb 5.0
> Copyright 2000 Free Software Foundation, Inc.
> GDB is free software, covered by the GNU General Public License, and you are
> welcome to change it and/or distribute copies of it under certain
> conditions.
> Type "show copying" to see the conditions.
> There is absolutely no warranty for GDB.  Type "show warranty" for details.
> This GDB was configured as "i686-pc-linux-gnu"...
> Core was generated by `ecpg -t -I ../h -o auxprocbn.c auxprocbn.ec'.
> Program terminated with signal 11, Falha de segmenta??o.
> Reading symbols from /usr/lib/libz.so.1...done.
> Loaded symbols for /usr/lib/libz.so.1
> Reading symbols from /lib/libcrypt.so.1...done.
> Loaded symbols for /lib/libcrypt.so.1
> Reading symbols from /lib/libresolv.so.2...done.
> Loaded symbols for /lib/libresolv.so.2
> Reading symbols from /lib/libnsl.so.1...done.
> Loaded symbols for /lib/libnsl.so.1
> Reading symbols from /lib/libdl.so.2...done.
> Loaded symbols for /lib/libdl.so.2
> Reading symbols from /lib/libm.so.6...done.
> Loaded symbols for /lib/libm.so.6
> Reading symbols from /lib/libc.so.6...done.
> Loaded symbols for /lib/libc.so.6
> Reading symbols from /lib/ld-linux.so.2...done.
> Loaded symbols for /lib/ld-linux.so.2
> #0  0x8048e2f in cat2_str ()
> (gdb) where
> #0  0x8048e2f in cat2_str ()
> #1  0x8048e9c in cat_str ()
> #2  0x804bc56 in yyparse ()
> #3  0x80560af in main ()
> #4  0x400b79cb in __libc_start_main (main=0x8055c34 <main>, argc=7,
>       argv=0xbffff994, init=0x8048a34 <_init>, fini=0x805726c <_fini>,
>     rtld_fini=0x4000aea0 <_dl_fini>, stack_end=0xbffff98c)
>       at ../sysdeps/generic/libc-start.c:92
> (gdb) quit
> 
> 
> I'm using PostgreSQL 7.1.2 and my system is a:
> 
> Linux version 2.2.16-13cl (root@mapi2.conectiva.com.br) (gcc version
> egcs-2.91.66 19990314/Linux (egcs-1.1.2 release)) #1 seg jun 26 17:15:04
> BRST 2000
> Detected 398201 kHz processor.
> Memory: 127848k/131008k available (1028k kernel code, 416k reserved,
> 1648k data, 68k init)
> CPU: Intel Celeron (Mendocino) stepping 05
> .
> 
> Regards,
> 
> Antonio Sergio
> 
> 
> ---------------------------(end of broadcast)---------------------------
> TIP 6: Have you searched our list archives?
> 
> http://archives.postgresql.org
> 

--  Bruce Momjian                        |  http://candle.pha.pa.us pgman@candle.pha.pa.us               |  (610)
853-3000+  If your life is a hard drive,     |  830 Blythe Avenue +  Christ can be your backup.        |  Drexel Hill,
Pennsylvania19026
 


Re: ECPG segmentation fault

From
Tom Lane
Date:
Antonio Sergio de Mello e Souza <asergioz@bol.com.br> writes:
> ECPG is causing a segmentation fault when compiling source code with
> this statement:
> EXEC SQL AT db
>       GRANT INSERT, UPDATE, SELECT ON table TO "user";

This was just discovered and fixed a few days ago --- the handling of
the "with grant option" clause was wrong.
        regards, tom lane