Обсуждение: [GENERAL] Error dumping 9.4: could not parse numeric array

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

[GENERAL] Error dumping 9.4: could not parse numeric array

От
Devrim Gündüz
Дата:
Hi,

I'm trying to take backup on my laptop, but getting an error. This is
PostgreSQL 9.4.10 on Fedora 25, installed using the community RPMS.

pg_dump: could not parse numeric array "2281": too many numbers
 
I can see this string in src/bin/pg_dump/common.c, but no idea why this
happens. gdb also did not give much info:

===============================================================
Reading symbols from /usr/pgsql-9.4/bin/pg_dump...Reading symbols from
/usr/lib/debug/usr/pgsql-9.4/bin/pg_dump.debug...done.
done.
(gdb) run
Starting program: /usr/pgsql-9.4/bin/pg_dump 
Missing separate debuginfos, use: dnf debuginfo-install glibc-2.24-4.fc25.x86_64
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib64/libthread_db.so.1".
pg_dump: could not parse numeric array "2281": too many numbers
[Inferior 1 (process 13625) exited with code 01]
===============================================================

pg_dump -v output is:

===============================================================
pg_dump: reading extensions
pg_dump: identifying extension members
pg_dump: reading schemas
pg_dump: reading user-defined tables
pg_dump: reading user-defined functions
pg_dump: could not parse numeric array "2281": too many numbers
===============================================================

Any idea why this is happening, and how can I find a solution?

Thanks!

Regards,
--
Devrim Gündüz
EnterpriseDB: http://www.enterprisedb.com
PostgreSQL Danışmanı/Consultant, Red Hat Certified Engineer
Twitter: @DevrimGunduz , @DevrimGunduzTR

Вложения

Re: [GENERAL] Error dumping 9.4: could not parse numeric array

От
Achilleas Mantzios
Дата:
Hi Devrim HNY

On 03/01/2017 13:19, Devrim Gündüz wrote:
> Hi,
>
> I'm trying to take backup on my laptop, but getting an error. This is
> PostgreSQL 9.4.10 on Fedora 25, installed using the community RPMS.
>
> pg_dump: could not parse numeric array "2281": too many numbers
>
> I can see this string in src/bin/pg_dump/common.c, but no idea why this
> happens. gdb also did not give much info:
You need to recompile with -g , then put a breakpoint in parseOidArray to see the call stack.
>
> ===============================================================
> Reading symbols from /usr/pgsql-9.4/bin/pg_dump...Reading symbols from
/usr/lib/debug/usr/pgsql-9.4/bin/pg_dump.debug...done.
> done.
> (gdb) run
> Starting program: /usr/pgsql-9.4/bin/pg_dump
> Missing separate debuginfos, use: dnf debuginfo-install glibc-2.24-4.fc25.x86_64
> [Thread debugging using libthread_db enabled]
> Using host libthread_db library "/lib64/libthread_db.so.1".
> pg_dump: could not parse numeric array "2281": too many numbers
> [Inferior 1 (process 13625) exited with code 01]
> ===============================================================
>
> pg_dump -v output is:
>
> ===============================================================
> pg_dump: reading extensions
> pg_dump: identifying extension members
> pg_dump: reading schemas
> pg_dump: reading user-defined tables
> pg_dump: reading user-defined functions
> pg_dump: could not parse numeric array "2281": too many numbers
> ===============================================================
>
> Any idea why this is happening, and how can I find a solution?
>
> Thanks!
>
> Regards,


--
Achilleas Mantzios
IT DEV Lead
IT DEPT
Dynacom Tankers Mgmt



Re: [GENERAL] Error dumping 9.4: could not parse numeric array

От
Adrian Klaver
Дата:
On 01/03/2017 03:19 AM, Devrim Gündüz wrote:
>
> Hi,
>
> I'm trying to take backup on my laptop, but getting an error. This is
> PostgreSQL 9.4.10 on Fedora 25, installed using the community RPMS.
>
> pg_dump: could not parse numeric array "2281": too many numbers
>
> I can see this string in src/bin/pg_dump/common.c, but no idea why this
> happens. gdb also did not give much info:
>
> ===============================================================
> Reading symbols from /usr/pgsql-9.4/bin/pg_dump...Reading symbols from
/usr/lib/debug/usr/pgsql-9.4/bin/pg_dump.debug...done.
> done.
> (gdb) run
> Starting program: /usr/pgsql-9.4/bin/pg_dump
> Missing separate debuginfos, use: dnf debuginfo-install glibc-2.24-4.fc25.x86_64
> [Thread debugging using libthread_db enabled]
> Using host libthread_db library "/lib64/libthread_db.so.1".
> pg_dump: could not parse numeric array "2281": too many numbers
> [Inferior 1 (process 13625) exited with code 01]
> ===============================================================
>
> pg_dump -v output is:
>
> ===============================================================
> pg_dump: reading extensions
> pg_dump: identifying extension members
> pg_dump: reading schemas
> pg_dump: reading user-defined tables
> pg_dump: reading user-defined functions
> pg_dump: could not parse numeric array "2281": too many numbers
> ===============================================================
>
> Any idea why this is happening, and how can I find a solution?

Well following parseOidArray from src/bin/pg_dump/common.c to
pg_common.sh indicates that one of the places it is used is the section
for dumping functions:
parseOidArray(protrftypes, typeids, FUNC_MAX_ARGS);

Not sure exactly what is going on here, but since it seems to occur
while reading functions I have to wonder if has something to do with too
many arguments in a function?

>
> Thanks!
>
> Regards,
>


--
Adrian Klaver
adrian.klaver@aklaver.com


Re: [GENERAL] Error dumping 9.4: could not parse numeric array

От
Tom Lane
Дата:
Devrim =?ISO-8859-1?Q?G=FCnd=FCz?= <devrim@gunduz.org> writes:
> I'm trying to take backup on my laptop, but getting an error. This is
> PostgreSQL 9.4.10 on Fedora 25, installed using the community RPMS.
> pg_dump -v output is:

> ===============================================================
> pg_dump: reading extensions
> pg_dump: identifying extension members
> pg_dump: reading schemas
> pg_dump: reading user-defined tables
> pg_dump: reading user-defined functions
> pg_dump: could not parse numeric array "2281": too many numbers
> ===============================================================

> Any idea why this is happening, and how can I find a solution?

The only conclusion I can draw is that you have a row in pg_proc
in which proargtypes has more entries than pronargs says there
should be.  How it got that way is not apparent --- but you could
start by seeing if you can identify the corrupt row(s).

            regards, tom lane


Re: [GENERAL] Error dumping 9.4: could not parse numeric array

От
Devrim Gündüz
Дата:
Hi Tom,

On Tue, 2017-01-03 at 09:43 -0500, Tom Lane wrote:
> The only conclusion I can draw is that you have a row in pg_proc
> in which proargtypes has more entries than pronargs says there
> should be.  How it got that way is not apparent --- but you could
> start by seeing if you can identify the corrupt row(s).

Thank you! I think these lines looks suspicious:

     proname      | pronargs |      proargtypes      |    probin    
---------
---------+----------+-----------------------+--------------
 gipr_consistent  | 
       3 | 2281 22793 21 26 2281 | $libdir/ip4r
 gip6r_consistent |        3 |
2281 22781 21 26 2281 | $libdir/ip4r
 gip4r_consistent |        3 | 2281 22769
21 26 2281 | $libdir/ip4r


They come from ip4r extension, and when I removed them, the error went away.
FWIW, I don't think this is a hardware error, but I'll also put it on the
table. CC'ing Andrew, in case he has some ideas on this.

Regards,
--
Devrim Gündüz
EnterpriseDB: http://www.enterprisedb.com
PostgreSQL Danışmanı/Consultant, Red Hat Certified Engineer
Twitter: @DevrimGunduz , @DevrimGunduzTR

Вложения