[ https://issues.apache.org/jira/browse/HAWQ-341?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Ruilong Huo updated HAWQ-341: ----------------------------- Description: {noformat} CREATE TABLE xacttest_table (a int, b float); INSERT INTO xacttest_table (a, b) VALUES (777, 777.777); select * from xacttest_table; create or replace function max_xacttest() returns double precision language sql as 'select max(b) from xacttest_table' stable; begin; INSERT INTO xacttest_table (b) VALUES (max_xacttest() + 10); select * from xacttest_table; rollback; {noformat} Core dump: {noformat} #0 0x00000033f560f5db in raise () from /lib64/libpthread.so.0 #1 0x0000000000875912 in SafeHandlerForSegvBusIll (processName=<value optimized out>, postgres_signal_arg=11) at elog.c:4497 #2 <signal handler called> #3 initialize_dispatch_data (resource=0x0, dispatch_to_all_cached_executors=0 '\000') at dispatcher.c:460 #4 0x000000000065e544 in ExecutorStart (queryDesc=<value optimized out>, eflags=<value optimized out>) at execMain.c:908 #5 0x0000000000677f3a in postquel_start (fcinfo=0x7fff415aa1d0) at functions.c:493 #6 postquel_execute (fcinfo=0x7fff415aa1d0) at functions.c:653 #7 fmgr_sql (fcinfo=0x7fff415aa1d0) at functions.c:836 #8 0x00000000006688a3 in ExecMakeFunctionResult (fcache=0x1e76a50, econtext=<value optimized out>, isNull=0x7fff415aa61f "", isDone=0x0) at execQual.c:1749 #9 0x0000000000664f2c in ExecEvalExprSwitchContext (expression=0x0, econtext=0x18, isNull=0x18 <Address 0x18 out of bounds>, isDone=0x170) at execQual.c:4426 #10 0x0000000000742b77 in evaluate_expr (expr=<value optimized out>, result_type=701) at clauses.c:3354 #11 0x0000000000744358 in evaluate_function (funcid=34962, result_type=<value optimized out>, args=0x0, allow_inline=<value optimized out>, context=0x7fff415aa920) at clauses.c:2960 #12 simplify_function (funcid=34962, result_type=<value optimized out>, args=0x0, allow_inline=<value optimized out>, context=0x7fff415aa920) at clauses.c:2816 #13 0x0000000000744c0c in eval_const_expressions_mutator (node=0x1c30ce8, context=0x7fff415aa920) at clauses.c:1757 #14 0x000000000074268b in expression_tree_mutator (node=0x0, mutator=0x7448b0 <eval_const_expressions_mutator>, context=0x7fff415aa920) at clauses.c:3958 #15 0x0000000000744a19 in eval_const_expressions_mutator (node=0x1c30c98, context=0x7fff415aa920) at clauses.c:1787 #16 0x0000000000741c05 in expression_tree_mutator (node=0x1c312b8, mutator=0x7448b0 <eval_const_expressions_mutator>, context=0x7fff415aa920) at clauses.c:3922 #17 0x00000000007449fc in eval_const_expressions_mutator (node=0x1c30c48, context=0x7fff415aa920) at clauses.c:2519 #18 0x000000000074268b in expression_tree_mutator (node=0x0, mutator=0x7448b0 <eval_const_expressions_mutator>, context=0x7fff415aa920) at clauses.c:3958 #19 0x00000000007449fc in eval_const_expressions_mutator (node=0x1c30e98, context=0x7fff415aa920) at clauses.c:2519 #20 0x0000000000745b57 in eval_const_expressions (root=<value optimized out>, node=0x0) at clauses.c:1643 #21 0x0000000000729cd2 in preprocess_expression (root=0x1c310a8, expr=0x18, kind=1) at planner.c:1104 #22 0x000000000072da17 in subquery_planner (parse=0x1c30b38, cursorOptions=<value optimized out>, boundParams=<value optimized out>) at planner.c:844 #23 standard_planner (parse=0x1c30b38, cursorOptions=<value optimized out>, boundParams=<value optimized out>) at planner.c:574 #24 0x000000000072e25d in resource_negotiator (parse=<value optimized out>, cursorOptions=<value optimized out>, boundParams=<value optimized out>, resourceLife=<value optimized out>) at planner.c:463 #25 planner (parse=<value optimized out>, cursorOptions=<value optimized out>, boundParams=<value optimized out>, resourceLife=<value optimized out>) at planner.c:290 #26 0x00000000007b5d8e in pg_plan_query (querytree=0x1be58c8, boundParams=0x0, resource_life=<value optimized out>) at postgres.c:816 #27 0x00000000007b6eec in pg_plan_queries (query_string=<value optimized out>, seqServerHost=<value optimized out>, seqServerPort=<value optimized out>) at postgres.c:889 #28 exec_simple_query (query_string=<value optimized out>, seqServerHost=<value optimized out>, seqServerPort=<value optimized out>) at postgres.c:1651 #29 0x00000000007b8552 in PostgresMain (argc=<value optimized out>, argv=0x1b3cb50, username=<value optimized out>) at postgres.c:4695 #30 0x000000000076a143 in BackendRun (port=0x1af0bd0) at postmaster.c:5834 #31 BackendStartup (port=0x1af0bd0) at postmaster.c:5427 #32 0x000000000076a8ad in ServerLoop () at postmaster.c:2129 #33 0x000000000076c6be in PostmasterMain (argc=9, argv=0x1afbd10) at postmaster.c:1421 #34 0x00000000006c747a in main (argc=9, argv=0x1afbcd0) at main.c:226 {noformat} was: {noformat} CREATE TABLE xacttest_table (a int, b float); INSERT INTO xacttest_table (a, b) VALUES (777, 777.777); select * from xacttest_table; create or replace function max_xacttest() returns double precision language sql as 'select max(b) from xacttest_table' stable; begin; INSERT INTO xacttest_table (b) VALUES (max_xacttest() + 10); select * from xacttest_table; rollback; Coredump ``` #0 0x00000033f560f5db in raise () from /lib64/libpthread.so.0 #1 0x0000000000875912 in SafeHandlerForSegvBusIll (processName=<value optimized out>, postgres_signal_arg=11) at elog.c:4497 #2 <signal handler called> #3 initialize_dispatch_data (resource=0x0, dispatch_to_all_cached_executors=0 '\000') at dispatcher.c:460 #4 0x000000000065e544 in ExecutorStart (queryDesc=<value optimized out>, eflags=<value optimized out>) at execMain.c:908 #5 0x0000000000677f3a in postquel_start (fcinfo=0x7fff415aa1d0) at functions.c:493 #6 postquel_execute (fcinfo=0x7fff415aa1d0) at functions.c:653 #7 fmgr_sql (fcinfo=0x7fff415aa1d0) at functions.c:836 #8 0x00000000006688a3 in ExecMakeFunctionResult (fcache=0x1e76a50, econtext=<value optimized out>, isNull=0x7fff415aa61f "", isDone=0x0) at execQual.c:1749 #9 0x0000000000664f2c in ExecEvalExprSwitchContext (expression=0x0, econtext=0x18, isNull=0x18 <Address 0x18 out of bounds>, isDone=0x170) at execQual.c:4426 #10 0x0000000000742b77 in evaluate_expr (expr=<value optimized out>, result_type=701) at clauses.c:3354 #11 0x0000000000744358 in evaluate_function (funcid=34962, result_type=<value optimized out>, args=0x0, allow_inline=<value optimized out>, context=0x7fff415aa920) at clauses.c:2960 #12 simplify_function (funcid=34962, result_type=<value optimized out>, args=0x0, allow_inline=<value optimized out>, context=0x7fff415aa920) at clauses.c:2816 #13 0x0000000000744c0c in eval_const_expressions_mutator (node=0x1c30ce8, context=0x7fff415aa920) at clauses.c:1757 #14 0x000000000074268b in expression_tree_mutator (node=0x0, mutator=0x7448b0 <eval_const_expressions_mutator>, context=0x7fff415aa920) at clauses.c:3958 #15 0x0000000000744a19 in eval_const_expressions_mutator (node=0x1c30c98, context=0x7fff415aa920) at clauses.c:1787 #16 0x0000000000741c05 in expression_tree_mutator (node=0x1c312b8, mutator=0x7448b0 <eval_const_expressions_mutator>, context=0x7fff415aa920) at clauses.c:3922 #17 0x00000000007449fc in eval_const_expressions_mutator (node=0x1c30c48, context=0x7fff415aa920) at clauses.c:2519 #18 0x000000000074268b in expression_tree_mutator (node=0x0, mutator=0x7448b0 <eval_const_expressions_mutator>, context=0x7fff415aa920) at clauses.c:3958 #19 0x00000000007449fc in eval_const_expressions_mutator (node=0x1c30e98, context=0x7fff415aa920) at clauses.c:2519 #20 0x0000000000745b57 in eval_const_expressions (root=<value optimized out>, node=0x0) at clauses.c:1643 #21 0x0000000000729cd2 in preprocess_expression (root=0x1c310a8, expr=0x18, kind=1) at planner.c:1104 #22 0x000000000072da17 in subquery_planner (parse=0x1c30b38, cursorOptions=<value optimized out>, boundParams=<value optimized out>) at planner.c:844 #23 standard_planner (parse=0x1c30b38, cursorOptions=<value optimized out>, boundParams=<value optimized out>) at planner.c:574 #24 0x000000000072e25d in resource_negotiator (parse=<value optimized out>, cursorOptions=<value optimized out>, boundParams=<value optimized out>, resourceLife=<value optimized out>) at planner.c:463 #25 planner (parse=<value optimized out>, cursorOptions=<value optimized out>, boundParams=<value optimized out>, resourceLife=<value optimized out>) at planner.c:290 #26 0x00000000007b5d8e in pg_plan_query (querytree=0x1be58c8, boundParams=0x0, resource_life=<value optimized out>) at postgres.c:816 #27 0x00000000007b6eec in pg_plan_queries (query_string=<value optimized out>, seqServerHost=<value optimized out>, seqServerPort=<value optimized out>) at postgres.c:889 #28 exec_simple_query (query_string=<value optimized out>, seqServerHost=<value optimized out>, seqServerPort=<value optimized out>) at postgres.c:1651 #29 0x00000000007b8552 in PostgresMain (argc=<value optimized out>, argv=0x1b3cb50, username=<value optimized out>) at postgres.c:4695 #30 0x000000000076a143 in BackendRun (port=0x1af0bd0) at postmaster.c:5834 #31 BackendStartup (port=0x1af0bd0) at postmaster.c:5427 #32 0x000000000076a8ad in ServerLoop () at postmaster.c:2129 #33 0x000000000076c6be in PostmasterMain (argc=9, argv=0x1afbd10) at postmaster.c:1421 #34 0x00000000006c747a in main (argc=9, argv=0x1afbcd0) at main.c:226 {noformat} > PL functions core dump due to query resource is not properly allocated for > function/table function/sub-query > ------------------------------------------------------------------------------------------------------------ > > Key: HAWQ-341 > URL: https://issues.apache.org/jira/browse/HAWQ-341 > Project: Apache HAWQ > Issue Type: Bug > Components: Core > Affects Versions: 2.0.0-beta-incubating > Reporter: Ruilong Huo > Assignee: Ruilong Huo > > {noformat} > CREATE TABLE xacttest_table (a int, b float); > INSERT INTO xacttest_table (a, b) VALUES (777, 777.777); > select * from xacttest_table; > create or replace function max_xacttest() returns double precision language > sql as > 'select max(b) from xacttest_table' stable; > begin; > INSERT INTO xacttest_table (b) VALUES (max_xacttest() + 10); > select * from xacttest_table; > rollback; > {noformat} > Core dump: > {noformat} > #0 0x00000033f560f5db in raise () from /lib64/libpthread.so.0 > #1 0x0000000000875912 in SafeHandlerForSegvBusIll (processName=<value > optimized out>, postgres_signal_arg=11) at elog.c:4497 > #2 <signal handler called> > #3 initialize_dispatch_data (resource=0x0, > dispatch_to_all_cached_executors=0 '\000') at dispatcher.c:460 > #4 0x000000000065e544 in ExecutorStart (queryDesc=<value optimized out>, > eflags=<value optimized out>) at execMain.c:908 > #5 0x0000000000677f3a in postquel_start (fcinfo=0x7fff415aa1d0) at > functions.c:493 > #6 postquel_execute (fcinfo=0x7fff415aa1d0) at functions.c:653 > #7 fmgr_sql (fcinfo=0x7fff415aa1d0) at functions.c:836 > #8 0x00000000006688a3 in ExecMakeFunctionResult (fcache=0x1e76a50, > econtext=<value optimized out>, isNull=0x7fff415aa61f "", isDone=0x0) at > execQual.c:1749 > #9 0x0000000000664f2c in ExecEvalExprSwitchContext (expression=0x0, > econtext=0x18, isNull=0x18 <Address 0x18 out of bounds>, isDone=0x170) at > execQual.c:4426 > #10 0x0000000000742b77 in evaluate_expr (expr=<value optimized out>, > result_type=701) at clauses.c:3354 > #11 0x0000000000744358 in evaluate_function (funcid=34962, result_type=<value > optimized out>, args=0x0, allow_inline=<value optimized out>, > context=0x7fff415aa920) at clauses.c:2960 > #12 simplify_function (funcid=34962, result_type=<value optimized out>, > args=0x0, allow_inline=<value optimized out>, context=0x7fff415aa920) at > clauses.c:2816 > #13 0x0000000000744c0c in eval_const_expressions_mutator (node=0x1c30ce8, > context=0x7fff415aa920) at clauses.c:1757 > #14 0x000000000074268b in expression_tree_mutator (node=0x0, mutator=0x7448b0 > <eval_const_expressions_mutator>, context=0x7fff415aa920) at clauses.c:3958 > #15 0x0000000000744a19 in eval_const_expressions_mutator (node=0x1c30c98, > context=0x7fff415aa920) at clauses.c:1787 > #16 0x0000000000741c05 in expression_tree_mutator (node=0x1c312b8, > mutator=0x7448b0 <eval_const_expressions_mutator>, context=0x7fff415aa920) at > clauses.c:3922 > #17 0x00000000007449fc in eval_const_expressions_mutator (node=0x1c30c48, > context=0x7fff415aa920) at clauses.c:2519 > #18 0x000000000074268b in expression_tree_mutator (node=0x0, mutator=0x7448b0 > <eval_const_expressions_mutator>, context=0x7fff415aa920) at clauses.c:3958 > #19 0x00000000007449fc in eval_const_expressions_mutator (node=0x1c30e98, > context=0x7fff415aa920) at clauses.c:2519 > #20 0x0000000000745b57 in eval_const_expressions (root=<value optimized out>, > node=0x0) at clauses.c:1643 > #21 0x0000000000729cd2 in preprocess_expression (root=0x1c310a8, expr=0x18, > kind=1) at planner.c:1104 > #22 0x000000000072da17 in subquery_planner (parse=0x1c30b38, > cursorOptions=<value optimized out>, boundParams=<value optimized out>) at > planner.c:844 > #23 standard_planner (parse=0x1c30b38, cursorOptions=<value optimized out>, > boundParams=<value optimized out>) at planner.c:574 > #24 0x000000000072e25d in resource_negotiator (parse=<value optimized out>, > cursorOptions=<value optimized out>, boundParams=<value optimized out>, > resourceLife=<value optimized out>) at planner.c:463 > #25 planner (parse=<value optimized out>, cursorOptions=<value optimized > out>, boundParams=<value optimized out>, resourceLife=<value optimized out>) > at planner.c:290 > #26 0x00000000007b5d8e in pg_plan_query (querytree=0x1be58c8, > boundParams=0x0, resource_life=<value optimized out>) at postgres.c:816 > #27 0x00000000007b6eec in pg_plan_queries (query_string=<value optimized > out>, seqServerHost=<value optimized out>, seqServerPort=<value optimized > out>) at postgres.c:889 > #28 exec_simple_query (query_string=<value optimized out>, > seqServerHost=<value optimized out>, seqServerPort=<value optimized out>) at > postgres.c:1651 > #29 0x00000000007b8552 in PostgresMain (argc=<value optimized out>, > argv=0x1b3cb50, username=<value optimized out>) at postgres.c:4695 > #30 0x000000000076a143 in BackendRun (port=0x1af0bd0) at postmaster.c:5834 > #31 BackendStartup (port=0x1af0bd0) at postmaster.c:5427 > #32 0x000000000076a8ad in ServerLoop () at postmaster.c:2129 > #33 0x000000000076c6be in PostmasterMain (argc=9, argv=0x1afbd10) at > postmaster.c:1421 > #34 0x00000000006c747a in main (argc=9, argv=0x1afbcd0) at main.c:226 > {noformat} -- This message was sent by Atlassian JIRA (v6.3.4#6332)