Em 10/11/2010 11:58, Euler Taveira de Oliveira escreveu:
> André Ormenese (particular) escreveu:
>> (gdb) bt
>> #0 0x0000000000405f8d in relarr_lookup_rel ()
>> #1 0x00000000004060ef in gen_db_file_maps ()
>> #2 0x000000000040779a in transfer_all_new_dbs ()
>> #3 0x0000000000407198 in main ()
>> (gdb)
>>
> Hmmm. Seria possível repetir o processo adicionando os símbolos de depuração?
> Basta recompilar o pg_upgrade com a opção -g (edite o Makefile e adicione a
> opção -g a linha PG_CPPFLAGS). Assim podemos descobrir qual das chamadas do
> relarr_lookup_rel() está causando o SIGSEGV.
>
>
Euler, segue resultado do debug :
%gdb ./pg_upgrade
GNU gdb 6.1.1 [FreeBSD]
Copyright 2004 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 "amd64-marcel-freebsd"...
(gdb) r
Starting program: /dados/bancos/pghemo9/bin/pg_upgrade
[New LWP 100153]
[New Thread 0x800b020b0 (LWP 100153)]
Performing Consistency Checks
-----------------------------
Checking old data directory (/dados/bancos/pg_hemo/data) ok
Checking old bin directory (/dados/bancos/pg_hemo/bin) ok
Checking new data directory (/dados/bancos/pghemo9/data) ok
Checking new bin directory (/dados/bancos/pghemo9/bin) ok
Checking for reg* system oid user data types ok
Checking for /contrib/isn with bigint-passing mismatch ok
Checking for large objects ok
Creating catalog dump ok
Checking for presence of required libraries ok
| If pg_upgrade fails after this point, you must
| re-initdb the new cluster before continuing.
| You will also need to remove the ".old" suffix
| from /dados/bancos/pg_hemo/data/global/pg_control.old.
Performing Migration
--------------------
Adding ".old" suffix to old global/pg_control ok
Analyzing all rows in the new cluster ok
Freezing all rows on the new cluster ok
Deleting new commit clogs ok
Copying old commit clogs to new server ok
Setting next transaction id for new cluster ok
Resetting WAL archives ok
Setting frozenxid counters in new cluster ok
Creating databases in the new cluster ok
Adding support functions to new cluster ok
Restoring database schema to new cluster ok
Removing support functions from new cluster ok
Restoring user relation files
Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread 0x800b020b0 (LWP 100153)]
relarr_lookup_rel (ctx=0x7fffffffdb40, rel_arr=0x448,
nspname=0x800b45000 "pg_catalog", relname=0x800b45040
"pg_largeobject",
whichCluster=CLUSTER_OLD) at info.c:428
428 for (relnum = 0; relnum < rel_arr->nrels; relnum++)
(gdb) bt
#0 relarr_lookup_rel (ctx=0x7fffffffdb40, rel_arr=0x448,
nspname=0x800b45000 "pg_catalog", relname=0x800b45040
"pg_largeobject",
whichCluster=CLUSTER_OLD) at info.c:428
#1 0x00000000004060ef in gen_db_file_maps (ctx=0x7fffffffdb40, old_db=0x0,
new_db=0x800b4e000, nmaps=0x7fffffffdabc,
old_pgdata=0x800b1a040 "/dados/bancos/pg_hemo/data",
new_pgdata=0x800b1a060 "/dados/bancos/pghemo9/data") at info.c:69
#2 0x000000000040779a in transfer_all_new_dbs (ctx=0x7fffffffdb40,
olddb_arr=0x7fffffffdb98, newdb_arr=0x7fffffffdc38,
old_pgdata=0x800b1a040 "/dados/bancos/pg_hemo/data",
new_pgdata=0x800b1a060 "/dados/bancos/pghemo9/data") at
relfilenode.c:50
#3 0x0000000000407198 in main (argc=Variable "argc" is not available.
) at pg_upgrade.c:74
(gdb)
_______________________________________________
pgbr-geral mailing list
[email protected]
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral