Cae postgres de forma inesperada

Ernesto Esteban del Campo Cárcamo desarrollo en desis.cl
Jue Jun 14 18:13:46 CLT 2007


Alvaro,

Gracias a lo que me dijiste encontré el error.

Te cuento que las bd de datos al ingresar un nuevo registro, ejecutan un 
compilado de C que reporta algo a otra aplicación... es una funcion onda 
llamaC('basedato'), y el problema se generaba al generar un string mas 
largo ej, llamaC('12345678900000000000').

Esto generaba el kernel: postmaster[9435]: segfault at 00000000006e6f69 
rip 0000000000502cc6 rsp 00007fff0de659c0 error 6

Muchas gracias por tu ayuda!!!

Ernesto del Campo C.

Ernesto Esteban del Campo Cárcamo escribió:
> Estimaods,
> 
> Me dio:
> 
> GNU gdb Red Hat Linux (6.5-16.el5rh)
> Copyright (C) 2006 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 "x86_64-redhat-linux-gnu"...(no debugging 
> symbols found)
> Using host libthread_db library "/lib64/libthread_db.so.1".
> 
> Reading symbols from /lib64/libpam.so.0...(no debugging symbols 
> found)...done.
> Loaded symbols for /lib64/libpam.so.0
> Reading symbols from /lib64/libssl.so.6...(no debugging symbols 
> found)...done.
> Loaded symbols for /lib64/libssl.so.6
> Reading symbols from /lib64/libcrypto.so.6...(no debugging symbols 
> found)...done.
> Loaded symbols for /lib64/libcrypto.so.6
> Reading symbols from /usr/lib64/libkrb5.so.3...(no debugging symbols 
> found)...done.
> Loaded symbols for /usr/lib64/libkrb5.so.3
> Reading symbols from /lib64/libcrypt.so.1...(no debugging symbols 
> found)...done.
> Loaded symbols for /lib64/libcrypt.so.1
> Reading symbols from /lib64/libdl.so.2...
> (no debugging symbols found)...done.
> Loaded symbols for /lib64/libdl.so.2
> Reading symbols from /lib64/libm.so.6...(no debugging symbols 
> found)...done.
> Loaded symbols for /lib64/libm.so.6
> Reading symbols from /lib64/libc.so.6...(no debugging symbols 
> found)...done.
> Loaded symbols for /lib64/libc.so.6
> Reading symbols from /lib64/libcom_err.so.2...(no debugging symbols 
> found)...done.
> Loaded symbols for /lib64/libcom_err.so.2
> Reading symbols from /lib64/libaudit.so.0...(no debugging symbols 
> found)...done.
> Loaded symbols for /lib64/libaudit.so.0
> Reading symbols from /usr/lib64/libgssapi_krb5.so.2...
> (no debugging symbols found)...done.
> Loaded symbols for /usr/lib64/libgssapi_krb5.so.2
> Reading symbols from /usr/lib64/libk5crypto.so.3...(no debugging symbols 
> found)...done.
> Loaded symbols for /usr/lib64/libk5crypto.so.3
> Reading symbols from /usr/lib64/libz.so.1...(no debugging symbols 
> found)...done.
> Loaded symbols for /usr/lib64/libz.so.1
> Reading symbols from /usr/lib64/libkrb5support.so.0...(no debugging 
> symbols found)...done.
> Loaded symbols for /usr/lib64/libkrb5support.so.0
> Reading symbols from /lib64/libresolv.so.2...(no debugging symbols 
> found)...done.
> Loaded symbols for /lib64/libresolv.so.2
> Reading symbols from /lib64/ld-linux-x86-64.so.2...
> (no debugging symbols found)...done.
> Loaded symbols for /lib64/ld-linux-x86-64.so.2
> Reading symbols from /lib64/libnss_files.so.2...(no debugging symbols 
> found)...done.
> Loaded symbols for /lib64/libnss_files.so.2
> Reading symbols from /usr/lib64/gconv/ISO8859-1.so...(no debugging 
> symbols found)...done.
> Loaded symbols for /usr/lib64/gconv/ISO8859-1.so
> Reading symbols from /lib64/libnss_dns.so.2...(no debugging symbols 
> found)...done.
> Loaded symbols for /lib64/libnss_dns.so.2
> Reading symbols from /usr/lib64/pgsql/plpgsql.so...(no debugging symbols 
> found)...done.
> Loaded symbols for /usr/lib64/pgsql/plpgsql.so
> Reading symbols from /pgdte/pgdte.so...
> (no debugging symbols found)...done.
> Loaded symbols for /pgdte/pgdte.so
> Core was generated by `postgres: ernesto axiomaintegracion 192.1'.
> Program terminated with signal 11, Segmentation fault.
> #0  0x0000000000502cc6 in ExecMakeFunctionResult ()
> (gdb) bt
> 
> #0  0x0000000000502cc6 in ExecMakeFunctionResult ()
> #1  0x0000000000500a23 in ExecProject ()
> #2  0x0000000000510803 in ExecResult ()
> #3  0x0000000000500226 in ExecProcNode ()
> #4  0x0000000000513137 in ExecSetParamPlan ()
> #5  0x0000000000502681 in GetAttributeByNum ()
> #6  0x0000000000500a23 in ExecProject ()
> #7  0x0000000000510803 in ExecResult ()
> #8  0x0000000000500226 in ExecProcNode ()
> #9  0x00000000004ff51a in ExecutorRun ()
> #10 0x000000000051636b in SPI_copytuple ()
> #11 0x0000000000516599 in SPI_execute_plan ()
> #12 0x00002aaab7d39f61 in plpgsql_subxact_cb () from 
> /usr/lib64/pgsql/plpgsql.so
> #13 0x00002aaab7d391ca in plpgsql_subxact_cb () from 
> /usr/lib64/pgsql/plpgsql.so
> #14 0x00002aaab7d3b0a3 in plpgsql_subxact_cb () from 
> /usr/lib64/pgsql/plpgsql.so
> #15 0x00002aaab7d3c2c3 in plpgsql_subxact_cb () from 
> /usr/lib64/pgsql/plpgsql.so
> #16 0x00002aaab7d3dcef in plpgsql_subxact_cb () from 
> /usr/lib64/pgsql/plpgsql.so
> #17 0x00002aaab7d3c2d3 in plpgsql_subxact_cb () from 
> /usr/lib64/pgsql/plpgsql.so
> #18 0x00002aaab7d3c0ca in plpgsql_subxact_cb () from 
> /usr/lib64/pgsql/plpgsql.so
> #19 0x00002aaab7d3e5f3 in plpgsql_exec_function () from 
> /usr/lib64/pgsql/plpgsql.so
> #20 0x00002aaab7d3548e in plpgsql_call_handler () from 
> /usr/lib64/pgsql/plpgsql.so
> #21 0x0000000000502cbe in ExecMakeFunctionResult ()
> #22 0x0000000000500a23 in ExecProject ()
> #23 0x0000000000510803 in ExecResult ()
> #24 0x0000000000500226 in ExecProcNode ()
> #25 0x00000000004ff51a in ExecutorRun ()
> #26 0x00000000005862d1 in PostgresMain ()
> #27 0x0000000000587306 in PortalRun ()
> #28 0x00000000005833df in pg_parse_query ()
> #29 0x0000000000584862 in PostgresMain ()
> #30 0x000000000055dfd7 in ClosePostmasterPorts ()
> #31 0x000000000055ebea in PostmasterMain ()
> #32 0x000000000051fe23 in main ()
> 
> Atte,
> Ernesto del Campo C.
> 
> Alvaro Herrera escribió:
>> Ernesto Esteban del Campo Cárcamo escribió:
>>> En el bash de postgres ejecuté:
>>> Primero
>>> # ulimit -c unlimited
>>> Luego
>>> # /usr/bin/postmaster -p '5432' -D '/BASEDATO' & >> 
>>> /var/lib/pgsql/pgstartup.log 2>&1 < /dev/null
>>>
>>> Donde se supone que debiera quedar el archivo core?
>>
>> Depende de la version, pero empieza buscandolo en /BASEDATO.
>>


Más información sobre la lista de distribución Linux