[ 
https://issues.apache.org/jira/browse/HAWQ-341?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Ruilong Huo resolved HAWQ-341.
------------------------------
       Resolution: Fixed
    Fix Version/s: 2.0.0

The solution is to allocate resource to function/table function/sub-query.

> 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
>             Fix For: 2.0.0
>
>
> PL functions core dump due to query resource is not properly allocated for 
> function/table function/sub-query.
> 1. Steps to reproduce issue
> {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}
> 2. 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)

Reply via email to