You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@hawq.apache.org by "fangpei (JIRA)" <ji...@apache.org> on 2017/07/02 16:31:00 UTC

[jira] [Updated] (HAWQ-1494) The bug can appear every time when I execute a specific sql: Unexpect internal error (setref.c:298), server closed the connection unexpectedly

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

fangpei updated HAWQ-1494:
--------------------------
    Description: 
When I execute a specific sql, a serious bug can happen every time. (Hawq version is 2.2.0.0)

BUG information:
FATAL: Unexpect internal error (setref.c:298)
DETAIL: AssertImply failed("!(!var->varattno >= 0) || (var->varattno <= list_length(colNames) + list_length(rte- >pseudocols)))", File: "setrefs.c", Line: 298)
HINT:  Process 239600 will wait for gp_debug_linger=120 seconds before termination.
Note that its locks and other resources will not be released  until then.
server closed the connection unexpectedly
        This probably means the server terminated abnormally
         before or while processing the request.
The connection to the server was lost. Attemping reset: Succeeded.

I use GDB to debug, the GDB information is the same every time. The information is: 
Loaded symbols for /lib64/libnss_files.so.2
0x00000032dd40eb5c in recv 0 from /lib64/libpthread.so.0
(gdb) b setrefs.c:298
Breakpoint 1 at 0x846063: file setrefs.c, line 298.
(gdb) c 
Continuing.
Breakpoint 1, set_plan_references_output_asserts (glob=0x7fe96fbccab0, plan=0x7fe8e930adb8) at setrefs.c:298
298 set ref s .c:没有那个文件或目录.
(gdb) c 1923
Will ignore next 1922 crossings of breakpoint 1. Continuing.
Breakpoint 1, set_plan_referencesj〇utput_asserts (glob=0x7fe96fbccab0, plan=0x7fe869c70340) at setrefs.c:298
298 in setrefs.c
(gdb) p list_length(allVars) 
$1 = 1422
(gdb) p var->varno 
$2 = 65001
(gdb) p list_length(glob->finalrtable) 
$3 = 66515
(gdb) p var->varattno 
$4 = 31
(gdb) p list_length(colNames) 
$5 = 30
(gdb) p list_length(rte->pseudocols) 
$6 = 0

the SQL sentence is long, Occupies the entire screen, total 45 lines. the SQL sentence contain "nested select", many "union all", "where", "or", "and", and also have "group by" and "having".

I try to "explain this SQL" to get the execution plan, but it report the same error, and then can not get the execution plan.
I also try to "set optimizer=off" and retry the SQL sentence, but the same error happen, and "show optimizer" the optimizer  is "on" (automatically set "on").

  was:
When I execute a specific sql, a serious bug can happen every time. (Hawq version is 2.2.0.0)

BUG information:
FATAL: Unexpect internal error (setref.c:298)
DETAIL: AssertImply failed("!(!var->varattno >= 0) || (var->varattno <= list_length(colNames) + list_length(rte- >pseudocols)))", File: "setrefs.c", Line: 298)
HINT:  Process 239600 will wait for gp_debug_linger=120 seconds before termination.
Note that its locks and other resources will not be released  until then.
server closed the connection unexpectedly
        This probably means the server terminated abnormally
         before or while processing the request.
The connection to the server was lost. Attemping reset: Succeeded.

I use GDB to debug, the GDB information is the same every time. The information is: 
Loaded symbols for /lib64/libnss_files.so.2
0x00000032dd40eb5c in recv 0 from /lib64/libpthread.so.0
(gdb) b setrefs.c:298
Breakpoint 1 at 0x846063: file setrefs.c, line 298.
(gdb) c 
Continuing.
Breakpoint 1, set_plan_references_output_asserts (glob=0x7fe96fbccab0, plan=0x7fe8e930adb8) at setrefs.c:298
298 set ref s .c:没有那个文件或目录.
(gdb) c 1923
Will ignore next 1922 crossings of breakpoint 1. Continuing.
Breakpoint 1, set_plan_referencesj〇utput_asserts (glob=0x7fe96fbccab0, plan=0x7fe869c70340) at setrefs.c:298
298 in setrefs.c
(gdb) p list_length(allVars) 
$1 = 1422
(gdb) p var->varno 
$2 = 65001
(gdb) p list_length(glob->finalrtable) 
$3 = 66515
(gdb) p var->varattno 
$4 = 31
(gdb) p list_length(colNames) 
$5 = 30
(gdb) p list_length(rte->pseudocols) 
$6 = 0

the SQL sentence is long, Occupies the entire screen, total 45 lines. the SQL sentence contain "nested select", many "union all", "where", "or", "and", and also have "group by" and "having".

I try to "explain this SQL" to get the execution plan, but it report the same error, and then can get the execution plan.
I also try to "set optimizer=off" and retry the SQL sentence, but the same error happen, and "show optimizer" the optimizer  is "on" (automatically set "on").


> The bug can appear every time when I execute a specific sql:  Unexpect internal error (setref.c:298), server closed the connection unexpectedly
> -----------------------------------------------------------------------------------------------------------------------------------------------
>
>                 Key: HAWQ-1494
>                 URL: https://issues.apache.org/jira/browse/HAWQ-1494
>             Project: Apache HAWQ
>          Issue Type: Bug
>          Components: Core
>            Reporter: fangpei
>            Assignee: Radar Lei
>             Fix For: 2.2.0.0-incubating
>
>
> When I execute a specific sql, a serious bug can happen every time. (Hawq version is 2.2.0.0)
> BUG information:
> FATAL: Unexpect internal error (setref.c:298)
> DETAIL: AssertImply failed("!(!var->varattno >= 0) || (var->varattno <= list_length(colNames) + list_length(rte- >pseudocols)))", File: "setrefs.c", Line: 298)
> HINT:  Process 239600 will wait for gp_debug_linger=120 seconds before termination.
> Note that its locks and other resources will not be released  until then.
> server closed the connection unexpectedly
>         This probably means the server terminated abnormally
>          before or while processing the request.
> The connection to the server was lost. Attemping reset: Succeeded.
> I use GDB to debug, the GDB information is the same every time. The information is: 
> Loaded symbols for /lib64/libnss_files.so.2
> 0x00000032dd40eb5c in recv 0 from /lib64/libpthread.so.0
> (gdb) b setrefs.c:298
> Breakpoint 1 at 0x846063: file setrefs.c, line 298.
> (gdb) c 
> Continuing.
> Breakpoint 1, set_plan_references_output_asserts (glob=0x7fe96fbccab0, plan=0x7fe8e930adb8) at setrefs.c:298
> 298 set ref s .c:没有那个文件或目录.
> (gdb) c 1923
> Will ignore next 1922 crossings of breakpoint 1. Continuing.
> Breakpoint 1, set_plan_referencesj〇utput_asserts (glob=0x7fe96fbccab0, plan=0x7fe869c70340) at setrefs.c:298
> 298 in setrefs.c
> (gdb) p list_length(allVars) 
> $1 = 1422
> (gdb) p var->varno 
> $2 = 65001
> (gdb) p list_length(glob->finalrtable) 
> $3 = 66515
> (gdb) p var->varattno 
> $4 = 31
> (gdb) p list_length(colNames) 
> $5 = 30
> (gdb) p list_length(rte->pseudocols) 
> $6 = 0
> the SQL sentence is long, Occupies the entire screen, total 45 lines. the SQL sentence contain "nested select", many "union all", "where", "or", "and", and also have "group by" and "having".
> I try to "explain this SQL" to get the execution plan, but it report the same error, and then can not get the execution plan.
> I also try to "set optimizer=off" and retry the SQL sentence, but the same error happen, and "show optimizer" the optimizer  is "on" (automatically set "on").



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)