You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@trafodion.apache.org by "Roberta Marton (JIRA)" <ji...@apache.org> on 2015/10/17 00:59:05 UTC

[jira] [Closed] (TRAFODION-1217) LP Bug: 1450203 - Function AUTHNAME causes core

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

Roberta Marton closed TRAFODION-1217.
-------------------------------------
    Resolution: Cannot Reproduce

Closing JIRA - unable to recreated

> LP Bug: 1450203 - Function AUTHNAME causes core
> -----------------------------------------------
>
>                 Key: TRAFODION-1217
>                 URL: https://issues.apache.org/jira/browse/TRAFODION-1217
>             Project: Apache Trafodion
>          Issue Type: Bug
>          Components: sql-security
>            Reporter: Roberta Marton
>            Assignee: Roberta Marton
>            Priority: Minor
>             Fix For: 2.0-incubating
>
>
> The AUTHNAME function converts an authorization ID into its character representation.  It does this by reading the AUTHS table via the ID and retrieves the database name.  If someone tries to run this command and they do not have SELECT privilege on the AUTHS table, either an unexpected error is returned or a core dump is generated.
> To recreate:
> initialize authorization;
> grant select on "_MD_".objects to sql_user1;
> grant select on "_PRIVMGR_MD_". object_privileges to sql_user1;
> sqlci -u sql_user
> select distinct
>    substring (object_name,1,40) as object_name,
>    object_type as type,
>    substring(authname(grantor_id),1,10) as grantor,
>    substring(authname(grantee_id),1,10) as grantee,
>    sch.t134_translatePrivsBitmap(privileges_bitmap) as granted_privs,
>    sch.t134_translatePrivsBitmap(grantable_bitmap) as grantable_privs
> from "_PRIVMGR_MD_".object_privileges
> where object_uid in
>      (select object_uid
>       from "_MD_".objects
>       where schema_name like 'T134_%')
>   order by 1, 2, 3, 4, 5
> ;
> *** ERROR[8731] 33335 could not be verified as a valid database authorization ID. There was a problem reading metadata. An internal query returned SQLCODE -4481.
> Error 4481 means you don’t have the privilege and sql_user1 does not have the SELECT privilege on the AUTHS table.
> If you execute the request a second time, you get a core dump with the following stack trace. It looks like the destructor from the ComDiags is failing.  Maybe its occurring because some memory has already been deleted before the ComDiags destructor get  called.
> Program received signal SIGABRT, Aborted.
> 0x00000033ef8328a5 in raise () from /lib64/libc.so.6
> (gdb) bt
> #0  0x00000033ef8328a5 in raise () from /lib64/libc.so.6
> #1  0x00000033ef834085 in abort () from /lib64/libc.so.6
> #2  0x00007ffff70e6a55 in os::abort(bool) () from /opt/home/tools/jdk1.7.0_67/jre/lib/amd64/server/libjvm.so
> #3  0x00007ffff7266f87 in VMError::report_and_die() () from /opt/home/tools/jdk1.7.0_67/jre/lib/amd64/server/libjvm.so
> #4  0x00007ffff70eb96f in JVM_handle_linux_signal () from /opt/home/tools/jdk1.7.0_67/jre/lib/amd64/server/libjvm.so
> #5  <signal handler called>
> #6  0x00007ffff42f6e10 in NAHeapFragment::setPrev (this=0x100000003, prev=0x1) at ../common/NAMemory.cpp:537
> #7  0x00007ffff42f7f7d in NAHeap::unlinkLargeFragment (this=0x7fffe8a08450, treeFrag=0x7fffd49e0320)
>     at ../common/NAMemory.cpp:1869
> #8  0x00007ffff42f83f3 in NAHeap::unlinkFragment (this=0x7fffe8a08450, p=0x7fffd49e0320, size=257456)
>     at ../common/NAMemory.cpp:1957
> #9  0x00007ffff42f39e3 in NAHeap::deallocateHeapMemory (this=0x7fffe8a08450, addr=0x7fffd49e0310)
>     at ../common/NAMemory.cpp:3625
> #10 0x00007ffff42eec0f in NAMemory::deallocateMemory (this=0x7fffe8a08450, addr=0x7fffd49e0310)
>     at ../common/NAMemory.cpp:1396
> #11 0x00007ffff5bfdb88 in NACollection<ComDiagsArea::DiagsCondition*>::deallocate (this=0x7fffd49e0058)
>     at ../common/Collections.h:468
> #12 0x00007ffff5bfd09f in NACollection<ComDiagsArea::DiagsCondition*>::~NACollection (this=0x7fffd49e0058, 
>     __in_chrg=<value optimized out>) at ../common/Collections.cpp:44
> #13 0x00007ffff5bfc52e in NAList<ComDiagsArea::DiagsCondition*>::~NAList (this=0x7fffd49e0058, 
>     __in_chrg=<value optimized out>) at ../common/Collections.cpp:799
> #14 0x00007ffff5bf78b3 in ComDiagsArea::~ComDiagsArea (this=0x7fffd49e0020, __in_chrg=<value optimized out>)
>     at ../export/ComDiags.cpp:1726
> #15 0x00007ffff5bfb4bf in ComDiagsArea::destroyMe (this=0x7fffd49e0020) at ../export/ComDiags.cpp:3413
> #16 0x00007ffff5eb5ad3 in ComDiagsArea::deAllocate (this=0x7fffd49e0020) at ../export/ComDiags.h:1835
> #17 0x00007ffff5bf3f0c in ComDiagsArea::decrRefCount (this=0x7fffd49e0020) at ../export/ComDiags.cpp:400
> #18 0x00007ffff5ea1820 in atp_struct::setDiagsArea (this=0x7fffe89fdc58, diagsArea=0x0) at ../exp/ExpAtp.h:220
> #19 0x00007ffff48218f0 in atp_struct::release (this=0x7fffe89fdc58) at ../exp/ExpAtp.h:326
> #20 0x00007ffff488ba30 in ex_queue::deallocateAtps (this=0x7fffe89fdac8) at ../executor/ex_queue.cpp:431
> #21 0x00007ffff488b08a in ex_queue::~ex_queue (this=0x7fffe89fdac8, __in_chrg=<value optimized out>)
>     at ../executor/ex_queue.cpp:122
> #22 0x00007ffff488b0fa in ex_queue::~ex_queue (this=0x7fffe89fdac8, __in_chrg=<value optimized out>)
>     at ../executor/ex_queue.cpp:125
> #23 0x00007ffff48afcae in ExSortTcb::freeResources (this=0x7fffe89fd6b0) at ../executor/ex_sort.cpp:348
> #24 0x00007ffff48afb6c in ExSortTcb::~ExSortTcb (this=0x7fffe89fd6b0, __in_chrg=<value optimized out>)
>     at ../executor/ex_sort.cpp:332
> #25 0x00007ffff48afc14 in ExSortTcb::~ExSortTcb (this=0x7fffe89fd6b0, __in_chrg=<value optimized out>)
>     at ../executor/ex_sort.cpp:336
> #26 0x00007ffff485885f in ex_globals::cleanupTcbs (this=0x7fffe89e3f30) at ../executor/ex_globals.cpp:192
> #27 0x00007ffff48586e1 in ex_globals::deleteMe (this=0x7fffe89e3f30, fatalError=0) at ../executor/ex_globals.cpp:138
> #28 0x00007ffff483948c in ExExeStmtGlobals::deleteMe (this=0x7fffe89e3f30, fatalError=0)
> ---Type <return> to continue, or q <return> to quit---
>     at ../executor/ex_exe_stmt_globals.cpp:318
> #29 0x00007ffff4839ef9 in ExMasterStmtGlobals::deleteMe (this=0x7fffe89e3f30, fatalError=0)
>     at ../executor/ex_exe_stmt_globals.cpp:669
> #30 0x00007ffff4892c52 in ex_root_tcb::deallocAndDelete (this=0x7fffe89fe678, glob=0x7fffe89e3f30, fragTable=
>     0x7fffe89fa3e8) at ../executor/ex_root.cpp:2506
> #31 0x00007ffff5ef4c67 in CliStatement::releaseTcbs (this=0x7fffe89f6ca0, closeAllOpens=0) at ../cli/Statement.cpp:5802
> #32 0x00007ffff5ef4e28 in CliStatement::dealloc (this=0x7fffe89f6ca0, closeAllOpens=0) at ../cli/Statement.cpp:5850
> #33 0x00007ffff5ee6bb2 in CliStatement::~CliStatement (this=0x7fffe89f6ca0, __in_chrg=<value optimized out>)
>     at ../cli/Statement.cpp:571
> #34 0x00007ffff5ee76c4 in CliStatement::~CliStatement (this=0x7fffe89f6ca0, __in_chrg=<value optimized out>)
>     at ../cli/Statement.cpp:741
> #35 0x00007ffff5ea9a60 in ContextCli::deallocStmt (this=0x7fffe9455128, statement_id=0x1851ad0, deallocStaticStmt=0)
>     at ../cli/Context.cpp:2328
> #36 0x00007ffff5e74af7 in SQLCLI_DeallocStmt (cliGlobals=0xb89670, statement_id=0x1851ad0) at ../cli/Cli.cpp:1650
> #37 0x00007ffff5f067a9 in SQL_EXEC_DeallocStmt (statement_id=0x1851ad0) at ../cli/CliExtern.cpp:1823
> #38 0x00007ffff79b58db in SqlCmd::deallocate (sqlci_env=0xb88420, prep_stmt=0x1850a20) at ../sqlci/SqlCmd.cpp:2808
> #39 0x00007ffff79b5e4e in DML::process (this=0x184ff20, sqlci_env=0xb88420) at ../sqlci/SqlCmd.cpp:2942
> #40 0x00007ffff799fbba in SqlciEnv::executeCommands (this=0xb88420, input_stmt=@0x7fffffff0b98)
>     at ../sqlci/SqlciEnv.cpp:847
> #41 0x00007ffff799f2fb in SqlciEnv::run (this=0xb88420) at ../sqlci/SqlciEnv.cpp:656
> #42 0x0000000000402089 in main (argc=3, argv=0x7fffffff0d58) at ../bin/SqlciMain.cpp:328



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