ddd

From: Andres Freund <andres(at)anarazel(dot)de>
To: pgsql-hackers(at)postgresql(dot)org, tcook(at)blackducksoftware(dot)com, Haribabu Kommi <kommi(dot)haribabu(at)gmail(dot)com>, Robert Haas <robertmhaas(at)gmail(dot)com>
Subject: ddd
Date: 2017-12-21 14:31:06
Message-ID: 20171221143106.5lhtygohvmazli3x@alap3.anarazel.de
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

Hi Robert, Todd, All,

I think both I and commit e9baa5e9fa147e are confused.

Mantid started to fail with the parallel hash join commit, with the following
assert failure [1]:
#2 0x00000000008698e7 in ExceptionalCondition (conditionName=conditionName(at)entry=0x8efee8 "!(CurrentTransactionState->parallelModeLevel == 0)", errorType=errorType(at)entry=0x8b35c9 "FailedAssertion", fileName=fileName(at)entry=0x8ec2bf "xact.c", lineNumber=lineNumber(at)entry=691) at assert.c:54
#3 0x000000000050c7fb in GetCurrentCommandId (used=used(at)entry=1 '\001') at xact.c:691
#4 0x00000000004d3f0c in toast_save_datum (value=value(at)entry=43175280, oldexternal=0x0, options=options(at)entry=2, rel=0x7f98a770d588, rel=0x7f98a770d588) at tuptoaster.c:1477
#5 0x00000000004d54f9 in toast_insert_or_update (rel=rel(at)entry=0x7f98a770d588, newtup=0x28deaf0, oldtup=oldtup(at)entry=0x0, options=2) at tuptoaster.c:814
#6 0x00000000004c0bf5 in heap_prepare_insert (relation=relation(at)entry=0x7f98a770d588, tup=tup(at)entry=0x28deaf0, xid=<optimized out>, cid=cid(at)entry=34, options=options(at)entry=2) at heapam.c:2660
#7 0x00000000004c6eeb in heap_insert (relation=0x7f98a770d588, tup=0x28deaf0, cid=34, options=2, bistate=0x251d220) at heapam.c:2429
#8 0x00000000005b39a3 in intorel_receive (slot=<optimized out>, self=0x2359420) at createas.c:599
#9 0x000000000061cd58 in ExecutePlan (execute_once=<optimized out>, dest=0x2359420, direction=<optimized out>, numberTuples=0, sendTuples=1 '\001', operation=CMD_SELECT, use_parallel_mode=<optimized out>, planstate=0x23effb0, estate=0x23efd98) at execMain.c:1753
#10 standard_ExecutorRun (queryDesc=0x24f3910, direction=<optimized out>, count=0, execute_once=<optimized out>) at execMain.c:361
#11 0x00000000005b3c91 in ExecCreateTableAs (stmt=stmt(at)entry=0x2337e58, queryString=queryString(at)entry=0x2336bc8 "create table wide as select generate_series(1, 2) as id, rpad('', 320000, 'x') as t;", params=params(at)entry=0x0, queryEnv=queryEnv(at)entry=0x0, completionTag=completionTag(at)entry=0x7fff66986fc0 "") at createas.c:351
#12 0x000000000076a6a9 in ProcessUtilitySlow (pstate=pstate(at)entry=0x2359308, pstmt=pstmt(at)entry=0x23387d0, queryString=queryString(at)entry=0x2336bc8 "create table wide as select generate_series(1, 2) as id, rpad('', 320000, 'x') as t;", context=context(at)entry=PROCESS_UTILITY_TOPLEVEL, params=params(at)entry=0x0, queryEnv=queryEnv(at)entry=0x0, completionTag=completionTag(at)entry=0x7fff66986fc0 "", dest=0x2338868) at utility.c:1454
#13 0x000000000076951a in standard_ProcessUtility (pstmt=0x23387d0, queryString=0x2336bc8 "create table wide as select generate_series(1, 2) as id, rpad('', 320000, 'x') as t;", context=PROCESS_UTILITY_TOPLEVEL, params=0x0, queryEnv=0x0, dest=0x2338868, completionTag=0x7fff66986fc0 "") at utility.c:932
#14 0x0000000000766bb8 in PortalRunUtility (portal=0x239aaf8, pstmt=0x23387d0, isTopLevel=<optimized out>, setHoldSnapshot=<optimized out>, dest=0x2338868, completionTag=0x7fff66986fc0 "") at pquery.c:1178
#15 0x0000000000767679 in PortalRunMulti (portal=portal(at)entry=0x239aaf8, isTopLevel=isTopLevel(at)entry=1 '\001', setHoldSnapshot=setHoldSnapshot(at)entry=0 '\000', dest=dest(at)entry=0x2338868, altdest=altdest(at)entry=0x2338868, completionTag=completionTag(at)entry=0x7fff66986fc0 "") at pquery.c:1331
#16 0x0000000000768332 in PortalRun (portal=portal(at)entry=0x239aaf8, count=count(at)entry=9223372036854775807, isTopLevel=isTopLevel(at)entry=1 '\001', run_once=run_once(at)entry=1 '\001', dest=dest(at)entry=0x2338868, altdest=altdest(at)entry=0x2338868, completionTag=completionTag(at)entry=0x7fff66986fc0 "") at pquery.c:799
#17 0x00000000007640df in exec_simple_query (query_string=0x2336bc8 "create table wide as select generate_series(1, 2) as id, rpad('', 320000, 'x') as t;") at postgres.c:1120

the reason this confuses me is that the PHJ commit hasn't changed
anything relevant here. Testing force_parallel_mode=regress locally also
shows that the failure is present before the commit.

Why mantid's earlier builds don't show the problem, even though I can
locally reproduce the issue escapes me. Todd, did you recently change
anything on Mantid?

By my reading this is the fault of e9baa5e9fa147e [3]. Robert, Haribabu
any idea?

Greetings,

Andres Freund

[1] https://buildfarm.postgresql.org/cgi-bin/show_log.pl?nm=mantid&dt=2017-12-21%2011%3A07%3A06
[2] https://buildfarm.postgresql.org/cgi-bin/show_history.pl?nm=mantid&br=HEAD
[3] http://git.postgresql.org/gitweb/?p=postgresql.git;a=commit;h=e9baa5e9fa147e00a2466ab2c40eb99c8a700824

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Andres Freund 2017-12-21 14:32:14 force parallel mode vs CTAS
Previous Message David Rowley 2017-12-21 14:28:53 Re: [HACKERS] Runtime Partition Pruning