Re: Assertion failure in base backup code path

Поиск
Список
Период
Сортировка
От Andres Freund
Тема Re: Assertion failure in base backup code path
Дата
Msg-id 20131216141424.GC6019@awork2.anarazel.de
обсуждение исходный текст
Ответ на Assertion failure in base backup code path  (Antonin Houska <antonin.houska@gmail.com>)
Ответы Re: Assertion failure in base backup code path
Список pgsql-hackers
Hi,

On 2013-12-16 15:08:51 +0100, Antonin Houska wrote:
> In HEAD, pg_basebackup causes WAL sender to fail when the replication
> user is not a superuser:
> 
> 
> #0  0x00007f34f671dd25 in raise () from /lib64/libc.so.6
> #1  0x00007f34f671f1a8 in abort () from /lib64/libc.so.6
> #2  0x00000000008989a9 in ExceptionalCondition (conditionName=0xa51ac1
> "!(IsTransactionState())", errorType=0xa51734 "FailedAssertion",
> fileName=0xa516e0 "catcache.c", lineNumber=1111) at assert.c:54
> #3  0x000000000087ea36 in SearchCatCache (cache=0x23c4fb8, v1=16384,
> v2=0, v3=0, v4=0) at catcache.c:1111
> #4  0x0000000000890cdd in SearchSysCache (cacheId=11, key1=16384,
> key2=0, key3=0, key4=0) at syscache.c:909
> #5  0x00000000008a9a99 in has_rolreplication (roleid=16384) at
> miscinit.c:401
> #6  0x00000000005146d1 in do_pg_start_backup (backupidstr=0x239d5b0
> "bkp_01", fast=0 '\000', starttli_p=0x7fff78e4f8ec,
> labelfile=0x7fff78e4f8e0) at xlog.c:9633
> #7  0x0000000000733a24 in perform_base_backup (opt=0x7fff78e4fa30,
> tblspcdir=0x242c6a0) at basebackup.c:106
> #8  0x0000000000735013 in SendBaseBackup (cmd=0x239dbf8) at basebackup.c:563
> #9  0x000000000072f4f2 in exec_replication_command (cmd_string=0x23ea078
> "BASE_BACKUP LABEL 'bkp_01'  WAL  NOWAIT") at walsender.c:668
> #10 0x000000000077c5c4 in PostgresMain (argc=1, argv=0x2385358,
> dbname=0x2385248 "", username=0x2385210 "postgres_replication") at
> postgres.c:4009
> #11 0x0000000000717c94 in BackendRun (port=0x23a2e90) at postmaster.c:4085
> #12 0x000000000071742e in BackendStartup (port=0x23a2e90) at
> postmaster.c:3774
> #13 0x0000000000713cc9 in ServerLoop () at postmaster.c:1585
> #14 0x0000000000713370 in PostmasterMain (argc=3, argv=0x2381f60) at
> postmaster.c:1240
> #15 0x0000000000677698 in main (argc=3, argv=0x2381f60) at main.c:196
> 
> Some additional condition may be needed in the Assert() statement?

Actually it more looks like a bug around the basebackup facility. It
shouldn't do syscache lookups without having the resource management
stuff around it (the transaction state asserted in SearchCatCache()).

Greetings,

Andres Freund

-- Andres Freund                       http://www.2ndQuadrant.com/PostgreSQL Development, 24x7 Support, Training &
Services



В списке pgsql-hackers по дате отправления:

Предыдущее
От: Antonin Houska
Дата:
Сообщение: Assertion failure in base backup code path
Следующее
От: Amit Kapila
Дата:
Сообщение: Re: Heavily modified big table bloat even in auto vacuum is running