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

Roberta Marton closed TRAFODION-2197.
-------------------------------------
    Resolution: Fixed

Fix delivered

> column privilege -- mxosrvr crashed when granting multiple column privileges 
> to a user
> --------------------------------------------------------------------------------------
>
>                 Key: TRAFODION-2197
>                 URL: https://issues.apache.org/jira/browse/TRAFODION-2197
>             Project: Apache Trafodion
>          Issue Type: Bug
>          Components: sql-security
>         Environment: centos6.7
> EsgynDB R2.2 0825 daily
>            Reporter: Gao, Rui-Xian
>            Assignee: Roberta Marton
>
> mxosrvr crashed when granting multiple column privileges to a user.
> SQL>grant select,insert(a),update,references(a) on atab1 to role1;
> *** ERROR[29157] Server aborted abnormally or Connection timed out
> *** ERROR[29160] The message header was not long enough
> *** ERROR[29157] Server aborted abnormally or Connection timed out
> *** ERROR[29160] The message header was not long enough
> mxosrvr core stack trace -
> #0  0x00007f59ceb34625 in raise () from /lib64/libc.so.6
> #1  0x00007f59ceb35d8d in abort () from /lib64/libc.so.6
> #2  0x00007f59d03901c5 in os::abort(bool) ()
>    from /usr/java/jdk1.8.0_101/jre/lib/amd64/server/libjvm.so
> #3  0x00007f59d0531313 in VMError::report_and_die() ()
>    from /usr/java/jdk1.8.0_101/jre/lib/amd64/server/libjvm.so
> #4  0x00007f59d03959ef in JVM_handle_linux_signal ()
>    from /usr/java/jdk1.8.0_101/jre/lib/amd64/server/libjvm.so
> #5  0x00007f59d038c183 in signalHandler(int, siginfo*, void*) ()
>    from /usr/java/jdk1.8.0_101/jre/lib/amd64/server/libjvm.so
> #6  <signal handler called>
> #7  0x00007f59c941c11d in PrivMgrPrivileges::hasColumnWGO (this=<value 
> optimized out>,
>     colPrivsArrayIn=std::vector of length 2, capacity 2 = {...},
>     roleIDs=std::vector of length 0, capacity 0, privStatus=@0x7f59bb80af44)
>     at ../sqlcomp/PrivMgrPrivileges.cpp:5766
> #8  0x00007f59c942a5f7 in PrivMgrPrivileges::grantColumnPrivileges 
> (this=0x7f59bb80b520,
>     objectType=COM_BASE_TABLE_OBJECT, granteeID=1000033, granteeName="ROLE1", 
> grantorName=
>     "TESTUSER1", colPrivsArrayIn=<value optimized out>, isWGOSpecified=false)
>     at ../sqlcomp/PrivMgrPrivileges.cpp:1064
> #9  0x00007f59c942c099 in PrivMgrPrivileges::grantObjectPriv 
> (this=0x7f59bb80b520,
>     objectType=COM_BASE_TABLE_OBJECT, granteeID=1000033, granteeName="ROLE1", 
> grantorName=
>     "TESTUSER1", privsList=std::vector of length 2, capacity 2 = {...},
>     colPrivsArray=std::vector of length 2, capacity 2 = {...}, 
> isAllSpecified=false,
>     isWGOSpecified=false) at ../sqlcomp/PrivMgrPrivileges.cpp:1385
> #10 0x00007f59c93f6593 in PrivMgrCommands::grantObjectPrivilege 
> (this=0x7f59bb80caa0,
>     objectUID=<value optimized out>, objectName=<value optimized out>,
>     objectType=COM_BASE_TABLE_OBJECT, granteeUID=1000033, 
> granteeName="ROLE1", grantorUID=33464,
>     grantorName="TESTUSER1", privsList=std::vector of length 2, capacity 2 = 
> {...},
>     colPrivsArray=std::vector of length 2, capacity 2 = {...}, 
> isAllSpecified=false,
> ---Type <return> to continue, or q <return> to quit---
>     isWGOSpecified=false) at ../sqlcomp/PrivMgrCommands.cpp:695
> #11 0x00007f59c93a4ee1 in CmpSeabaseDDL::seabaseGrantRevoke 
> (this=0x7f59bb80e910,
>     stmtDDLNode=<value optimized out>, isGrant=1, currCatName=..., 
> currSchName=...,
>     useHBase=-1149188864) at ../sqlcomp/CmpSeabaseDDLtable.cpp:9827
> #12 0x00007f59c9352815 in CmpSeabaseDDL::executeSeabaseDDL 
> (this=0x7f59bb80e910, ddlExpr=
>     0x7f595d8d56d0, ddlNode=0x7f595d8e54d0, currCatName=..., currSchName=..., 
> dws=0x0)
>     at ../sqlcomp/CmpSeabaseDDLcommon.cpp:9599
> #13 0x00007f59c6e5b6d0 in CmpStatement::process (this=<value optimized out>,
>     statement=<value optimized out>) at ../arkcmp/CmpStatement.cpp:922
> #14 0x00007f59c6e49287 in CmpContext::compileDirect (this=0x7f59b97a2090, 
> data=0x7f59ba3a0ee8 "\200",
>     data_len=208, outHeap=0x7f59badab128, charset=15, 
> op=CmpMessageObj::PROCESSDDL,
>     gen_code=@0x7f59bb80f320, gen_code_len=@0x7f59bb80f32c, 
> parserFlags=4194304,
>     parentQid=0x7f59ba3a0d38 
> "MXID11001022989212339303242622660000000000206U3346400_373_SQL_CUR_5",
>     parentQidLen=67, diagsArea=0x7f59ba3a0fc0) at ../arkcmp/CmpContext.cpp:877
> #15 0x00007f59ccad4374 in ExDDLTcb::work (this=0x7f59ba33b918) at 
> ../executor/ex_ddl.cpp:281
> #16 0x00007f59ccc49663 in ExScheduler::work (this=0x7f59ba33b480, 
> prevWaitTime=<value optimized out>)
>     at ../executor/ExScheduler.cpp:331
> #17 0x00007f59ccb402d2 in ex_root_tcb::execute (this=0x7f59ba33c890, 
> cliGlobals=0x17fce80, glob=
>     0x7f59ba3a08b0, input_desc=0x7f59ba329948, diagsArea=@0x7f59bb810a50, 
> reExecute=0)
>     at ../executor/ex_root.cpp:1057
> #18 0x00007f59ce258b64 in CliStatement::execute (this=0x7f59ba347040, 
> cliGlobals=0x17fce80,
>     input_desc=0x7f59ba329948, diagsArea=<value optimized out>, 
> execute_state=<value optimized out>,
>     fixupOnly=0, cliflags=0) at ../cli/Statement.cpp:4534
> #19 0x00007f59ce1f1e7c in SQLCLI_PerformTasks(CliGlobals *, ULng32, 
> SQLSTMT_ID *, SQLDESC_ID *, SQLDESC_ID *, Lng32, Lng32, typedef __va_list_tag 
> __va_list_tag *, SQLCLI_PTR_PAIRS *, SQLCLI_PTR_PAIRS *) (
>     cliGlobals=0x17fce80, tasks=8063, statement_id=0x39f4eb8, 
> input_descriptor=0x39f4ee8,
>     output_descriptor=0x0, num_input_ptr_pairs=0, num_output_ptr_pairs=0, 
> ap=0x7f59bb810bf0,
>     input_ptr_pairs=0x0, output_ptr_pairs=0x0) at ../cli/Cli.cpp:3301
> #20 0x00007f59ce261f0b in SQL_EXEC_ClearExecFetchClose 
> (statement_id=0x39f4eb8,
> ---Type <return> to continue, or q <return> to quit---
>     input_descriptor=0x39f4ee8, output_descriptor=0x0, num_input_ptr_pairs=0, 
> num_output_ptr_pairs=0,
>     num_total_ptr_pairs=0) at ../cli/CliExtern.cpp:2641
> #21 0x00007f59d12d6d8f in SRVR::WSQL_EXEC_ClearExecFetchClose 
> (statement_id=0x39f4eb8,
>     input_descriptor=<value optimized out>, output_descriptor=<value 
> optimized out>,
>     num_input_ptr_pairs=<value optimized out>, num_output_ptr_pairs=<value 
> optimized out>,
>     num_total_ptr_pairs=<value optimized out>) at SQLWrapper.cpp:462
> #22 0x00007f59d12cd67f in SRVR::EXECUTE2 (pSrvrStmt=0x39f48a0) at 
> sqlinterface.cpp:5712
> #23 0x00007f59d12fe7ae in odbc_SQLSvc_Execute2_sme_ (objtag_=<value optimized 
> out>,
>     call_id_=<value optimized out>, dialogueId=<value optimized out>,
>     sqlAsyncEnable=<value optimized out>, queryTimeout=<value optimized out>,
>     inputRowCnt=<value optimized out>, sqlStmtType=64, stmtHandle=60770464, 
> cursorLength=0,
>     cursorName=0x0, cursorCharset=1, holdableCursor=0, inValuesLength=0, 
> inValues=0x0,
>     returnCode=0x7f59bb8114e8, sqlWarningOrErrorLength=0x7f59bb8114e4,
>     sqlWarningOrError=@0x7f59bb8114c0, rowsAffected=0x7f59bb8114e0, 
> outValuesLength=0x7f59bb8114d4,
>     outValues=@0x7f59bb8114b8) at srvrothers.cpp:1533
> #24 0x00000000004c82c4 in odbc_SQLSrvr_ExecDirect_ame_ (objtag_=0x17ed4a0, 
> call_id_=0x17ed4f8,
>     dialogueId=676577088, stmtLabel=<value optimized out>, cursorName=0x0,
>     stmtExplainLabel=<value optimized out>, stmtType=0, sqlStmtType=64,
>     sqlString=0x17fb064 "grant select,insert(a),update,references(a) on atab1 
> to role1",
>     sqlAsyncEnable=0, queryTimeout=0, inputRowCnt=0, txnID=0, 
> holdableCursor=0)
>     at SrvrConnect.cpp:8304
> #25 0x0000000000495d06 in SQLEXECUTE_IOMessage (objtag_=0x17ed4a0, 
> call_id_=0x17ed4f8,
>     operation_id=3012) at Interface/odbcs_srvr.cpp:1731
> #26 0x0000000000495db4 in DISPATCH_TCPIPRequest (objtag_=0x17ed4a0, 
> call_id_=0x17ed4f8,
>     operation_id=<value optimized out>) at Interface/odbcs_srvr.cpp:1796
> #27 0x00000000004349b2 in BUILD_TCPIP_REQUEST (pnode=0x17ed4a0) at 
> ../Common/TCPIPSystemSrvr.cpp:606
> #28 0x000000000043534d in PROCESS_TCPIP_REQUEST (pnode=0x17ed4a0) at 
> ../Common/TCPIPSystemSrvr.cpp:584
> #29 0x0000000000463626 in CNSKListenerSrvr::tcpip_listener (arg=0x16a21e0)
>     at Interface/linux/Listener_srvr_ps.cpp:401
> ---Type <return> to continue, or q <return> to quit---
> #30 0x00007f59ce8e6e20 in sb_thread_sthr_disp (pp_arg=0x17c8400) at 
> threadl.cpp:256
> #31 0x00007f59ce4afa51 in start_thread () from /lib64/libpthread.so.0
> #32 0x00007f59cebea93d in clone () from /lib64/libc.so.6
> Steps to reproduce --
> create role role1;
> create schema mysch;
> set schema mysch;
> create table atab1(a int not null primary key, b int, c varchar(10));
> grant select,insert ,delete, update ,references(a) on atab1 to testuser1 with 
> grant option;
> connect as testuser --
> Set schema mysch;
> grant select,insert(a),update,references(a) on atab1 to role1;



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

Reply via email to