You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@trafodion.apache.org by "Alice Chen (JIRA)" <ji...@apache.org> on 2015/07/22 20:14:27 UTC

[jira] [Created] (TRAFODION-162) LP Bug: 1269167 - Query causes tdm_arkesp to core at ExHbaseAccessTcb::setupUniqueKeyAndCols()

Alice Chen created TRAFODION-162:
------------------------------------

             Summary: LP Bug: 1269167 - Query causes tdm_arkesp to core at ExHbaseAccessTcb::setupUniqueKeyAndCols()
                 Key: TRAFODION-162
                 URL: https://issues.apache.org/jira/browse/TRAFODION-162
             Project: Apache Trafodion
          Issue Type: Bug
          Components: sql-exe
            Reporter: Weishiun Tsai
            Assignee: Anoop Sharma
            Priority: Critical


Running the following script test.sql on the beta build trafodion-ci-release-trafodion_beta-20140108-v36687_release.tar installed on a workstation causes tdm_arkesp to crash and core at ExHbaseAccessTcb::setupUniqueKeyAndCols().  The query is somewhat large, but the 5 tables involved only have 10 rows each.  The query plan is shown in the output.

============================================================

Here is the entire script

-bash-4.1$ cat test.sql
create table p1 (a int no default not null, b int, c int, d int, e int, primary key(a));
create table p2 (a int no default not null, b int, c int, d int, e int, primary key(a));
create table p3 (a int no default not null, b int, c int, d int, e int, primary key(a));
create table p4 (a int no default not null, b int, c int, d int, e int, primary key(a));
create table p5 (a int no default not null, b int, c int, d int, e int, primary key(a));

insert into p1
select x1 + 10*x2, 2*(x1 + 10*x2), 3*(x1 + 10*x2), 4*(x1 + 10*x2), 5*(x1 + 10*x2)
from (values(0)) T
transpose 0 as x2
transpose 0,1,2,3,4,5,6,7,8,9 as x1;

insert into p2 select * from p1;
insert into p3 select * from p1;
insert into p4 select * from p1;
insert into p5 select * from p1;

prepare s1 from
Select b_r_l, b_l_r
from (
select e_l_l, e_r, b_r
from (
Select e_l_l, e_r, b_r
from (
Select e_l, d_r
from (
Select e, c, b
from p1
where ((c = c) AND (c > 17))
) T1(e_l, c_l, b_l)
left join (
Select c, b, d
from p3
where (a > 84)
) T2(c_r, b_r, d_r)
on (71 = e_l)
) T1(e_l_l, d_r_l)
full join (
Select e, b, d
from p3
where (a = 6)
) T2(e_r, b_r, d_r)
on (e_l_l < 80)
) T1
union all
select e, c, a
from (
select e, c, a
from (
Select e, c, a
from p4
where (b > d)
) T1
union all
select e, c, d
from (
Select e, c, d
from p5
where (e = (4 - e))
) T2
) T2
) T1(e_l_l_l, e_r_l, b_r_l)
inner join (
select a_l, b_l
from (
Select a_l, b_l, d_r
from (
Select a, b
from p2
where ((e = 77) OR (c = d))
) T1(a_l, b_l)
left join (
Select a, d
from p4
where ((34 = b) OR (67 > e))
) T2(a_r, d_r)
on (b_l > b_l)
) T1
union all
select a, d
from (
Select a, d
from p3
where ((97 < 27) OR (34 = 19))
) T2
) T2(a_l_r, b_l_r)
on (98 > b_l_r)
order by 1, 2
;

explain options 'f' s1;
execute s1;

============================================================

Here is the output of the script execution:

>>obey test.sql;
>>create table p1 (a int no default not null, b int, c int, d int, e int, primary key(a));

--- SQL operation complete.
>>create table p2 (a int no default not null, b int, c int, d int, e int, primary key(a));

--- SQL operation complete.
>>create table p3 (a int no default not null, b int, c int, d int, e int, primary key(a));

--- SQL operation complete.
>>create table p4 (a int no default not null, b int, c int, d int, e int, primary key(a));

--- SQL operation complete.
>>create table p5 (a int no default not null, b int, c int, d int, e int, primary key(a));

--- SQL operation complete.
>>
>>insert into p1
+>select x1 + 10*x2, 2*(x1 + 10*x2), 3*(x1 + 10*x2), 4*(x1 + 10*x2), 5*(x1 + 10*x2)
+>from (values(0)) T
+>transpose 0 as x2
+>transpose 0,1,2,3,4,5,6,7,8,9 as x1;

--- 10 row(s) inserted.
>>
>>insert into p2 select * from p1;

--- 10 row(s) inserted.
>>insert into p3 select * from p1;

--- 10 row(s) inserted.
>>insert into p4 select * from p1;

--- 10 row(s) inserted.
>>insert into p5 select * from p1;

--- 10 row(s) inserted.
>>
>>prepare s1 from
+>Select b_r_l, b_l_r
+>from (
+>select e_l_l, e_r, b_r
+>from (
+>Select e_l_l, e_r, b_r
+>from (
+>Select e_l, d_r
+>from (
+>Select e, c, b
+>from p1
+>where ((c = c) AND (c > 17))
+>) T1(e_l, c_l, b_l)
+>left join (
+>Select c, b, d
+>from p3
+>where (a > 84)
+>) T2(c_r, b_r, d_r)
+>on (71 = e_l)
+>) T1(e_l_l, d_r_l)
+>full join (
+>Select e, b, d
+>from p3
+>where (a = 6)
+>) T2(e_r, b_r, d_r)
+>on (e_l_l < 80)
+>) T1
+>union all
+>select e, c, a
+>from (
+>select e, c, a
+>from (
+>Select e, c, a
+>from p4
+>where (b > d)
+>) T1
+>union all
+>select e, c, d
+>from (
+>Select e, c, d
+>from p5
+>where (e = (4 - e))
+>) T2
+>) T2
+>) T1(e_l_l_l, e_r_l, b_r_l)
+>inner join (
+>select a_l, b_l
+>from (
+>Select a_l, b_l, d_r
+>from (
+>Select a, b
+>from p2
+>where ((e = 77) OR (c = d))
+>) T1(a_l, b_l)
+>left join (
+>Select a, d
+>from p4
+>where ((34 = b) OR (67 > e))
+>) T2(a_r, d_r)
+>on (b_l > b_l)
+>) T1
+>union all
+>select a, d
+>from (
+>Select a, d
+>from p3
+>where ((97 < 27) OR (34 = 19))
+>) T2
+>) T2(a_l_r, b_l_r)
+>on (98 > b_l_r)
+>order by 1, 2
+>;

--- SQL command prepared.
>>
>>explain options 'f' s1;

LC   RC   OP   OPERATOR              OPT       DESCRIPTION           CARD
---- ---- ---- --------------------  --------  --------------------  ---------

24   .    25   root                                                  3.37E+004
23   .    24   esp_exchange                    1:12(hash2) (m)       3.37E+004
22   .    23   sort                                                  3.37E+004
21   13   22   hybrid_hash_join                                      3.37E+004
18   20   21   merge_union                                           2.53E+002
19   .    20   esp_exchange                    12(hash2):1           1.00E+000
.    .    19   trafodion_scan                  P3                    1.00E+000
17   15   18   left_hybrid_hash_joi                                  2.52E+002
16   .    17   esp_exchange                    12(hash2):1           1.90E+001
.    .    16   trafodion_scan                  P2                    1.90E+001
14   .    15   esp_exchange                    12(rep-b):1           4.00E+001
.    .    14   trafodion_scan                  P4                    4.00E+001
12   .    13   esp_exchange                    12(rep-b):12(hash2)   1.33E+002
6    11   12   merge_union                                           1.33E+002
8    10   11   merge_union                                           8.30E+001
9    .    10   esp_exchange                    12(hash2):1           5.00E+001
.    .    9    trafodion_scan                  P5                    5.00E+001
7    .    8    esp_exchange                    12(hash2):1 (m)       3.29E+001
.    .    7    trafodion_scan                  P4                    3.29E+001
5    .    6    esp_exchange                    12(hash2):1           5.00E+001
4    1    5    full_hybrid_hash_joi                                  5.00E+001
3    2    4    left_hybrid_hash_joi                                  5.00E+001
.    .    3    trafodion_scan                  P1                    3.29E+001
.    .    2    trafodion_scan                  P3                    3.29E+001
.    .    1    trafodion_vsbb_scan             P3                    1.00E+000

--- SQL operation complete.
>>execute s1;

#
# A fatal error has been detected by the Java Runtime Environment:
#
#  SIGSEGV (0xb) at pc=0x00007ffff73b3ee1, pid=31734, tid=140737180634688
#
# JRE version: 7.0_09-b05
# Java VM: Java HotSpot(TM) 64-Bit Server VM (23.5-b02 mixed mode linux-amd64 compressed oops)
# Problematic frame:
# C  [libexecutor.so+0x1a0ee1]  ExHbaseAccessTcb::setupUniqueKeyAndCols(int)+0x51
#
# Core dump written. Default location: /opt/home/wtsai/beta0108/sql/scripts/core or core.31734
#
# An error report file with more information is saved as:
# /opt/home/wtsai/beta0108/sql/scripts/hs_err_pid31734.log
#
# If you would like to submit a bug report, please visit:
#   http://bugreport.sun.com/bugreport/crash.jsp
# The crash happened outside the Java Virtual Machine in native code.
# See problematic frame for where to report the bug.
#
#
# A fatal error has been detected by the Java Runtime Environment:
#
#  SIGSEGV (0xb) at pc=0x00007ffff73b3ee1, pid=32342, tid=140737180634688
#
# JRE version: 7.0_09-b05
# Java VM: Java HotSpot(TM) 64-Bit Server VM (23.5-b02 mixed mode linux-amd64 compressed oops)
# Problematic frame:
# C  [libexecutor.so+0x1a0ee1]  ExHbaseAccessTcb::setupUniqueKeyAndCols(int)+0x51
#
# Core dump written. Default location: /opt/home/wtsai/beta0108/sql/scripts/core or core.32342
#
# An error report file with more information is saved as:
# /opt/home/wtsai/beta0108/sql/scripts/hs_err_pid32342.log
#
# If you would like to submit a bug report, please visit:
#   http://bugreport.sun.com/bugreport/crash.jsp
# The crash happened outside the Java Virtual Machine in native code.
# See problematic frame for where to report the bug.
#

*** ERROR[2034] $Z000NVT: Operating system error 201 while communicating with server process $Z010RE2.

*** ERROR[2034] $Z000NVT: Operating system error 201 while communicating with server process $Z010RE2.

*** ERROR[2034] $Z000NVT: Operating system error 201 while communicating with server process $Z010RE2.

*** ERROR[2034] $Z000NVT: Operating system error 201 while communicating with server process $Z010RE2.

*** ERROR[2034] $Z000NVT: Operating system error 201 while communicating with server process $Z010RE2.

*** ERROR[2034] $Z000NVT: Operating system error 201 while communicating with server process $Z010RE2.

*** ERROR[2034] $Z010RI9: Operating system error 201 while communicating with server process $Z010RE2.

--- 0 row(s) selected.
>>
>>exit;

End of MXCI Session

============================================================

Here is the stack of the tdm_arkesp core file:

(gdb) bt
#0  0x00000039e28328a5 in raise () from /lib64/libc.so.6
#1  0x00000039e2834085 in abort () from /lib64/libc.so.6
#2  0x00007ffff3f39455 in os::abort(bool) ()
   from /opt/home/tools/jdk1.7.0_09_64/jre/lib/amd64/server/libjvm.so
#3  0x00007ffff4099717 in VMError::report_and_die() ()
   from /opt/home/tools/jdk1.7.0_09_64/jre/lib/amd64/server/libjvm.so
#4  0x00007ffff3f3cf60 in JVM_handle_linux_signal ()
   from /opt/home/tools/jdk1.7.0_09_64/jre/lib/amd64/server/libjvm.so
#5  <signal handler called>
#6  0x00007ffff73b3ee1 in ExHbaseAccessTcb::setupUniqueKeyAndCols (
    this=0x7fffe7d503d0, doInit=0) at ../executor/ExHbaseAccess.cpp:1444
#7  0x00007ffff73c0cc2 in ExHbaseAccessSQRowsetTcb::work (this=0x7fffe7d503d0)
    at ../executor/ExHbaseIUD.cpp:2432
#8  0x00007ffff73cdb83 in ExScheduler::work (this=0x7fffe7d4e0b0,
    prevWaitTime=<value optimized out>) at ../executor/ExScheduler.cpp:316
#9  0x00007ffff730c1c2 in ExEspFragInstanceDir::work (this=0x7fffffffc850,
    prevWaitTime=3027843) at ../executor/ex_esp_frag_dir.cpp:742
#10 0x0000000000405f1f in runESP (argc=3, argv=0x7fffffffcc68,
    guaReceiveFastStart=0x0) at ../bin/ex_esp_main.cpp:384
#11 0x0000000000406323 in main (argc=3, argv=0x7fffffffcc68)
    at ../bin/ex_esp_main.cpp:239



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)