RE: [HACKERS] Sure enough, SI buffer overrun is broken
От | Hiroshi Inoue |
---|---|
Тема | RE: [HACKERS] Sure enough, SI buffer overrun is broken |
Дата | |
Msg-id | NDBBIJLOILGIKBGDINDFGEGFCCAA.Inoue@tpf.co.jp обсуждение исходный текст |
Ответ на | Sure enough, SI buffer overrun is broken (Tom Lane <tgl@sss.pgh.pa.us>) |
Ответы |
Re: [HACKERS] Sure enough, SI buffer overrun is broken
|
Список | pgsql-hackers |
> -----Original Message----- > From: owner-pgsql-hackers@postgreSQL.org > [mailto:owner-pgsql-hackers@postgreSQL.org]On Behalf Of Tom Lane > > I built the current sources with MAXNUMMESSAGES set to 32 in > src/include/storage/sinvaladt.h. The regular regress tests > run OK, with just a few NOTICEs about 'cache state reset' > and 'SI buffer overflow' inserted in the normal outputs > (as you'd expect, if SI overrun occurs). > > However, the parallel tests crash spectacularly, with weird errors > and Assert() coredumps. Unfortunately,I don't understand the cause yet. The cause may be not unique. Is the call RelationCacheInvalidate(false not true) in ResetSys- temCaches() right ? Relation descriptors would be destoryed if ResetSystemCaches() occurs in CommandConterIncrement(). Recent change setheapoverride -> CommandCounterIncrement may need reopen of relations after CommandCounterIncrement. static void ResetSystemCaches() {ResetSystemCache();RelationCacheInvalidate(false); ^^^^^^^^ } I changed false -> true and tried. Crash decreased but still occurs. > Some of the unexpected messages in the > postmaster log are: > > NOTICE: LockRelease: locktable lookup failed, no lock I have seen this NOTICE only once or twice. This seems because of setting MyProc->xid to InvalidTransa ctionId in CommitTransaction() and AbortTransaction(). There's a little time until AtCommit(Abort)_Locks. I have no idea to solve this now. Regards. Hiroshi Inoue Inoue@tpf.co.jp
В списке pgsql-hackers по дате отправления: