-
Notifications
You must be signed in to change notification settings - Fork 75
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
SIGSEGV in describe_any
when grants are insufficient
#218
Comments
I have managed to obtain a stack trace from gdb, if it helps:
|
@timon I created a package function as follows, -- connect / as sysdba
create user user1 identified by user1 default tablespace users temporary tablespace temp;
create or replace package user1.test_pkg
as
procedure test_proc;
end;
/
create or replace package body user1.test_pkg
as
procedure test_proc is
begin
null;
end;
end;
/ and executed the following script. require 'oci8'
conn = OCI8.new('username/password')
p conn.describe_any('TEST_PKG.TEST_PROC') It didn't stop with SIGSEGV but raised After My environment:
|
@kubo In cooperation with our DBA, I have managed to reproduce the issue by removing the callable object definition from package declaration. SIGSEGV is also generated when calling P.S. My colleague who was creating the package told me he fixed the issue by providing the grants necessary, but I have no means to verify if those were grants of if he fixed the package declaration. |
@timon $ wget https://gist.githubusercontent.com/kubo/b7ddbe5a0a76629ca3bd08cd2eb862af/raw/762bce3435953a286989c31ace569a1681f1984b/test218.c
$ vi test218.c # change username, password, database and object_name
$ IC_DIR=/opt/oracle/instantclient # Set instant client directory
$ gcc -o test218 test218.c -I$IC_DIR/sdk/include -L$IC_DIR -Wl,-rpath,$IC_DIR -lclntsh
$ ./test218 If the program stops with SIGSEGV, could you report it to the Oracle support? |
closed due to inactivity |
Hello and thank you for your gem.
I have found that calling
describe_any
on object without sufficient permissions results in process termination with SEGFAULT below. The object being described is a stored procedure within pl/sql package.I'm running
UPD: clarified that the describe is a stored procedure within a package and also noted that Oracle Client 18.3 is also affected
The text was updated successfully, but these errors were encountered: