Possibly related to issue #61
Sometimes when I use the ruby-plsql gem to call a particular PL/SQL procedure, I get the following segfault in OCI8 (edited for relevance):
/home/username/.rvm/gems/ruby-2.1.1@gemset_name/gems/ruby-oci8-2.1.7/lib/oci8/cursor.rb:205: [BUG] Segmentation fault at 0x00000000000000
ruby 2.1.1p76 (2014-02-24 revision 45161) [x86_64-linux]
-- Control frame information -----------------------------------------------
c:0038 p:---- s:0148 e:000147 CFUNC :get
c:0037 p:---- s:0146 e:000145 CFUNC :get_data
c:0036 p:0027 s:0143 e:000142 METHOD /home/username/.rvm/gems/ruby-2.1.1@gemset_name/gems/ruby-oci8-2.1.7/lib/oci8/cursor.rb:205
c:0035 p:0014 s:0138 e:000136 METHOD /home/username/.rvm/gems/ruby-2.1.1@gemset_name/gems/ruby-plsql-0.5.0/lib/plsql/oci_connection.rb:101
c:0034 p:0204 s:0133 e:000132 METHOD /home/username/.rvm/gems/ruby-2.1.1@gemset_name/gems/ruby-plsql-0.5.0/lib/plsql/procedure_call.rb:498
c:0033 p:0016 s:0125 e:000124 METHOD /home/username/.rvm/gems/ruby-2.1.1@gemset_name/gems/ruby-plsql-0.5.0/lib/plsql/procedure_call.rb:466
c:0032 p:0014 s:0121 e:000117 BLOCK /home/username/.rvm/gems/ruby-2.1.1@gemset_name/gems/ruby-plsql-0.5.0/lib/plsql/procedure_call.rb:452 [FINISH]
c:0031 p:---- s:0115 e:000114 CFUNC :each
c:0030 p:0083 s:0112 e:000111 METHOD /home/username/.rvm/gems/ruby-2.1.1@gemset_name/gems/ruby-plsql-0.5.0/lib/plsql/procedure_call.rb:451
c:0029 p:0070 s:0108 e:000107 METHOD /home/username/.rvm/gems/ruby-2.1.1@gemset_name/gems/ruby-plsql-0.5.0/lib/plsql/procedure_call.rb:35
c:0028 p:0026 s:0105 e:000104 METHOD /home/username/.rvm/gems/ruby-2.1.1@gemset_name/gems/ruby-plsql-0.5.0/lib/plsql/procedure.rb:252
c:0027 p:0208 s:0099 e:000098 METHOD /home/username/.rvm/gems/ruby-2.1.1@gemset_name/gems/ruby-plsql-0.5.0/lib/plsql/package.rb:52
c:0026 p:0012 s:0091 e:000090 BLOCK /home/username/devel/application/lib/application/oracle/module_name.rb:37
-- Ruby level backtrace information ----------------------------------------
/home/username/devel/application/lib/application/oracle/module_name.rb:37:in `block in apply_module_name'
/home/username/.rvm/gems/ruby-2.1.1@gemset_name/gems/ruby-plsql-0.5.0/lib/plsql/package.rb:52:in `method_missing'
/home/username/.rvm/gems/ruby-2.1.1@gemset_name/gems/ruby-plsql-0.5.0/lib/plsql/procedure.rb:252:in `exec'
/home/username/.rvm/gems/ruby-2.1.1@gemset_name/gems/ruby-plsql-0.5.0/lib/plsql/procedure_call.rb:35:in `exec'
/home/username/.rvm/gems/ruby-2.1.1@gemset_name/gems/ruby-plsql-0.5.0/lib/plsql/procedure_call.rb:451:in `get_return_value'
/home/username/.rvm/gems/ruby-2.1.1@gemset_name/gems/ruby-plsql-0.5.0/lib/plsql/procedure_call.rb:451:in `each'
/home/username/.rvm/gems/ruby-2.1.1@gemset_name/gems/ruby-plsql-0.5.0/lib/plsql/procedure_call.rb:452:in `block in get_return_value'
/home/username/.rvm/gems/ruby-2.1.1@gemset_name/gems/ruby-plsql-0.5.0/lib/plsql/procedure_call.rb:466:in `out_variable_value'
/home/username/.rvm/gems/ruby-2.1.1@gemset_name/gems/ruby-plsql-0.5.0/lib/plsql/procedure_call.rb:498:in `return_variable_value'
/home/username/.rvm/gems/ruby-2.1.1@gemset_name/gems/ruby-plsql-0.5.0/lib/plsql/oci_connection.rb:101:in `[]'
/home/username/.rvm/gems/ruby-2.1.1@gemset_name/gems/ruby-oci8-2.1.7/lib/oci8/cursor.rb:205:in `[]'
/home/username/.rvm/gems/ruby-2.1.1@gemset_name/gems/ruby-oci8-2.1.7/lib/oci8/cursor.rb:205:in `get_data'
/home/username/.rvm/gems/ruby-2.1.1@gemset_name/gems/ruby-oci8-2.1.7/lib/oci8/cursor.rb:205:in `get'
-- C level backtrace information -------------------------------------------
Segmentation fault
The PL/SQL method signature looks like this, and typically returns NULL in errbuf and retcode:
PROCEDURE apply (p_id IN NUMBER,
p_val1 IN VARCHAR2,
p_val2 IN VARCHAR2,
p_amount IN NUMBER,
errbuf OUT NOCOPY VARCHAR2,
retcode OUT NOCOPY VARCHAR2);
I call the procedure like this:
plsql.package_name.apply(12345678, 'abcdefgh', 'ijklmnop', 0)
# => {:errbuf => nil, :retcode => nil}
I'm not sure what exactly the ruby-plsql gem does from there.
Possibly related to issue #61
Sometimes when I use the ruby-plsql gem to call a particular PL/SQL procedure, I get the following segfault in OCI8 (edited for relevance):
The PL/SQL method signature looks like this, and typically returns NULL in errbuf and retcode:
I call the procedure like this:
I'm not sure what exactly the ruby-plsql gem does from there.