Обсуждение: pg_dump Crashes and core dumps
============================================================================
POSTGRESQL BUG REPORT TEMPLATE
============================================================================
Your name : Shibashish
Your email address : shib@postmark.net
System Configuration
---------------------
Architecture (example: Intel Pentium) : Intel Pentium II
Operating System (example: Linux 2.0.26 ELF) : SCO_SV (SCO Open Server
5.0.4)
PostgreSQL version (example: PostgreSQL-7.3): PostgreSQL-7.3.1
Compiler used (example: gcc 2.95.2) : gcc 2.7.2.1
Please enter a FULL description of your problem:
-----------------------------------------------
I have 2 databases. "test" and "working"
There r 39 tables in "test", very less data in them.
There r 40 tables in "working" and there is some data, not too much. And
there are referential integrety ocnstraints between the data.
When i do a "pg_dump test" it works fine.
But When i do a "pg_dump working" I get "Segmentation fault (core dumped)"
If anybody wants, i can send the core file. Any help will be highly
appreciated.
Shibashish <shiba@it.iitb.ac.in> writes:
> When i do a "pg_dump test" it works fine.
> But When i do a "pg_dump working" I get "Segmentation fault (core dumped)"
> If anybody wants, i can send the core file. Any help will be highly
> appreciated.
The core file will be useless away from your own system.
Could we see a stack backtrace from it, instead? (Please compile with
debug symbols if you didn't already.) Also, please run pg_dump with
query logging enabled (see log_statement in postgresql.conf) so that you
can show us the last few queries it issues before crashing.
regards, tom lane
Shibashish <shiba@it.iitb.ac.in> writes:
> When i do a "pg_dump test" it works fine.
> But When i do a "pg_dump working" I get "Segmentation fault (core dumped)"
Olivier Prenant just found a problem that could lead to pg_dump trouble
with any database using PL languages. Try the attached patch and see if
it fixes your problem.
regards, tom lane
*** src/bin/pg_dump/pg_dump.c.orig Thu Apr 24 22:28:22 2003
--- src/bin/pg_dump/pg_dump.c Sat May 3 18:09:51 2003
***************
*** 3591,3597 ****
resetPQExpBuffer(delqry);
/* Make a dependency to ensure function is dumped first */
! deps = malloc(sizeof(char *) * (2 + (strcmp(lanvalidator, "0") != 0) ? 1 : 0));
depIdx = 0;
(*deps)[depIdx++] = strdup(lanplcallfoid);
--- 3591,3597 ----
resetPQExpBuffer(delqry);
/* Make a dependency to ensure function is dumped first */
! deps = malloc(sizeof(char *) * 10);
depIdx = 0;
(*deps)[depIdx++] = strdup(lanplcallfoid);