Uploaded image for project: 'Apache Trafodion'
  1. Apache Trafodion
  2. TRAFODION-3056

UPDATE STATISTICS fails with error 8838 when RMS is not running



    • Type: Bug
    • Status: Closed
    • Priority: Minor
    • Resolution: Fixed
    • Affects Version/s: 2.3
    • Fix Version/s: 2.3
    • Component/s: sql-cmp
    • Labels:


      If RMS is not running, UPDATE STATISTICS fails with a warning 2024 + error 8838 as in the log below:

      >>update statistics for table t1 on every column;

          • WARNING[2024] Server Process $ZSM0 is not running or could not be created. O
            perating System Error 14 was returned.
          • ERROR[8838] Unable to receive reply from Compiler, possibly caused by intern
            al errors when compiling SQL statements, processing DDL statements, or executing
            the builtin stored procedures.

      — SQL operation failed with errors.


      Also, the tdm_arkcmp process cores. A sample stack trace is below:

      (gdb) bt
      #0 0x00007f7a3d0ce495 in raise () from /lib64/libc.so.6
      #1 0x00007f7a3d0cfc75 in abort () from /lib64/libc.so.6
      #2 0x00007f7a403ef935 in ?? ()
      from /usr/lib/jvm/java-1.7.0-openjdk.x86_64/jre/lib/amd64/server/libjvm.so
      #3 0x00007f7a40568fdf in ?? ()
      from /usr/lib/jvm/java-1.7.0-openjdk.x86_64/jre/lib/amd64/server/libjvm.so
      #4 0x00007f7a403f47c2 in JVM_handle_linux_signal ()
      from /usr/lib/jvm/java-1.7.0-openjdk.x86_64/jre/lib/amd64/server/libjvm.so
      #5 <signal handler called>
      #6 0x00007f7a47218e29 in tupp::release (this=0x7f7a481c7c68)
      at ../exp/ExpSqlTupp.h:285
      #7 0x00007f7a42d27c94 in atp_struct::release (this=0x7f7a481c7c38)
      at ../exp/ExpAtp.h:303
      #8 0x00007f7a42da5486 in ex_queue::deallocateAtps (this=0x7f7a481c7ab8)
      at ../executor/ex_queue.cpp:416
      #9 0x00007f7a42da4ae0 in ex_queue::~ex_queue (this=0x7f7a481c7ab8,
      __in_chrg=<value optimized out>) at ../executor/ex_queue.cpp:115
      #10 0x00007f7a42da4b50 in ex_queue::~ex_queue (this=0x7f7a481c7ab8,
      __in_chrg=<value optimized out>) at ../executor/ex_queue.cpp:118
      #11 0x00007f7a42dd146f in ExSortTcb::freeResources (this=0x7f7a481c77e0)
      at ../executor/ex_sort.cpp:529
      #12 0x00007f7a42dd0ccd in ExSortTcb::~ExSortTcb (this=0x7f7a481c77e0,
      --Type <return> to continue, or q <return> to quit--
      __in_chrg=<value optimized out>) at ../executor/ex_sort.cpp:470
      #13 0x00007f7a42dd0e28 in ExSortTcb::~ExSortTcb (this=0x7f7a481c77e0,
      __in_chrg=<value optimized out>) at ../executor/ex_sort.cpp:478
      #14 0x00007f7a42d67588 in ex_globals::cleanupTcbs (this=0x7f7a481c4348)
      at ../executor/ex_globals.cpp:193
      #15 0x00007f7a42d673f3 in ex_globals::deleteMe (this=0x7f7a481c4348,
      fatalError=0) at ../executor/ex_globals.cpp:136
      #16 0x00007f7a42d43688 in ExExeStmtGlobals::deleteMe (this=0x7f7a481c4348,
      fatalError=0) at ../executor/ex_exe_stmt_globals.cpp:321
      #17 0x00007f7a42d440e5 in ExMasterStmtGlobals::deleteMe (this=0x7f7a481c4348,
      fatalError=0) at ../executor/ex_exe_stmt_globals.cpp:671
      #18 0x00007f7a42dabeb2 in ex_root_tcb::deallocAndDelete (this=0x7f7a481c7e38,
      glob=0x7f7a481c4348, fragTable=0x7f7a481c61d8)
      at ../executor/ex_root.cpp:2324
      #19 0x00007f7a4756e5e3 in Statement::releaseTcbs (this=0x7f7a481bc140,
      closeAllOpens=0) at ../cli/Statement.cpp:4308
      #20 0x00007f7a4756e7a4 in Statement::dealloc (this=0x7f7a481bc140,
      closeAllOpens=0) at ../cli/Statement.cpp:4356
      #21 0x00007f7a47564110 in Statement::~Statement (this=0x7f7a481bc140,
      __in_chrg=<value optimized out>) at ../cli/Statement.cpp:549
      #22 0x00007f7a47564bca in Statement::~Statement (this=0x7f7a481bc140,
      __in_chrg=<value optimized out>) at ../cli/Statement.cpp:716
      --Type <return> to continue, or q <return> to quit--
      #23 0x00007f7a475173bc in ContextCli::deallocStmt (this=0x7f7a48218cd0,
      statement_id=0x7f7a2743b740, deallocStaticStmt=0)
      at ../cli/Context.cpp:1113
      #24 0x00007f7a474e24d1 in SQLCLI_DeallocStmt (cliGlobals=0x1f6e9e0,
      statement_id=0x7f7a2743b740) at ../cli/Cli.cpp:1416
      #25 0x00007f7a47581278 in SQL_EXEC_DeallocStmt (statement_id=0x7f7a2743b740)
      at ../cli/CliExtern.cpp:1611
      #26 0x00007f7a45a17d19 in HSCursor::~HSCursor (this=0x7ffce370e260,
      __in_chrg=<value optimized out>) at ../ustat/hs_cli.cpp:2660
      #27 0x00007f7a45a25f97 in printPlan (stmt=0x7f7a2743d650)
      at ../ustat/hs_cli.cpp:5800
      #28 0x00007f7a45a1a63e in HSCursor::prepare (this=0x7ffce370e660, clistr=
      0x3087828 "SELECT COUNT FROM TRAFODION.SEABASE.T1 FOR READ UNCOMMITTED ACCESS", outDescEntries=1) at ../ustat/hs_cli.cpp:3029
      #29 0x00007f7a45a1de33 in HSCursor::fetchNumColumn (this=0x7ffce370e660,
      0x3087828 "SELECT COUNT FROM TRAFODION.SEABASE.T1 FOR READ UNCOMMITTED ACCESS", pSmallValue=0x0, pLargeValue=0x7ffce370eb50) at ../ustat/hs_cli.cpp:3674
      #30 0x00007f7a45a5afeb in HSGlobalsClass::Initialize (this=0x7ffce370ead0)
      at ../ustat/hs_globals.cpp:3369
      #31 0x00007f7a45af1038 in UpdateStats (input=
      0x7f7a274531b8 "update statistics for table t1 on every column;",
      --Type <return> to continue, or q <return> to quit--
      requestedByCompiler=0) at ../ustat/hs_update.cpp:424
      #32 0x00007f7a434d0936 in CmpStatement::process (this=0x7f7a27449db8,
      statement=...) at ../arkcmp/CmpStatement.cpp:754
      #33 0x00007f7a434b6399 in ExCmpMessage::actOnReceive (this=0x7ffce3710be0)
      at ../arkcmp/CmpConnection.cpp:394
      #34 0x00007f7a46d77419 in IpcMessageStream::internalActOnReceive (this=
      0x7ffce3710be0, buffer=0x3206540, connection=0x1f98fd0)
      at ../common/Ipc.cpp:3504
      #35 0x00007f7a46d7533f in IpcMessageBuffer::callReceiveCallback (this=
      0x3206540, conn=0x1f98fd0) at ../common/Ipc.cpp:2378
      #36 0x00007f7a46d8f4aa in GuaConnectionToClient::acceptBuffer (this=0x1f98fd0,
      buffer=0x3206540, receivedDataLength=408) at ../common/IpcGuardian.cpp:2326
      #37 0x00007f7a46d90ef3 in GuaReceiveControlConnection::wait (this=0x1f88cb0,
      timeout=-1, eventConsumed=0x0, ipcAwaitiox=0x0)
      at ../common/IpcGuardian.cpp:3020
      #38 0x00007f7a46d8e8c8 in GuaConnectionToClient::wait (this=0x1f98fd0, timeout=
      -1, eventConsumed=0x0, ipcAwaitiox=0x0) at ../common/IpcGuardian.cpp:2001
      #39 0x00007f7a46d737d1 in IpcSetOfConnections::waitOnSet (this=0x7ffce3710d80,
      timeout=-1, calledByESP=0, timedout=0x0) at ../common/Ipc.cpp:1666
      #40 0x00007f7a46d76a5f in IpcMessageStream::waitOnMsgStream (this=
      0x7ffce3710be0, timeout=-1) at ../common/Ipc.cpp:3223
      #41 0x00007f7a46d769cd in IpcMessageStream::receive (this=0x7ffce3710be0,
      --Type <return> to continue, or q <return> to quit--
      waited=1) at ../common/Ipc.cpp:3205
      #42 0x0000000000408184 in main (argc=2, argv=0x7ffce3711378)
      at ../bin/arkcmp.cpp:290

      To reproduce, bring up a development Trafodion instance and create a table with a little data in it. Then in the sql/scripts directory, execute the "rmsstop" script to stop RMS. (Note: You can restart it again later if you wish using "rmsstart".) Then, while RMS is stopped, issue an UPDATE STATISTICS statement.



          Issue Links



              • Assignee:
                dbirdsall Dave Birdsall
                dbirdsall Dave Birdsall
              • Votes:
                0 Vote for this issue
                2 Start watching this issue


                • Created: