[
https://issues.apache.org/jira/browse/TRAFODION-2783?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16220944#comment-16220944
]
ASF GitHub Bot commented on TRAFODION-2783:
-------------------------------------------
Github user DaveBirdsall commented on a diff in the pull request:
https://github.com/apache/incubator-trafodion/pull/1277#discussion_r147222686
--- Diff: core/sql/common/charinfo.h ---
@@ -260,11 +260,14 @@ class CharInfo
Int32 sourceLenInBytes,
CharSet targetCS);
+ static void initBuiltinCollationDB();
+
+
private:
friend class CollationDB; // needs to access builtinCDB_
static const char* const localeCharSet_;
- static const CollationDB builtinCollationDB_;
+ static const CollationDB *builtinCollationDB_;
--- End diff --
Suggest initializing to NULL. So if you get a thread race condition, you'll
get better behavior if one thread accessing this pointer beats the other thread
that is initializing it.
> jdbc_test_cdh fails at times with type 2 JDBC driver dumping core
> -----------------------------------------------------------------
>
> Key: TRAFODION-2783
> URL: https://issues.apache.org/jira/browse/TRAFODION-2783
> Project: Apache Trafodion
> Issue Type: Bug
> Components: sql-general
> Affects Versions: any
> Reporter: Selvaganesan Govindarajan
> Assignee: Selvaganesan Govindarajan
> Fix For: 2.3-incubating
>
>
> The stack trace of the core is
> Thread 1 (Thread 0x7fad11e95700 (LWP 38697)):
> #0 0x00007fad110a95f7 in raise () from /lib64/libc.so.6
> #1 0x00007fad110aace8 in abort () from /lib64/libc.so.6
> 2 0x00007fad0fecb9d5 in __gnu_cxx::__verbose_terminate_handler() () from
> /lib64/libstdc++.so.6
> #3 0x00007fad0fec9946 in ?? () from /lib64/libstdc++.so.6
> #4 0x00007fad0fec9973 in std::terminate() () from /lib64/libstdc++.so.6
> #5 0x00007fad0feca4df in __cxa_pure_virtual () from /lib64/libstdc++.so.6
> #6 0x00007fad109ebc76 in outputStream::print_cr(char const*, ...) () from
> /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.101-3.b13.el7_2.x86_64/jre/lib/amd64/server/libjvm.so
> #7 0x00007fad10b7ca07 in VMError::report(outputStream*) () from
> /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.101-3.b13.el7_2.x86_64/jre/lib/amd64/server/libjvm.so
> #8 0x00007fad10b7e69f in VMError::report_and_die() () from
> /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.101-3.b13.el7_2.x86_64/jre/lib/amd64/server/libjvm.so
> #9 0x00007fad109e85c7 in JVM_handle_linux_signal () from
> /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.101-3.b13.el7_2.x86_64/jre/lib/amd64/server/libjvm.so
> #10 0x00007fad109dc848 in signalHandler(int, siginfo_t*, void*) () from
> /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.101-3.b13.el7_2.x86_64/jre/lib/amd64/server/libjvm.so
> #11 <signal handler called>
> #12 0x00007facf1afbfad in NACollection<CollationInfo const*>::constEntry
> (this=0x7facf1f25440 <CharInfo::builtinCollationDB_>, ix=0) at
> ../common/Collections.h:410
> #13 0x00007facf1afb786 in NAList<CollationInfo const*>::operator[]
> (this=0x7facf1f25440 <CharInfo::builtinCollationDB_>, i=0) at
> ../common/Collections.cpp:924
> #14 0x00007facf1afb014 in NAList<CollationInfo const*>::at
> (this=0x7facf1f25440 <CharInfo::builtinCollationDB_>, i=0) at
> ../common/Collections.h:2058
> #15 0x00007facf1afa2be in CollationDB::getCollationInfo (this=0x7facf1f25440
> <CharInfo::builtinCollationDB_>, co=CharInfo::DefaultCollation) at
> ../common/charinfo.cpp:455
> #16 0x00007facf1afa34f in CollationDB::getCollationName (this=0x7facf1f25440
> <CharInfo::builtinCollationDB_>, co=CharInfo::DefaultCollation,
> retUnknownAsBlank=0) at ../common/charinfo.cpp:466
> #17 0x00007facf1afa649 in CharInfo::getCollationName
> (co=CharInfo::DefaultCollation, retUnknownAsBlank=0) at
> ../common/charinfo.cpp:584
> #18 0x00007facf1b7ecad in NAType::convertTypeToText (text=0x7fad11e8e6c0 "INT
> UNSIGNED", fs_datatype=0, length=60, precision=0, scale=0,
> datetimestart=REC_DATE_UNKNOWN, datetimeend=REC_DATE_UNKNOWN,
> datetimefractprec=0, intervalleadingprec=0, upshift=0, caseinsensitive=0,
> charSet=CharInfo::ISO88591, collation=CharInfo::DefaultCollation,
> displaydatatype=0x0, displayCaseSpecific=0) at ../common/NAType.cpp:693
> #19 0x00007face933bc7a in Generator::createColDescs (tableName=0x7facea48af18
> "EXPLAIN__", columnInfo=0x7face97d4c00 <explainVirtTableColumnInfo>,
> numCols=14, offset=@0x7fad11e8e8c4: 66, space=0x0) at
> ../generator/Generator.cpp:1444
> #20 0x00007face93784ff in ExplainFunc::createVirtualTableDesc
> (this=0x7fad11e8ec90) at ../generator/GenExplain.cpp:2233
> #21 0x00007face944b484 in RelRoot::codeGen (this=0x7facd61a7a50,
> generator=0x7fad11e90c60) at ../generator/GenRelMisc.cpp:1226
> #22 0x00007face9339d6b in Generator::genCode (this=0x7fad11e90c60,
> source=0x7facd9cebd08 "select object_name from \"_MD_\".OBJECTS where
> CATALOG_NAME = 'TRAFODION' and SCHEMA_NAME = '_MD_'\n and OBJECT_NAME =
> 'OBJECTS' and OBJECT_TYPE = 'BT' for browse access",
> expr_node=0x7facd61a7a50) at ../generator/Generator.cpp:577
> #23 0x00007facebe6763b in CmpMain::compile (this=0x7fad11e92d60,
> input_str=0x7facd9cebd08 "select object_name from \"_MD_\".OBJECTS where
> CATALOG_NAME = 'TRAFODION' and SCHEMA_NAME = '_MD_'\n and OBJECT_NAME =
> 'OBJECTS' and OBJECT_TYPE = 'BT' for browse access", charset=15,
> queryExpr=@0x7fad11e92bb8: 0x7facd61a7a50, gen_code=0x7facd9cda718,
> gen_code_len=0x7facd9cda710, heap=0x7facdfab40b8, phase=CmpMain::END,
> fragmentDir=0x7fad11e92df0, op=3004, useQueryCache=CmpMain::NORMAL,
> cacheable=0x7fad11e92ba4, begTime=0x7fad11e92bc0, shouldLog=0) at
> ../sqlcomp/CmpMain.cpp:2453
> #24 0x00007facebe65170 in CmpMain::sqlcomp (this=0x7fad11e92d60,
> input_str=0x7facd9cebd08 "select object_name from \"_MD_\".OBJECTS where
> CATALOG_NAME = 'TRAFODION' and SCHEMA_NAME = '_MD_'\n and OBJECT_NAME =
> 'OBJECTS' and OBJECT_TYPE = 'BT' for browse access", charset=15,
> queryExpr=@0x7fad11e92bb8: 0x7facd61a7a50, gen_code=0x7facd9cda718,
> gen_code_len=0x7facd9cda710, heap=0x7facdfab40b8, phase=CmpMain::END,
> fragmentDir=0x7fad11e92df0, op=3004, useQueryCache=CmpMain::NORMAL,
> cacheable=0x7fad11e92ba4, begTime=0x7fad11e92bc0, shouldLog=0) at
> ../sqlcomp/CmpMain.cpp:1730
> #25 0x00007facebe629e1 in CmpMain::sqlcomp (this=0x7fad11e92d60, input=...,
> gen_code=0x7facd9cda718, gen_code_len=0x7facd9cda710, heap=0x7facdfab40b8,
> phase=CmpMain::END, fragmentDir=0x7fad11e92df0, op=3004,
> useQueryCache=CmpMain::NORMAL) at ../sqlcomp/CmpMain.cpp:826
> #26 0x00007facf1fac799 in CmpStatement::process (this=0x7facd9cd1f88,
> sqltext=...) at ../arkcmp/CmpStatement.cpp:511
> #27 0x00007facf1f9c1b0 in CmpContext::compileDirect (this=0x7facdf19c090,
> data=0x7facdfad15d8 "p", data_len=280, outHeap=0x7facdfca6db8, charset=15,
> op=CmpMessageObj::SQLTEXT_COMPILE, gen_code=@0x7fad11e932a0: 0x0,
> gen_code_len=@0x7fad11e932ac: 0, parserFlags=0, parentQid=0x0,
> parentQidLen=0, diagsArea=0x7facdfad16f8) at ../arkcmp/CmpContext.cpp:905
> #28 0x00007facf0671277 in CliStatement::prepare2 (this=0x7facdfac17d0,
> source=0x7facdfab70e0 "select object_name from \"_MD_\".OBJECTS where
> CATALOG_NAME = 'TRAFODION' and SCHEMA_NAME = '_MD_'\n and OBJECT_NAME =
> 'OBJECTS' and OBJECT_TYPE = 'BT' for browse access", diagsArea=...,
> passed_gen_code=0x0, passed_gen_code_len=0, charset=15, unpackTdbs=1,
> cliFlags=144) at ../cli/Statement.cpp:1803
> #29 0x00007facf0670368 in CliStatement::prepare (this=0x7facdfac17d0,
> source=0x7facdfab70e0 "select object_name from \"_MD_\".OBJECTS where
> CATALOG_NAME = 'TRAFODION' and SCHEMA_NAME = '_MD_'\n and OBJECT_NAME =
> 'OBJECTS' and OBJECT_TYPE = 'BT' for browse access", diagsArea=...,
> passed_gen_code=0x0, passed_gen_code_len=0, charset=15, unpackTdbs=1,
> cliFlags=144) at ../cli/Statement.cpp:1451
> #30 0x00007facf05e6723 in SQLCLI_Prepare (cliGlobals=0x4770970,
> statement_id=0x4df4ef0, sql_source=0x7fad11e93540) at ../cli/Cli.cpp:5746
> #31 0x00007facf0690e22 in SQL_EXEC_Prepare (statement_id=0x4df4ef0,
> sql_source=0x7fad11e93540) at ../cli/CliExtern.cpp:5151
> #32 0x00007facf2fa1950 in PREPARE (pSrvrStmt=0x4df48e0) at
> native/SqlInterface.cpp:1490
> #33 0x00007facf2f9ba29 in SRVR_STMT_HDL::Prepare (this=0x4df48e0,
> inSqlString=0x7fad11e93800, inStmtType=0, inHoldability=2, inQueryTimeout=0,
> isISUD=false) at native/CSrvrStmt.cpp:186
> #34 0x00007facf2f9c2f6 in SRVR_STMT_HDL::ExecDirect (this=0x4df48e0,
> inCursorName=0x0, inSqlString=0x7fad11e93800, inStmtType=0, inSqlStmtType=1,
> inHoldability=2, inQueryTimeout=0) at native/CSrvrStmt.cpp:411
> #35 0x00007facf2fbce53 in odbc_SQLSvc_ExecDirect_sme_ (objtag_=0x0,
> call_id_=0x0, exception_=0x7fad11e937e0, dialogueId=65190064,
> stmtLabel=0x4ab2a80 "STMT1", cursorName=0x0, stmtExplainLabel=0x7facf2fcf394
> "", stmtType=0, sqlStmtType=1, sqlString=0x7fad11e93800, holdability=2,
> queryTimeout=0, resultSet=140381306567080, estimatedCost=0x7fad11e93868,
> outputDesc=0x7fad11e93840, rowsAffected=0x7fad11e93860,
> sqlWarning=0x7fad11e93850, stmtId=0x7fad11e93830, currentStmtId=0) at
> native/SrvrOthers.cpp:677
> #36 0x00007facf2fb657e in
> Java_org_apache_trafodion_jdbc_t2_SQLMXStatement_executeDirect
> (jenv=0x221d1e0, jobj=0x7fad11e93a10, server=0x0, dialogueId=65190064,
> txid=0, autoCommit=1 '\001', txnMode=2, stmtLabel=0x7fad11e939d8,
> cursorName=0x0, sql=0x7fad11e939c8, isSelect=1 '\001', queryTimeout=0,
> holdability=2, resultSet=0x7fad11e939a8, currentStmtId=0) at
> native/SQLMXStatement.cpp:144
--
This message was sent by Atlassian JIRA
(v6.4.14#64029)