Skip to content
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

76c2df8 causes unit test failure of Oracle enhanced adapter #5267

Closed
yahonda opened this Issue Jul 31, 2018 · 35 comments

Comments

Projects
None yet
2 participants
@yahonda
Copy link

yahonda commented Jul 31, 2018

I have opened rsim/oracle-enhanced#1737 then investigated and found that this JRuby commit 76c2df8 triggers this failure. Then I am not able to reproduce it without using Active Record Oracle enhanced adapter yet.

Environment

Provide at least:

  • JRuby version (jruby -v) and command line (flags, JRUBY_OPTS, etc)
$ ruby -v
jruby 9.2.1.0-SNAPSHOT (2.5.0) 2018-07-31 76c2df8 Java HotSpot(TM) 64-Bit Server VM 25.181-b13 on 1.8.0_181-b13 [linux-x86_64]
  • Operating system and platform (e.g. uname -a)
$ uname -a
Linux li1554-157.members.linode.com 4.15.0-29-generic #31-Ubuntu SMP Tue Jul 17 15:39:52 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux

Other relevant info you may wish to add:

  • Installed or activated gems - Oracle enhanced adapter
  • Application/framework version (e.g. Rails, Sinatra) - Rails
  • Environment variables - JAVA_HOME=/usr/lib/jvm/java-8-oracle

Expected Behavior

This unit test should pass as JRuby 9.2.0.0 does.

Actual Behavior

$ bundle exec rspec ./spec/active_record/connection_adapters/oracle_enhanced/schema_dumper_spec.rb:379
Coverage may be inaccurate; set the "--debug" command line option, or do JRUBY_OPTS="--debug" or set the "debug.fullTrace=true" option in your .jrubyrc
/home/yahonda/.rbenv/versions/jruby-9.2.1.0-dev/lib/ruby/gems/shared/bundler/gems/simplecov-03a9f7fde44a/lib/simplecov.rb:53: warning: tracing (e.g. set_trace_func) will not capture all events without --debug flag
==> Loading config from ENV or use default
==> Running specs with JRuby version 9.2.1.0-SNAPSHOT
/home/yahonda/.rbenv/versions/jruby-9.2.1.0-dev/lib/ruby/gems/shared/bundler/gems/ruby-plsql-e0b3e01204a8/lib/plsql/jdbc_connection.rb:225: warning: constant ::Fixnum is deprecated
/home/yahonda/.rbenv/versions/jruby-9.2.1.0-dev/lib/ruby/gems/shared/bundler/gems/ruby-plsql-e0b3e01204a8/lib/plsql/jdbc_connection.rb:226: warning: constant ::Bignum is deprecated
==> Effective ActiveRecord version 5.2.0
Run options: include {:locations=>{"./spec/active_record/connection_adapters/oracle_enhanced/schema_dumper_spec.rb"=>[379]}}
/home/yahonda/git/oracle-enhanced/lib/active_record/connection_adapters/oracle_enhanced/jdbc_connection.rb:241: warning: constant ::NativeException is deprecated
/home/yahonda/git/oracle-enhanced/lib/active_record/connection_adapters/oracle_enhanced/jdbc_connection.rb:460: warning: constant ::NativeException is deprecated
F
An error occurred in an `after(:context)` hook.
Failure/Error: s.execute(sql)

ActiveRecord::StatementInvalid:
  NativeException: java.sql.SQLSyntaxErrorException: ORA-00942: table or view does not exist
  : DROP TABLE "TEST_NAMES"
# oracle/jdbc/driver/T4CTTIoer11.java:494:in `processError'
# oracle/jdbc/driver/T4CTTIoer11.java:446:in `processError'
# oracle/jdbc/driver/T4C8Oall.java:1054:in `processError'
# oracle/jdbc/driver/T4CTTIfun.java:623:in `receive'
# oracle/jdbc/driver/T4CTTIfun.java:252:in `doRPC'
# oracle/jdbc/driver/T4C8Oall.java:612:in `doOALL'
# oracle/jdbc/driver/T4CStatement.java:213:in `doOall8'
# oracle/jdbc/driver/T4CStatement.java:37:in `doOall8'
# oracle/jdbc/driver/T4CStatement.java:896:in `executeForRows'
# oracle/jdbc/driver/OracleStatement.java:1119:in `doExecuteWithTimeout'
# oracle/jdbc/driver/OracleStatement.java:1737:in `executeInternal'
# oracle/jdbc/driver/OracleStatement.java:1692:in `execute'
# oracle/jdbc/driver/OracleStatementWrapper.java:300:in `execute'
# java/lang/reflect/Method.java:498:in `invoke'
# org/jruby/javasupport/JavaMethod.java:455:in `invokeDirectWithExceptionHandling'
# org/jruby/javasupport/JavaMethod.java:316:in `invokeDirect'
# ./lib/active_record/connection_adapters/oracle_enhanced/jdbc_connection.rb:270:in `exec_no_retry'
# ./lib/active_record/connection_adapters/oracle_enhanced/jdbc_connection.rb:254:in `exec'
# ./lib/active_record/connection_adapters/oracle_enhanced/jdbc_connection.rb:241:in `with_retry'
# ./lib/active_record/connection_adapters/oracle_enhanced/jdbc_connection.rb:253:in `exec'
# ./lib/active_record/connection_adapters/oracle_enhanced/database_statements.rb:13:in `execute'
# /home/yahonda/.rbenv/versions/jruby-9.2.1.0-dev/lib/ruby/gems/shared/bundler/gems/rails-7ca92519fd95/activerecord/lib/active_record/connection_adapters/abstract_adapter.rb:579:in `log'
# /home/yahonda/.rbenv/versions/jruby-9.2.1.0-dev/lib/ruby/stdlib/monitor.rb:226:in `mon_synchronize'
# /home/yahonda/.rbenv/versions/jruby-9.2.1.0-dev/lib/ruby/gems/shared/bundler/gems/rails-7ca92519fd95/activerecord/lib/active_record/connection_adapters/abstract_adapter.rb:578:in `log'
# /home/yahonda/.rbenv/versions/jruby-9.2.1.0-dev/lib/ruby/gems/shared/bundler/gems/rails-7ca92519fd95/activesupport/lib/active_support/notifications/instrumenter.rb:23:in `instrument'
# /home/yahonda/.rbenv/versions/jruby-9.2.1.0-dev/lib/ruby/gems/shared/bundler/gems/rails-7ca92519fd95/activerecord/lib/active_record/connection_adapters/abstract_adapter.rb:569:in `log'
# ./lib/active_record/connection_adapters/oracle_enhanced/dbms_output.rb:36:in `log'
# ./lib/active_record/connection_adapters/oracle_enhanced/database_statements.rb:13:in `execute'
# ./lib/active_record/connection_adapters/oracle_enhanced/schema_statements.rb:246:in `drop_table'
# org/jruby/RubyClass.java:527:in `finvoke'
# org/jruby/RubyBasicObject.java:1755:in `send'
# org/jruby/RubyKernel.java:2174:in `send'
# org/jruby/RubyKernel$INVOKER$s$send.gen:-1:in `call'
# /home/yahonda/.rbenv/versions/jruby-9.2.1.0-dev/lib/ruby/gems/shared/bundler/gems/rails-7ca92519fd95/activerecord/lib/active_record/migration.rb:871:in `method_missing'
# /home/yahonda/.rbenv/versions/jruby-9.2.1.0-dev/lib/ruby/gems/shared/bundler/gems/rails-7ca92519fd95/activerecord/lib/active_record/migration.rb:840:in `say_with_time'
# /home/yahonda/.rbenv/versions/jruby-9.2.1.0-dev/lib/ruby/stdlib/benchmark.rb:293:in `measure'
# /home/yahonda/.rbenv/versions/jruby-9.2.1.0-dev/lib/ruby/gems/shared/bundler/gems/rails-7ca92519fd95/activerecord/lib/active_record/migration.rb:840:in `say_with_time'
# /home/yahonda/.rbenv/versions/jruby-9.2.1.0-dev/lib/ruby/gems/shared/bundler/gems/rails-7ca92519fd95/activerecord/lib/active_record/migration.rb:860:in `method_missing'
# ./spec/active_record/connection_adapters/oracle_enhanced/schema_dumper_spec.rb:366:in `<main>'
# org/jruby/RubyBasicObject.java:1818:in `yieldUnder'
# org/jruby/RubyBasicObject.java:1837:in `specificEval'
# org/jruby/RubyBasicObject.java:2608:in `instance_eval'
# org/jruby/RubyBasicObject$INVOKER$i$instance_eval.gen:-1:in `call'
# ./spec/spec_helper.rb:114:in `schema_define'
# /home/yahonda/.rbenv/versions/jruby-9.2.1.0-dev/lib/ruby/gems/shared/bundler/gems/rails-7ca92519fd95/activerecord/lib/active_record/migration.rb:848:in `suppress_messages'
# ./spec/spec_helper.rb:113:in `schema_define'
# org/jruby/RubyBasicObject.java:1818:in `yieldUnder'
# org/jruby/RubyBasicObject.java:1837:in `specificEval'
# org/jruby/RubyBasicObject.java:2608:in `instance_eval'
# org/jruby/RubyBasicObject$INVOKER$i$instance_eval.gen:-1:in `call'
# /home/yahonda/.rbenv/versions/jruby-9.2.1.0-dev/lib/ruby/gems/shared/bundler/gems/rails-7ca92519fd95/activerecord/lib/active_record/schema.rb:50:in `define'
# /home/yahonda/.rbenv/versions/jruby-9.2.1.0-dev/lib/ruby/gems/shared/bundler/gems/rails-7ca92519fd95/activerecord/lib/active_record/schema.rb:46:in `define'
# ./spec/spec_helper.rb:112:in `schema_define'
# ./spec/active_record/connection_adapters/oracle_enhanced/schema_dumper_spec.rb:365:in `<main>'
# org/jruby/RubyBasicObject.java:1778:in `yieldUnder'
# org/jruby/RubyBasicObject.java:2680:in `instance_exec'
# org/jruby/RubyBasicObject$INVOKER$i$0$3$instance_exec.gen:-1:in `call'
# /home/yahonda/.rbenv/versions/jruby-9.2.1.0-dev/lib/ruby/gems/shared/gems/rspec-core-3.7.1/lib/rspec/core/hooks.rb:366:in `run'
# /home/yahonda/.rbenv/versions/jruby-9.2.1.0-dev/lib/ruby/gems/shared/gems/rspec-core-3.7.1/lib/rspec/core/hooks.rb:509:in `run_owned_hooks_for'
# org/jruby/RubyArray.java:1802:in `each'
# org/jruby/RubyArray$INVOKER$i$0$0$each.gen:-1:in `call'
# /home/yahonda/.rbenv/versions/jruby-9.2.1.0-dev/lib/ruby/gems/shared/gems/rspec-core-3.7.1/lib/rspec/core/hooks.rb:508:in `run_owned_hooks_for'
# /home/yahonda/.rbenv/versions/jruby-9.2.1.0-dev/lib/ruby/gems/shared/gems/rspec-core-3.7.1/lib/rspec/core/hooks.rb:460:in `run'
# /home/yahonda/.rbenv/versions/jruby-9.2.1.0-dev/lib/ruby/gems/shared/gems/rspec-core-3.7.1/lib/rspec/core/example_group.rb:575:in `run_after_context_hooks'
# /home/yahonda/.rbenv/versions/jruby-9.2.1.0-dev/lib/ruby/gems/shared/gems/rspec-core-3.7.1/lib/rspec/core/memoized_helpers.rb:186:in `isolate_for_context_hook'
# org/jruby/RubyBasicObject.java:1781:in `yieldUnder'
# org/jruby/RubyBasicObject.java:2680:in `instance_exec'
# org/jruby/RubyBasicObject$INVOKER$i$0$3$instance_exec.gen:-1:in `call'
# /home/yahonda/.rbenv/versions/jruby-9.2.1.0-dev/lib/ruby/gems/shared/gems/rspec-core-3.7.1/lib/rspec/core/memoized_helpers.rb:182:in `isolate_for_context_hook'
# /home/yahonda/.rbenv/versions/jruby-9.2.1.0-dev/lib/ruby/gems/shared/gems/rspec-core-3.7.1/lib/rspec/core/example_group.rb:574:in `run_after_context_hooks'
# /home/yahonda/.rbenv/versions/jruby-9.2.1.0-dev/lib/ruby/gems/shared/gems/rspec-core-3.7.1/lib/rspec/core/example_group.rb:601:in `run'
# /home/yahonda/.rbenv/versions/jruby-9.2.1.0-dev/lib/ruby/gems/shared/gems/rspec-core-3.7.1/lib/rspec/core/example_group.rb:591:in `run'
# org/jruby/RubyArray.java:2544:in `collect'
# org/jruby/RubyArray.java:2558:in `map'
# org/jruby/RubyArray$INVOKER$i$0$0$map19.gen:-1:in `call'
# /home/yahonda/.rbenv/versions/jruby-9.2.1.0-dev/lib/ruby/gems/shared/gems/rspec-core-3.7.1/lib/rspec/core/example_group.rb:591:in `run'
# /home/yahonda/.rbenv/versions/jruby-9.2.1.0-dev/lib/ruby/gems/shared/gems/rspec-core-3.7.1/lib/rspec/core/runner.rb:118:in `run_specs'
# org/jruby/RubyArray.java:2544:in `collect'
# org/jruby/RubyArray.java:2558:in `map'
# org/jruby/RubyArray$INVOKER$i$0$0$map19.gen:-1:in `call'
# /home/yahonda/.rbenv/versions/jruby-9.2.1.0-dev/lib/ruby/gems/shared/gems/rspec-core-3.7.1/lib/rspec/core/runner.rb:118:in `run_specs'
# /home/yahonda/.rbenv/versions/jruby-9.2.1.0-dev/lib/ruby/gems/shared/gems/rspec-core-3.7.1/lib/rspec/core/configuration.rb:1926:in `with_suite_hooks'
# /home/yahonda/.rbenv/versions/jruby-9.2.1.0-dev/lib/ruby/gems/shared/gems/rspec-core-3.7.1/lib/rspec/core/runner.rb:113:in `run_specs'
# /home/yahonda/.rbenv/versions/jruby-9.2.1.0-dev/lib/ruby/gems/shared/gems/rspec-core-3.7.1/lib/rspec/core/reporter.rb:79:in `report'
# /home/yahonda/.rbenv/versions/jruby-9.2.1.0-dev/lib/ruby/gems/shared/gems/rspec-core-3.7.1/lib/rspec/core/runner.rb:112:in `run_specs'
# /home/yahonda/.rbenv/versions/jruby-9.2.1.0-dev/lib/ruby/gems/shared/gems/rspec-core-3.7.1/lib/rspec/core/runner.rb:87:in `run'
# /home/yahonda/.rbenv/versions/jruby-9.2.1.0-dev/lib/ruby/gems/shared/gems/rspec-core-3.7.1/lib/rspec/core/runner.rb:71:in `run'
# /home/yahonda/.rbenv/versions/jruby-9.2.1.0-dev/lib/ruby/gems/shared/gems/rspec-core-3.7.1/lib/rspec/core/runner.rb:45:in `invoke'
# /home/yahonda/.rbenv/versions/jruby-9.2.1.0-dev/lib/ruby/gems/shared/gems/rspec-core-3.7.1/exe/rspec:4:in `<main>'
# org/jruby/Ruby.java:864:in `runInterpreter'
# org/jruby/Ruby.java:2956:in `loadFile'
# org/jruby/RubyKernel.java:1027:in `loadCommon'
# org/jruby/RubyKernel.java:997:in `load'
# org/jruby/RubyKernel$INVOKER$s$load.gen:-1:in `call'
# /home/yahonda/.rbenv/versions/jruby-9.2.1.0-dev/bin/rspec:1:in `<main>'
# org/jruby/Ruby.java:864:in `runInterpreter'
# org/jruby/Ruby.java:2956:in `loadFile'
# org/jruby/RubyKernel.java:1027:in `loadCommon'
# org/jruby/RubyKernel.java:997:in `load'
# org/jruby/RubyKernel$INVOKER$s$load.gen:-1:in `call'
# /home/yahonda/.rbenv/versions/jruby-9.2.1.0-dev/bin/rspec:23:in `<main>'
# /home/yahonda/.rbenv/versions/jruby-9.2.1.0-dev/lib/ruby/gems/shared/gems/bundler-1.16.3/lib/bundler/cli/exec.rb:1:in `(root)'
# /home/yahonda/.rbenv/versions/jruby-9.2.1.0-dev/lib/ruby/gems/shared/gems/bundler-1.16.3/lib/bundler/cli/exec.rb:74:in `kernel_load'
# org/jruby/RubyClass.java:527:in `finvoke'
# org/jruby/RubyBasicObject.java:1755:in `send'
# org/jruby/RubyBasicObject$INVOKER$i$send.gen:-1:in `call'
# /home/yahonda/.rbenv/versions/jruby-9.2.1.0-dev/lib/ruby/gems/shared/gems/bundler-1.16.3/lib/bundler/cli/exec.rb:28:in `run'
# /home/yahonda/.rbenv/versions/jruby-9.2.1.0-dev/lib/ruby/gems/shared/gems/bundler-1.16.3/lib/bundler/cli.rb:424:in `exec'
# /home/yahonda/.rbenv/versions/jruby-9.2.1.0-dev/lib/ruby/gems/shared/gems/bundler-1.16.3/lib/bundler/vendor/thor/lib/thor/command.rb:27:in `run'
# /home/yahonda/.rbenv/versions/jruby-9.2.1.0-dev/lib/ruby/gems/shared/gems/bundler-1.16.3/lib/bundler/vendor/thor/lib/thor/invocation.rb:126:in `invoke_command'
# /home/yahonda/.rbenv/versions/jruby-9.2.1.0-dev/lib/ruby/gems/shared/gems/bundler-1.16.3/lib/bundler/vendor/thor/lib/thor.rb:387:in `dispatch'
# /home/yahonda/.rbenv/versions/jruby-9.2.1.0-dev/lib/ruby/gems/shared/gems/bundler-1.16.3/lib/bundler/cli.rb:27:in `dispatch'
# /home/yahonda/.rbenv/versions/jruby-9.2.1.0-dev/lib/ruby/gems/shared/gems/bundler-1.16.3/lib/bundler/vendor/thor/lib/thor/base.rb:466:in `start'
# /home/yahonda/.rbenv/versions/jruby-9.2.1.0-dev/lib/ruby/gems/shared/gems/bundler-1.16.3/lib/bundler/cli.rb:18:in `start'
# /home/yahonda/.rbenv/versions/jruby-9.2.1.0-dev/lib/ruby/gems/shared/gems/bundler-1.16.3/exe/bundle:30:in `<main>'
# org/jruby/Ruby.java:864:in `runInterpreter'
# org/jruby/Ruby.java:2956:in `loadFile'
# org/jruby/RubyKernel.java:1027:in `loadCommon'
# org/jruby/RubyKernel.java:997:in `load'
# org/jruby/RubyKernel$INVOKER$s$load.gen:-1:in `call'
# /home/yahonda/.rbenv/versions/jruby-9.2.1.0-dev/lib/ruby/gems/shared/gems/bundler-1.16.3/lib/bundler/friendly_errors.rb:124:in `<main>'
# org/jruby/Ruby.java:869:in `runInterpreter'
# org/jruby/Ruby.java:873:in `runInterpreter'
# org/jruby/Ruby.java:776:in `runNormally'
# org/jruby/Ruby.java:789:in `runNormally'
# org/jruby/Ruby.java:601:in `runFromMain'
# org/jruby/Main.java:415:in `doRunFromMain'
# org/jruby/Main.java:307:in `internalRun'
# org/jruby/Main.java:234:in `run'
# org/jruby/Main.java:206:in `main'
# ------------------
# --- Caused by: ---
# Java::OracleJdbc::OracleDatabaseException:
#   ORA-00942: table or view does not exist
#   oracle.jdbc.driver.T4CTTIoer11.processError(T4CTTIoer11.java:498)


Failures:

  1) OracleEnhancedAdapter schema dump virtual columns should dump correctly
     Failure/Error: s.execute(sql)

     ActiveRecord::ValueTooLong:
       NativeException: java.sql.SQLException: ORA-12899: value too large for column "FIELD_WITH_LEADING_SPACE" (actual: 1022, maximum: 1020)
       : CREATE TABLE "TEST_NAMES" ("ID" NUMBER(38) NOT NULL PRIMARY KEY, "FIRST_NAME" VARCHAR2(255), "LAST_NAME" VARCHAR2(255), "FULL_NAME"  AS (first_name || ', ' || last_name), "SHORT_NAME" VARCHAR2(255) AS (COALESCE(first_name, last_name)), "ABBREV_NAME" VARCHAR(100) AS (SUBSTR(first_name,1,50) || ' ' || SUBSTR(last_name,1,1) || '.'), "NAME_RATIO"  AS ((LENGTH(first_name)*10/LENGTH(last_name)*10)), "FULL_NAME_LENGTH" NUMBER(38) AS (length(first_name || ', ' || last_name)), "FIELD_WITH_LEADING_SPACE" VARCHAR2(255) AS (' ' || first_name || ' '))
     # oracle/jdbc/driver/T4CTTIoer11.java:494:in `processError'
     # oracle/jdbc/driver/T4CTTIoer11.java:446:in `processError'
     # oracle/jdbc/driver/T4C8Oall.java:1054:in `processError'
     # oracle/jdbc/driver/T4CTTIfun.java:623:in `receive'
     # oracle/jdbc/driver/T4CTTIfun.java:252:in `doRPC'
     # oracle/jdbc/driver/T4C8Oall.java:612:in `doOALL'
     # oracle/jdbc/driver/T4CStatement.java:213:in `doOall8'
     # oracle/jdbc/driver/T4CStatement.java:37:in `doOall8'
     # oracle/jdbc/driver/T4CStatement.java:896:in `executeForRows'
     # oracle/jdbc/driver/OracleStatement.java:1119:in `doExecuteWithTimeout'
     # oracle/jdbc/driver/OracleStatement.java:1737:in `executeInternal'
     # oracle/jdbc/driver/OracleStatement.java:1692:in `execute'
     # oracle/jdbc/driver/OracleStatementWrapper.java:300:in `execute'
     # java/lang/reflect/Method.java:498:in `invoke'
     # org/jruby/javasupport/JavaMethod.java:455:in `invokeDirectWithExceptionHandling'
     # org/jruby/javasupport/JavaMethod.java:316:in `invokeDirect'
     # ./lib/active_record/connection_adapters/oracle_enhanced/jdbc_connection.rb:270:in `exec_no_retry'
     # ./lib/active_record/connection_adapters/oracle_enhanced/jdbc_connection.rb:254:in `exec'
     # ./lib/active_record/connection_adapters/oracle_enhanced/jdbc_connection.rb:241:in `with_retry'
     # ./lib/active_record/connection_adapters/oracle_enhanced/jdbc_connection.rb:253:in `exec'
     # ./lib/active_record/connection_adapters/oracle_enhanced/database_statements.rb:13:in `execute'
     # /home/yahonda/.rbenv/versions/jruby-9.2.1.0-dev/lib/ruby/gems/shared/bundler/gems/rails-7ca92519fd95/activerecord/lib/active_record/connection_adapters/abstract_adapter.rb:579:in `log'
     # /home/yahonda/.rbenv/versions/jruby-9.2.1.0-dev/lib/ruby/stdlib/monitor.rb:226:in `mon_synchronize'
     # /home/yahonda/.rbenv/versions/jruby-9.2.1.0-dev/lib/ruby/gems/shared/bundler/gems/rails-7ca92519fd95/activerecord/lib/active_record/connection_adapters/abstract_adapter.rb:578:in `log'
     # /home/yahonda/.rbenv/versions/jruby-9.2.1.0-dev/lib/ruby/gems/shared/bundler/gems/rails-7ca92519fd95/activesupport/lib/active_support/notifications/instrumenter.rb:23:in `instrument'
     # /home/yahonda/.rbenv/versions/jruby-9.2.1.0-dev/lib/ruby/gems/shared/bundler/gems/rails-7ca92519fd95/activerecord/lib/active_record/connection_adapters/abstract_adapter.rb:569:in `log'
     # ./lib/active_record/connection_adapters/oracle_enhanced/dbms_output.rb:36:in `log'
     # ./lib/active_record/connection_adapters/oracle_enhanced/database_statements.rb:13:in `execute'
     # ./lib/active_record/connection_adapters/oracle_enhanced/schema_statements.rb:220:in `create_table'
     # org/jruby/RubyClass.java:527:in `finvoke'
     # org/jruby/RubyBasicObject.java:1755:in `send'
     # org/jruby/RubyKernel.java:2174:in `send'
     # org/jruby/RubyKernel$INVOKER$s$send.gen:-1:in `call'
     # /home/yahonda/.rbenv/versions/jruby-9.2.1.0-dev/lib/ruby/gems/shared/bundler/gems/rails-7ca92519fd95/activerecord/lib/active_record/migration.rb:871:in `method_missing'
     # /home/yahonda/.rbenv/versions/jruby-9.2.1.0-dev/lib/ruby/gems/shared/bundler/gems/rails-7ca92519fd95/activerecord/lib/active_record/migration.rb:840:in `say_with_time'
     # /home/yahonda/.rbenv/versions/jruby-9.2.1.0-dev/lib/ruby/stdlib/benchmark.rb:293:in `measure'
     # /home/yahonda/.rbenv/versions/jruby-9.2.1.0-dev/lib/ruby/gems/shared/bundler/gems/rails-7ca92519fd95/activerecord/lib/active_record/migration.rb:840:in `say_with_time'
     # /home/yahonda/.rbenv/versions/jruby-9.2.1.0-dev/lib/ruby/gems/shared/bundler/gems/rails-7ca92519fd95/activerecord/lib/active_record/migration.rb:860:in `method_missing'
     # ./spec/active_record/connection_adapters/oracle_enhanced/schema_dumper_spec.rb:342:in `<main>'
     # org/jruby/RubyBasicObject.java:1818:in `yieldUnder'
     # org/jruby/RubyBasicObject.java:1837:in `specificEval'
     # org/jruby/RubyBasicObject.java:2608:in `instance_eval'
     # org/jruby/RubyBasicObject$INVOKER$i$instance_eval.gen:-1:in `call'
     # ./spec/spec_helper.rb:114:in `schema_define'
     # /home/yahonda/.rbenv/versions/jruby-9.2.1.0-dev/lib/ruby/gems/shared/bundler/gems/rails-7ca92519fd95/activerecord/lib/active_record/migration.rb:848:in `suppress_messages'
     # ./spec/spec_helper.rb:113:in `schema_define'
     # org/jruby/RubyBasicObject.java:1818:in `yieldUnder'
     # org/jruby/RubyBasicObject.java:1837:in `specificEval'
     # org/jruby/RubyBasicObject.java:2608:in `instance_eval'
     # org/jruby/RubyBasicObject$INVOKER$i$instance_eval.gen:-1:in `call'
     # /home/yahonda/.rbenv/versions/jruby-9.2.1.0-dev/lib/ruby/gems/shared/bundler/gems/rails-7ca92519fd95/activerecord/lib/active_record/schema.rb:50:in `define'
     # /home/yahonda/.rbenv/versions/jruby-9.2.1.0-dev/lib/ruby/gems/shared/bundler/gems/rails-7ca92519fd95/activerecord/lib/active_record/schema.rb:46:in `define'
     # ./spec/spec_helper.rb:112:in `schema_define'
     # ./spec/active_record/connection_adapters/oracle_enhanced/schema_dumper_spec.rb:341:in `<main>'
     # org/jruby/RubyBasicObject.java:1778:in `yieldUnder'
     # org/jruby/RubyBasicObject.java:2680:in `instance_exec'
     # org/jruby/RubyBasicObject$INVOKER$i$0$3$instance_exec.gen:-1:in `call'
     # /home/yahonda/.rbenv/versions/jruby-9.2.1.0-dev/lib/ruby/gems/shared/gems/rspec-core-3.7.1/lib/rspec/core/hooks.rb:350:in `run'
     # /home/yahonda/.rbenv/versions/jruby-9.2.1.0-dev/lib/ruby/gems/shared/gems/rspec-core-3.7.1/lib/rspec/core/hooks.rb:509:in `run_owned_hooks_for'
     # org/jruby/RubyArray.java:1802:in `each'
     # org/jruby/RubyArray$INVOKER$i$0$0$each.gen:-1:in `call'
     # /home/yahonda/.rbenv/versions/jruby-9.2.1.0-dev/lib/ruby/gems/shared/gems/rspec-core-3.7.1/lib/rspec/core/hooks.rb:508:in `run_owned_hooks_for'
     # /home/yahonda/.rbenv/versions/jruby-9.2.1.0-dev/lib/ruby/gems/shared/gems/rspec-core-3.7.1/lib/rspec/core/hooks.rb:460:in `run'
     # /home/yahonda/.rbenv/versions/jruby-9.2.1.0-dev/lib/ruby/gems/shared/gems/rspec-core-3.7.1/lib/rspec/core/example_group.rb:537:in `run_before_context_hooks'
     # /home/yahonda/.rbenv/versions/jruby-9.2.1.0-dev/lib/ruby/gems/shared/gems/rspec-core-3.7.1/lib/rspec/core/memoized_helpers.rb:186:in `isolate_for_context_hook'
     # org/jruby/RubyBasicObject.java:1781:in `yieldUnder'
     # org/jruby/RubyBasicObject.java:2680:in `instance_exec'
     # org/jruby/RubyBasicObject$INVOKER$i$0$3$instance_exec.gen:-1:in `call'
     # /home/yahonda/.rbenv/versions/jruby-9.2.1.0-dev/lib/ruby/gems/shared/gems/rspec-core-3.7.1/lib/rspec/core/memoized_helpers.rb:182:in `isolate_for_context_hook'
     # /home/yahonda/.rbenv/versions/jruby-9.2.1.0-dev/lib/ruby/gems/shared/gems/rspec-core-3.7.1/lib/rspec/core/example_group.rb:536:in `run_before_context_hooks'
     # /home/yahonda/.rbenv/versions/jruby-9.2.1.0-dev/lib/ruby/gems/shared/gems/rspec-core-3.7.1/lib/rspec/core/example_group.rb:589:in `run'
     # /home/yahonda/.rbenv/versions/jruby-9.2.1.0-dev/lib/ruby/gems/shared/gems/rspec-core-3.7.1/lib/rspec/core/example_group.rb:591:in `run'
     # org/jruby/RubyArray.java:2544:in `collect'
     # org/jruby/RubyArray.java:2558:in `map'
     # org/jruby/RubyArray$INVOKER$i$0$0$map19.gen:-1:in `call'
     # /home/yahonda/.rbenv/versions/jruby-9.2.1.0-dev/lib/ruby/gems/shared/gems/rspec-core-3.7.1/lib/rspec/core/example_group.rb:591:in `run'
     # /home/yahonda/.rbenv/versions/jruby-9.2.1.0-dev/lib/ruby/gems/shared/gems/rspec-core-3.7.1/lib/rspec/core/runner.rb:118:in `run_specs'
     # org/jruby/RubyArray.java:2544:in `collect'
     # org/jruby/RubyArray.java:2558:in `map'
     # org/jruby/RubyArray$INVOKER$i$0$0$map19.gen:-1:in `call'
     # /home/yahonda/.rbenv/versions/jruby-9.2.1.0-dev/lib/ruby/gems/shared/gems/rspec-core-3.7.1/lib/rspec/core/runner.rb:118:in `run_specs'
     # /home/yahonda/.rbenv/versions/jruby-9.2.1.0-dev/lib/ruby/gems/shared/gems/rspec-core-3.7.1/lib/rspec/core/configuration.rb:1926:in `with_suite_hooks'
     # /home/yahonda/.rbenv/versions/jruby-9.2.1.0-dev/lib/ruby/gems/shared/gems/rspec-core-3.7.1/lib/rspec/core/runner.rb:113:in `run_specs'
     # /home/yahonda/.rbenv/versions/jruby-9.2.1.0-dev/lib/ruby/gems/shared/gems/rspec-core-3.7.1/lib/rspec/core/reporter.rb:79:in `report'
     # /home/yahonda/.rbenv/versions/jruby-9.2.1.0-dev/lib/ruby/gems/shared/gems/rspec-core-3.7.1/lib/rspec/core/runner.rb:112:in `run_specs'
     # /home/yahonda/.rbenv/versions/jruby-9.2.1.0-dev/lib/ruby/gems/shared/gems/rspec-core-3.7.1/lib/rspec/core/runner.rb:87:in `run'
     # /home/yahonda/.rbenv/versions/jruby-9.2.1.0-dev/lib/ruby/gems/shared/gems/rspec-core-3.7.1/lib/rspec/core/runner.rb:71:in `run'
     # /home/yahonda/.rbenv/versions/jruby-9.2.1.0-dev/lib/ruby/gems/shared/gems/rspec-core-3.7.1/lib/rspec/core/runner.rb:45:in `invoke'
     # /home/yahonda/.rbenv/versions/jruby-9.2.1.0-dev/lib/ruby/gems/shared/gems/rspec-core-3.7.1/exe/rspec:4:in `<main>'
     # org/jruby/Ruby.java:864:in `runInterpreter'
     # org/jruby/Ruby.java:2956:in `loadFile'
     # org/jruby/RubyKernel.java:1027:in `loadCommon'
     # org/jruby/RubyKernel.java:997:in `load'
     # org/jruby/RubyKernel$INVOKER$s$load.gen:-1:in `call'
     # /home/yahonda/.rbenv/versions/jruby-9.2.1.0-dev/bin/rspec:1:in `<main>'
     # org/jruby/Ruby.java:864:in `runInterpreter'
     # org/jruby/Ruby.java:2956:in `loadFile'
     # org/jruby/RubyKernel.java:1027:in `loadCommon'
     # org/jruby/RubyKernel.java:997:in `load'
     # org/jruby/RubyKernel$INVOKER$s$load.gen:-1:in `call'
     # /home/yahonda/.rbenv/versions/jruby-9.2.1.0-dev/bin/rspec:23:in `<main>'
     # /home/yahonda/.rbenv/versions/jruby-9.2.1.0-dev/lib/ruby/gems/shared/gems/bundler-1.16.3/lib/bundler/cli/exec.rb:1:in `(root)'
     # /home/yahonda/.rbenv/versions/jruby-9.2.1.0-dev/lib/ruby/gems/shared/gems/bundler-1.16.3/lib/bundler/cli/exec.rb:74:in `kernel_load'
     # org/jruby/RubyClass.java:527:in `finvoke'
     # org/jruby/RubyBasicObject.java:1755:in `send'
     # org/jruby/RubyBasicObject$INVOKER$i$send.gen:-1:in `call'
     # /home/yahonda/.rbenv/versions/jruby-9.2.1.0-dev/lib/ruby/gems/shared/gems/bundler-1.16.3/lib/bundler/cli/exec.rb:28:in `run'
     # /home/yahonda/.rbenv/versions/jruby-9.2.1.0-dev/lib/ruby/gems/shared/gems/bundler-1.16.3/lib/bundler/cli.rb:424:in `exec'
     # /home/yahonda/.rbenv/versions/jruby-9.2.1.0-dev/lib/ruby/gems/shared/gems/bundler-1.16.3/lib/bundler/vendor/thor/lib/thor/command.rb:27:in `run'
     # /home/yahonda/.rbenv/versions/jruby-9.2.1.0-dev/lib/ruby/gems/shared/gems/bundler-1.16.3/lib/bundler/vendor/thor/lib/thor/invocation.rb:126:in `invoke_command'
     # /home/yahonda/.rbenv/versions/jruby-9.2.1.0-dev/lib/ruby/gems/shared/gems/bundler-1.16.3/lib/bundler/vendor/thor/lib/thor.rb:387:in `dispatch'
     # /home/yahonda/.rbenv/versions/jruby-9.2.1.0-dev/lib/ruby/gems/shared/gems/bundler-1.16.3/lib/bundler/cli.rb:27:in `dispatch'
     # /home/yahonda/.rbenv/versions/jruby-9.2.1.0-dev/lib/ruby/gems/shared/gems/bundler-1.16.3/lib/bundler/vendor/thor/lib/thor/base.rb:466:in `start'
     # /home/yahonda/.rbenv/versions/jruby-9.2.1.0-dev/lib/ruby/gems/shared/gems/bundler-1.16.3/lib/bundler/cli.rb:18:in `start'
     # /home/yahonda/.rbenv/versions/jruby-9.2.1.0-dev/lib/ruby/gems/shared/gems/bundler-1.16.3/exe/bundle:30:in `<main>'
     # org/jruby/Ruby.java:864:in `runInterpreter'
     # org/jruby/Ruby.java:2956:in `loadFile'
     # org/jruby/RubyKernel.java:1027:in `loadCommon'
     # org/jruby/RubyKernel.java:997:in `load'
     # org/jruby/RubyKernel$INVOKER$s$load.gen:-1:in `call'
     # /home/yahonda/.rbenv/versions/jruby-9.2.1.0-dev/lib/ruby/gems/shared/gems/bundler-1.16.3/lib/bundler/friendly_errors.rb:124:in `<main>'
     # org/jruby/Ruby.java:869:in `runInterpreter'
     # org/jruby/Ruby.java:873:in `runInterpreter'
     # org/jruby/Ruby.java:776:in `runNormally'
     # org/jruby/Ruby.java:789:in `runNormally'
     # org/jruby/Ruby.java:601:in `runFromMain'
     # org/jruby/Main.java:415:in `doRunFromMain'
     # org/jruby/Main.java:307:in `internalRun'
     # org/jruby/Main.java:234:in `run'
     # org/jruby/Main.java:206:in `main'
     # ------------------
     # --- Caused by: ---
     # Java::OracleJdbc::OracleDatabaseException:
     #   ORA-12899: value too large for column "FIELD_WITH_LEADING_SPACE" (actual: 1022, maximum: 1020)
     #   oracle.jdbc.driver.T4CTTIoer11.processError(T4CTTIoer11.java:498)

Finished in 1.83 seconds (files took 2.41 seconds to load)
1 example, 1 failure, 1 error occurred outside of examples

Failed examples:

rspec ./spec/active_record/connection_adapters/oracle_enhanced/schema_dumper_spec.rb:379 # OracleEnhancedAdapter schema dump virtual columns should dump correctly

Coverage report generated for RSpec to /home/yahonda/git/oracle-enhanced/coverage. 0 / 2167 LOC (0.0%) covered.
$
@headius

This comment has been minimized.

Copy link
Member

headius commented Aug 16, 2018

Thanks again for the report. This should get fixed for 9.2.1.

@headius headius added this to the JRuby 9.2.1.0 milestone Aug 16, 2018

@headius

This comment has been minimized.

Copy link
Member

headius commented Oct 11, 2018

@yahonda Is this still a problem? We have fixed other issues relating to keyword arguments in 9.2.1.

@yahonda

This comment has been minimized.

Copy link
Author

yahonda commented Oct 11, 2018

@headius Thanks for the update. Unfortunately, it still reproduces with this JRuby version.

$ ruby -v
jruby 9.2.1.0-SNAPSHOT (2.5.0) 2018-10-11 ba9583f Java HotSpot(TM) 64-Bit Server VM 25.181-b13 on 1.8.0_181-b13 [linux-x86_64]
$ bundle exec rspec ./spec/active_record/connection_adapters/oracle_enhanced/schema_dumper_spec.rb
.... snip ...

Failures:

  1) OracleEnhancedAdapter schema dump virtual columns should dump correctly
     Failure/Error: Unable to find oracle.jdbc.driver.T4CTTIoer11.processError(oracle/jdbc/driver/T4CTTIoer11.java to read failed line

     ActiveRecord::ValueTooLong:
       Java::JavaSql::SQLException: ORA-12899: value too large for column "FIELD_WITH_LEADING_SPACE" (actual: 1022, maximum: 1020)
       : CREATE TABLE "TEST_NAMES" ("ID" NUMBER(38) NOT NULL PRIMARY KEY, "FIRST_NAME" VARCHAR2(255), "LAST_NAME" VARCHAR2(255), "FULL_NAME"  AS (first_name || ', ' || last_name), "SHORT_NAME" VARCHAR2(255) AS (COALESCE(first_name, last_name)), "ABBREV_NAME" VARCHAR(100) AS (SUBSTR(first_name,1,50) || ' ' || SUBSTR(last_name,1,1) || '.'), "NAME_RATIO"  AS ((LENGTH(first_name)*10/LENGTH(last_name)*10)), "FULL_NAME_LENGTH" NUMBER(38) AS (length(first_name || ', ' || last_name)), "FIELD_WITH_LEADING_SPACE" VARCHAR2(255) AS (' ' || first_name || ' '))
     # oracle.jdbc.driver.T4CTTIoer11.processError(oracle/jdbc/driver/T4CTTIoer11.java:494)
     # oracle.jdbc.driver.T4CTTIoer11.processError(oracle/jdbc/driver/T4CTTIoer11.java:446)
     # oracle.jdbc.driver.T4C8Oall.processError(oracle/jdbc/driver/T4C8Oall.java:1052)
     # oracle.jdbc.driver.T4CTTIfun.receive(oracle/jdbc/driver/T4CTTIfun.java:537)
     # oracle.jdbc.driver.T4CTTIfun.doRPC(oracle/jdbc/driver/T4CTTIfun.java:255)
     # oracle.jdbc.driver.T4C8Oall.doOALL(oracle/jdbc/driver/T4C8Oall.java:610)
     # oracle.jdbc.driver.T4CStatement.doOall8(oracle/jdbc/driver/T4CStatement.java:213)
     # oracle.jdbc.driver.T4CStatement.doOall8(oracle/jdbc/driver/T4CStatement.java:37)
     # oracle.jdbc.driver.T4CStatement.executeForRows(oracle/jdbc/driver/T4CStatement.java:887)
     # oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(oracle/jdbc/driver/OracleStatement.java:1136)
     # oracle.jdbc.driver.OracleStatement.executeInternal(oracle/jdbc/driver/OracleStatement.java:1754)
     # oracle.jdbc.driver.OracleStatement.execute(oracle/jdbc/driver/OracleStatement.java:1709)
     # oracle.jdbc.driver.OracleStatementWrapper.execute(oracle/jdbc/driver/OracleStatementWrapper.java:300)
     # java.lang.reflect.Method.invoke(java/lang/reflect/Method.java:498)
     # org.jruby.javasupport.JavaMethod.invokeDirectWithExceptionHandling(org/jruby/javasupport/JavaMethod.java:455)
     # org.jruby.javasupport.JavaMethod.invokeDirect(org/jruby/javasupport/JavaMethod.java:316)
     # RUBY.exec_no_retry(/home/yahonda/git/oracle-enhanced/lib/active_record/connection_adapters/oracle_enhanced/jdbc_connection.rb:268)
     # RUBY.exec(/home/yahonda/git/oracle-enhanced/lib/active_record/connection_adapters/oracle_enhanced/jdbc_connection.rb:252)
     # RUBY.with_retry(/home/yahonda/git/oracle-enhanced/lib/active_record/connection_adapters/oracle_enhanced/jdbc_connection.rb:239)
     # RUBY.exec(/home/yahonda/git/oracle-enhanced/lib/active_record/connection_adapters/oracle_enhanced/jdbc_connection.rb:251)
     # RUBY.execute(/home/yahonda/git/oracle-enhanced/lib/active_record/connection_adapters/oracle_enhanced/database_statements.rb:13)
     # RUBY.log(/home/yahonda/.rbenv/versions/jruby-9.2.1.0-dev/lib/ruby/gems/shared/bundler/gems/rails-ebf98df9fb70/activerecord/lib/active_record/connection_adapters/abstract_adapter.rb:601)
     # RUBY.mon_synchronize(/home/yahonda/.rbenv/versions/jruby-9.2.1.0-dev/lib/ruby/stdlib/monitor.rb:226)
     # RUBY.log(/home/yahonda/.rbenv/versions/jruby-9.2.1.0-dev/lib/ruby/gems/shared/bundler/gems/rails-ebf98df9fb70/activerecord/lib/active_record/connection_adapters/abstract_adapter.rb:600)
     # RUBY.instrument(/home/yahonda/.rbenv/versions/jruby-9.2.1.0-dev/lib/ruby/gems/shared/bundler/gems/rails-ebf98df9fb70/activesupport/lib/active_support/notifications/instrumenter.rb:23)
     # RUBY.log(/home/yahonda/.rbenv/versions/jruby-9.2.1.0-dev/lib/ruby/gems/shared/bundler/gems/rails-ebf98df9fb70/activerecord/lib/active_record/connection_adapters/abstract_adapter.rb:591)
     # RUBY.log(/home/yahonda/git/oracle-enhanced/lib/active_record/connection_adapters/oracle_enhanced/dbms_output.rb:36)
     # RUBY.execute(/home/yahonda/git/oracle-enhanced/lib/active_record/connection_adapters/oracle_enhanced/database_statements.rb:13)
     # RUBY.create_table(/home/yahonda/git/oracle-enhanced/lib/active_record/connection_adapters/oracle_enhanced/schema_statements.rb:233)
     # org.jruby.RubyClass.finvoke(org/jruby/RubyClass.java:527)
     # org.jruby.RubyBasicObject.send(org/jruby/RubyBasicObject.java:1755)
     # org.jruby.RubyKernel.send(org/jruby/RubyKernel.java:2179)
     # org.jruby.RubyKernel$INVOKER$s$send.call(org/jruby/RubyKernel$INVOKER$s$send.gen)
     # RUBY.method_missing(/home/yahonda/.rbenv/versions/jruby-9.2.1.0-dev/lib/ruby/gems/shared/bundler/gems/rails-ebf98df9fb70/activerecord/lib/active_record/migration.rb:875)
     # RUBY.say_with_time(/home/yahonda/.rbenv/versions/jruby-9.2.1.0-dev/lib/ruby/gems/shared/bundler/gems/rails-ebf98df9fb70/activerecord/lib/active_record/migration.rb:843)
     # RUBY.measure(/home/yahonda/.rbenv/versions/jruby-9.2.1.0-dev/lib/ruby/stdlib/benchmark.rb:293)
     # RUBY.say_with_time(/home/yahonda/.rbenv/versions/jruby-9.2.1.0-dev/lib/ruby/gems/shared/bundler/gems/rails-ebf98df9fb70/activerecord/lib/active_record/migration.rb:843)
     # RUBY.method_missing(/home/yahonda/.rbenv/versions/jruby-9.2.1.0-dev/lib/ruby/gems/shared/bundler/gems/rails-ebf98df9fb70/activerecord/lib/active_record/migration.rb:864)
     # RUBY.<main>(/home/yahonda/git/oracle-enhanced/spec/active_record/connection_adapters/oracle_enhanced/schema_dumper_spec.rb:312)
     # org.jruby.RubyBasicObject.yieldUnder(org/jruby/RubyBasicObject.java:1818)
     # org.jruby.RubyBasicObject.specificEval(org/jruby/RubyBasicObject.java:1837)
     # org.jruby.RubyBasicObject.instance_eval(org/jruby/RubyBasicObject.java:2608)
     # org.jruby.RubyBasicObject$INVOKER$i$instance_eval.call(org/jruby/RubyBasicObject$INVOKER$i$instance_eval.gen)
     # RUBY.schema_define(/home/yahonda/git/oracle-enhanced/spec/spec_helper.rb:114)
     # RUBY.suppress_messages(/home/yahonda/.rbenv/versions/jruby-9.2.1.0-dev/lib/ruby/gems/shared/bundler/gems/rails-ebf98df9fb70/activerecord/lib/active_record/migration.rb:852)
     # RUBY.schema_define(/home/yahonda/git/oracle-enhanced/spec/spec_helper.rb:113)
     # org.jruby.RubyBasicObject.yieldUnder(org/jruby/RubyBasicObject.java:1818)
     # org.jruby.RubyBasicObject.specificEval(org/jruby/RubyBasicObject.java:1837)
     # org.jruby.RubyBasicObject.instance_eval(org/jruby/RubyBasicObject.java:2608)
     # org.jruby.RubyBasicObject$INVOKER$i$instance_eval.call(org/jruby/RubyBasicObject$INVOKER$i$instance_eval.gen)
     # RUBY.define(/home/yahonda/.rbenv/versions/jruby-9.2.1.0-dev/lib/ruby/gems/shared/bundler/gems/rails-ebf98df9fb70/activerecord/lib/active_record/schema.rb:50)
     # RUBY.define(/home/yahonda/.rbenv/versions/jruby-9.2.1.0-dev/lib/ruby/gems/shared/bundler/gems/rails-ebf98df9fb70/activerecord/lib/active_record/schema.rb:46)
     # RUBY.schema_define(/home/yahonda/git/oracle-enhanced/spec/spec_helper.rb:112)
     # RUBY.<main>(/home/yahonda/git/oracle-enhanced/spec/active_record/connection_adapters/oracle_enhanced/schema_dumper_spec.rb:311)
     # org.jruby.RubyBasicObject.yieldUnder(org/jruby/RubyBasicObject.java:1778)
     # org.jruby.RubyBasicObject.instance_exec(org/jruby/RubyBasicObject.java:2680)
     # org.jruby.RubyBasicObject$INVOKER$i$0$3$instance_exec.call(org/jruby/RubyBasicObject$INVOKER$i$0$3$instance_exec.gen)
     # RUBY.run(/home/yahonda/.rbenv/versions/jruby-9.2.1.0-dev/lib/ruby/gems/shared/gems/rspec-core-3.8.0/lib/rspec/core/hooks.rb:348)
     # RUBY.run_owned_hooks_for(/home/yahonda/.rbenv/versions/jruby-9.2.1.0-dev/lib/ruby/gems/shared/gems/rspec-core-3.8.0/lib/rspec/core/hooks.rb:507)
     # org.jruby.RubyArray.each(org/jruby/RubyArray.java:1795)
     # org.jruby.RubyArray$INVOKER$i$0$0$each.call(org/jruby/RubyArray$INVOKER$i$0$0$each.gen)
     # RUBY.run_owned_hooks_for(/home/yahonda/.rbenv/versions/jruby-9.2.1.0-dev/lib/ruby/gems/shared/gems/rspec-core-3.8.0/lib/rspec/core/hooks.rb:506)
     # RUBY.run(/home/yahonda/.rbenv/versions/jruby-9.2.1.0-dev/lib/ruby/gems/shared/gems/rspec-core-3.8.0/lib/rspec/core/hooks.rb:458)
     # RUBY.run_before_context_hooks(/home/yahonda/.rbenv/versions/jruby-9.2.1.0-dev/lib/ruby/gems/shared/gems/rspec-core-3.8.0/lib/rspec/core/example_group.rb:538)
     # RUBY.isolate_for_context_hook(/home/yahonda/.rbenv/versions/jruby-9.2.1.0-dev/lib/ruby/gems/shared/gems/rspec-core-3.8.0/lib/rspec/core/memoized_helpers.rb:186)
     # org.jruby.RubyBasicObject.yieldUnder(org/jruby/RubyBasicObject.java:1781)
     # org.jruby.RubyBasicObject.instance_exec(org/jruby/RubyBasicObject.java:2680)
     # org.jruby.RubyBasicObject$INVOKER$i$0$3$instance_exec.call(org/jruby/RubyBasicObject$INVOKER$i$0$3$instance_exec.gen)
     # RUBY.isolate_for_context_hook(/home/yahonda/.rbenv/versions/jruby-9.2.1.0-dev/lib/ruby/gems/shared/gems/rspec-core-3.8.0/lib/rspec/core/memoized_helpers.rb:182)
     # RUBY.run_before_context_hooks(/home/yahonda/.rbenv/versions/jruby-9.2.1.0-dev/lib/ruby/gems/shared/gems/rspec-core-3.8.0/lib/rspec/core/example_group.rb:537)
     # RUBY.run(/home/yahonda/.rbenv/versions/jruby-9.2.1.0-dev/lib/ruby/gems/shared/gems/rspec-core-3.8.0/lib/rspec/core/example_group.rb:590)
     # RUBY.run(/home/yahonda/.rbenv/versions/jruby-9.2.1.0-dev/lib/ruby/gems/shared/gems/rspec-core-3.8.0/lib/rspec/core/example_group.rb:592)
     # org.jruby.RubyArray.collect(org/jruby/RubyArray.java:2537)
     # org.jruby.RubyArray.map(org/jruby/RubyArray.java:2551)
     # org.jruby.RubyArray$INVOKER$i$0$0$map19.call(org/jruby/RubyArray$INVOKER$i$0$0$map19.gen)
     # RUBY.run(/home/yahonda/.rbenv/versions/jruby-9.2.1.0-dev/lib/ruby/gems/shared/gems/rspec-core-3.8.0/lib/rspec/core/example_group.rb:592)
     # RUBY.run_specs(/home/yahonda/.rbenv/versions/jruby-9.2.1.0-dev/lib/ruby/gems/shared/gems/rspec-core-3.8.0/lib/rspec/core/runner.rb:116)
     # org.jruby.RubyArray.collect(org/jruby/RubyArray.java:2537)
     # org.jruby.RubyArray.map(org/jruby/RubyArray.java:2551)
     # org.jruby.RubyArray$INVOKER$i$0$0$map19.call(org/jruby/RubyArray$INVOKER$i$0$0$map19.gen)
     # RUBY.run_specs(/home/yahonda/.rbenv/versions/jruby-9.2.1.0-dev/lib/ruby/gems/shared/gems/rspec-core-3.8.0/lib/rspec/core/runner.rb:116)
     # RUBY.with_suite_hooks(/home/yahonda/.rbenv/versions/jruby-9.2.1.0-dev/lib/ruby/gems/shared/gems/rspec-core-3.8.0/lib/rspec/core/configuration.rb:1989)
     # RUBY.run_specs(/home/yahonda/.rbenv/versions/jruby-9.2.1.0-dev/lib/ruby/gems/shared/gems/rspec-core-3.8.0/lib/rspec/core/runner.rb:111)
     # RUBY.report(/home/yahonda/.rbenv/versions/jruby-9.2.1.0-dev/lib/ruby/gems/shared/gems/rspec-core-3.8.0/lib/rspec/core/reporter.rb:74)
     # RUBY.run_specs(/home/yahonda/.rbenv/versions/jruby-9.2.1.0-dev/lib/ruby/gems/shared/gems/rspec-core-3.8.0/lib/rspec/core/runner.rb:110)
     # RUBY.run(/home/yahonda/.rbenv/versions/jruby-9.2.1.0-dev/lib/ruby/gems/shared/gems/rspec-core-3.8.0/lib/rspec/core/runner.rb:87)
     # RUBY.run(/home/yahonda/.rbenv/versions/jruby-9.2.1.0-dev/lib/ruby/gems/shared/gems/rspec-core-3.8.0/lib/rspec/core/runner.rb:71)
     # RUBY.invoke(/home/yahonda/.rbenv/versions/jruby-9.2.1.0-dev/lib/ruby/gems/shared/gems/rspec-core-3.8.0/lib/rspec/core/runner.rb:45)
     # RUBY.<main>(/home/yahonda/.rbenv/versions/jruby-9.2.1.0-dev/lib/ruby/gems/shared/gems/rspec-core-3.8.0/exe/rspec:4)
     # org.jruby.Ruby.runInterpreter(org/jruby/Ruby.java:864)
     # org.jruby.Ruby.loadFile(org/jruby/Ruby.java:2955)
     # org.jruby.RubyKernel.loadCommon(org/jruby/RubyKernel.java:1027)
     # org.jruby.RubyKernel.load(org/jruby/RubyKernel.java:997)
     # org.jruby.RubyKernel$INVOKER$s$load.call(org/jruby/RubyKernel$INVOKER$s$load.gen)
     # RUBY.<main>(/home/yahonda/.rbenv/versions/jruby-9.2.1.0-dev/bin/rspec:1)
     # org.jruby.Ruby.runInterpreter(org/jruby/Ruby.java:864)
     # org.jruby.Ruby.loadFile(org/jruby/Ruby.java:2955)
     # org.jruby.RubyKernel.loadCommon(org/jruby/RubyKernel.java:1027)
     # org.jruby.RubyKernel.load(org/jruby/RubyKernel.java:997)
     # org.jruby.RubyKernel$INVOKER$s$load.call(org/jruby/RubyKernel$INVOKER$s$load.gen)
     # RUBY.<main>(/home/yahonda/.rbenv/versions/jruby-9.2.1.0-dev/bin/rspec:23)
     # RUBY.(root)(/home/yahonda/.rbenv/versions/jruby-9.2.1.0-dev/lib/ruby/gems/shared/gems/bundler-1.16.6/lib/bundler/cli/exec.rb:1)
     # RUBY.kernel_load(/home/yahonda/.rbenv/versions/jruby-9.2.1.0-dev/lib/ruby/gems/shared/gems/bundler-1.16.6/lib/bundler/cli/exec.rb:74)
     # org.jruby.RubyClass.finvoke(org/jruby/RubyClass.java:527)
     # org.jruby.RubyBasicObject.send(org/jruby/RubyBasicObject.java:1755)
     # org.jruby.RubyBasicObject$INVOKER$i$send.call(org/jruby/RubyBasicObject$INVOKER$i$send.gen)
     # RUBY.run(/home/yahonda/.rbenv/versions/jruby-9.2.1.0-dev/lib/ruby/gems/shared/gems/bundler-1.16.6/lib/bundler/cli/exec.rb:28)
     # RUBY.exec(/home/yahonda/.rbenv/versions/jruby-9.2.1.0-dev/lib/ruby/gems/shared/gems/bundler-1.16.6/lib/bundler/cli.rb:424)
     # RUBY.run(/home/yahonda/.rbenv/versions/jruby-9.2.1.0-dev/lib/ruby/gems/shared/gems/bundler-1.16.6/lib/bundler/vendor/thor/lib/thor/command.rb:27)
     # RUBY.invoke_command(/home/yahonda/.rbenv/versions/jruby-9.2.1.0-dev/lib/ruby/gems/shared/gems/bundler-1.16.6/lib/bundler/vendor/thor/lib/thor/invocation.rb:126)
     # RUBY.dispatch(/home/yahonda/.rbenv/versions/jruby-9.2.1.0-dev/lib/ruby/gems/shared/gems/bundler-1.16.6/lib/bundler/vendor/thor/lib/thor.rb:387)
     # RUBY.dispatch(/home/yahonda/.rbenv/versions/jruby-9.2.1.0-dev/lib/ruby/gems/shared/gems/bundler-1.16.6/lib/bundler/cli.rb:27)
     # RUBY.start(/home/yahonda/.rbenv/versions/jruby-9.2.1.0-dev/lib/ruby/gems/shared/gems/bundler-1.16.6/lib/bundler/vendor/thor/lib/thor/base.rb:466)
     # RUBY.start(/home/yahonda/.rbenv/versions/jruby-9.2.1.0-dev/lib/ruby/gems/shared/gems/bundler-1.16.6/lib/bundler/cli.rb:18)
     # RUBY.<main>(/home/yahonda/.rbenv/versions/jruby-9.2.1.0-dev/lib/ruby/gems/shared/gems/bundler-1.16.6/exe/bundle:30)
     # org.jruby.Ruby.runInterpreter(org/jruby/Ruby.java:864)
     # org.jruby.Ruby.loadFile(org/jruby/Ruby.java:2955)
     # org.jruby.RubyKernel.loadCommon(org/jruby/RubyKernel.java:1027)
     # org.jruby.RubyKernel.load(org/jruby/RubyKernel.java:997)
     # org.jruby.RubyKernel$INVOKER$s$load.call(org/jruby/RubyKernel$INVOKER$s$load.gen)
     # RUBY.<main>(/home/yahonda/.rbenv/versions/jruby-9.2.1.0-dev/lib/ruby/gems/shared/gems/bundler-1.16.6/lib/bundler/friendly_errors.rb:124)
     # org.jruby.Ruby.runInterpreter(org/jruby/Ruby.java:869)
     # org.jruby.Ruby.runInterpreter(org/jruby/Ruby.java:873)
     # org.jruby.Ruby.runNormally(org/jruby/Ruby.java:776)
     # org.jruby.Ruby.runNormally(org/jruby/Ruby.java:789)
     # org.jruby.Ruby.runFromMain(org/jruby/Ruby.java:601)
     # org.jruby.Main.doRunFromMain(org/jruby/Main.java:415)
     # org.jruby.Main.internalRun(org/jruby/Main.java:307)
     # org.jruby.Main.run(org/jruby/Main.java:234)
     # org.jruby.Main.main(org/jruby/Main.java:206)
     # ------------------
     # --- Caused by: ---
     # Java::OracleJdbc::OracleDatabaseException:
     #   ORA-12899: value too large for column "FIELD_WITH_LEADING_SPACE" (actual: 1022, maximum: 1020)
     #   oracle.jdbc.driver.T4CTTIoer11.processError(T4CTTIoer11.java:498)

  2) OracleEnhancedAdapter schema dump virtual columns with index on virtual column should dump correctly
     Failure/Error: Unable to find oracle.jdbc.driver.T4CTTIoer11.processError(oracle/jdbc/driver/T4CTTIoer11.java to read failed line

     ActiveRecord::ValueTooLong:
       Java::JavaSql::SQLException: ORA-12899: value too large for column "FIELD_WITH_LEADING_SPACE" (actual: 1022, maximum: 1020)
       : CREATE TABLE "TEST_NAMES" ("ID" NUMBER(38) NOT NULL PRIMARY KEY, "FIRST_NAME" VARCHAR2(255), "LAST_NAME" VARCHAR2(255), "FULL_NAME"  AS (first_name || ', ' || last_name), "SHORT_NAME" VARCHAR2(255) AS (COALESCE(first_name, last_name)), "ABBREV_NAME" VARCHAR(100) AS (SUBSTR(first_name,1,50) || ' ' || SUBSTR(last_name,1,1) || '.'), "NAME_RATIO"  AS ((LENGTH(first_name)*10/LENGTH(last_name)*10)), "FULL_NAME_LENGTH" NUMBER(38) AS (length(first_name || ', ' || last_name)), "FIELD_WITH_LEADING_SPACE" VARCHAR2(255) AS (' ' || first_name || ' '))
     # oracle.jdbc.driver.T4CTTIoer11.processError(oracle/jdbc/driver/T4CTTIoer11.java:494)
     # oracle.jdbc.driver.T4CTTIoer11.processError(oracle/jdbc/driver/T4CTTIoer11.java:446)
     # oracle.jdbc.driver.T4C8Oall.processError(oracle/jdbc/driver/T4C8Oall.java:1052)
     # oracle.jdbc.driver.T4CTTIfun.receive(oracle/jdbc/driver/T4CTTIfun.java:537)
     # oracle.jdbc.driver.T4CTTIfun.doRPC(oracle/jdbc/driver/T4CTTIfun.java:255)
     # oracle.jdbc.driver.T4C8Oall.doOALL(oracle/jdbc/driver/T4C8Oall.java:610)
     # oracle.jdbc.driver.T4CStatement.doOall8(oracle/jdbc/driver/T4CStatement.java:213)
     # oracle.jdbc.driver.T4CStatement.doOall8(oracle/jdbc/driver/T4CStatement.java:37)
     # oracle.jdbc.driver.T4CStatement.executeForRows(oracle/jdbc/driver/T4CStatement.java:887)
     # oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(oracle/jdbc/driver/OracleStatement.java:1136)
     # oracle.jdbc.driver.OracleStatement.executeInternal(oracle/jdbc/driver/OracleStatement.java:1754)
     # oracle.jdbc.driver.OracleStatement.execute(oracle/jdbc/driver/OracleStatement.java:1709)
     # oracle.jdbc.driver.OracleStatementWrapper.execute(oracle/jdbc/driver/OracleStatementWrapper.java:300)
     # java.lang.reflect.Method.invoke(java/lang/reflect/Method.java:498)
     # org.jruby.javasupport.JavaMethod.invokeDirectWithExceptionHandling(org/jruby/javasupport/JavaMethod.java:455)
     # org.jruby.javasupport.JavaMethod.invokeDirect(org/jruby/javasupport/JavaMethod.java:316)
     # RUBY.exec_no_retry(/home/yahonda/git/oracle-enhanced/lib/active_record/connection_adapters/oracle_enhanced/jdbc_connection.rb:268)
     # RUBY.exec(/home/yahonda/git/oracle-enhanced/lib/active_record/connection_adapters/oracle_enhanced/jdbc_connection.rb:252)
     # RUBY.with_retry(/home/yahonda/git/oracle-enhanced/lib/active_record/connection_adapters/oracle_enhanced/jdbc_connection.rb:239)
     # RUBY.exec(/home/yahonda/git/oracle-enhanced/lib/active_record/connection_adapters/oracle_enhanced/jdbc_connection.rb:251)
     # RUBY.execute(/home/yahonda/git/oracle-enhanced/lib/active_record/connection_adapters/oracle_enhanced/database_statements.rb:13)
     # RUBY.log(/home/yahonda/.rbenv/versions/jruby-9.2.1.0-dev/lib/ruby/gems/shared/bundler/gems/rails-ebf98df9fb70/activerecord/lib/active_record/connection_adapters/abstract_adapter.rb:601)
     # RUBY.mon_synchronize(/home/yahonda/.rbenv/versions/jruby-9.2.1.0-dev/lib/ruby/stdlib/monitor.rb:226)
     # RUBY.log(/home/yahonda/.rbenv/versions/jruby-9.2.1.0-dev/lib/ruby/gems/shared/bundler/gems/rails-ebf98df9fb70/activerecord/lib/active_record/connection_adapters/abstract_adapter.rb:600)
     # RUBY.instrument(/home/yahonda/.rbenv/versions/jruby-9.2.1.0-dev/lib/ruby/gems/shared/bundler/gems/rails-ebf98df9fb70/activesupport/lib/active_support/notifications/instrumenter.rb:23)
     # RUBY.log(/home/yahonda/.rbenv/versions/jruby-9.2.1.0-dev/lib/ruby/gems/shared/bundler/gems/rails-ebf98df9fb70/activerecord/lib/active_record/connection_adapters/abstract_adapter.rb:591)
     # RUBY.log(/home/yahonda/git/oracle-enhanced/lib/active_record/connection_adapters/oracle_enhanced/dbms_output.rb:36)
     # RUBY.execute(/home/yahonda/git/oracle-enhanced/lib/active_record/connection_adapters/oracle_enhanced/database_statements.rb:13)
     # RUBY.create_table(/home/yahonda/git/oracle-enhanced/lib/active_record/connection_adapters/oracle_enhanced/schema_statements.rb:233)
     # org.jruby.RubyClass.finvoke(org/jruby/RubyClass.java:527)
     # org.jruby.RubyBasicObject.send(org/jruby/RubyBasicObject.java:1755)
     # org.jruby.RubyKernel.send(org/jruby/RubyKernel.java:2179)
     # org.jruby.RubyKernel$INVOKER$s$send.call(org/jruby/RubyKernel$INVOKER$s$send.gen)
     # RUBY.method_missing(/home/yahonda/.rbenv/versions/jruby-9.2.1.0-dev/lib/ruby/gems/shared/bundler/gems/rails-ebf98df9fb70/activerecord/lib/active_record/migration.rb:875)
     # RUBY.say_with_time(/home/yahonda/.rbenv/versions/jruby-9.2.1.0-dev/lib/ruby/gems/shared/bundler/gems/rails-ebf98df9fb70/activerecord/lib/active_record/migration.rb:843)
     # RUBY.measure(/home/yahonda/.rbenv/versions/jruby-9.2.1.0-dev/lib/ruby/stdlib/benchmark.rb:293)
     # RUBY.say_with_time(/home/yahonda/.rbenv/versions/jruby-9.2.1.0-dev/lib/ruby/gems/shared/bundler/gems/rails-ebf98df9fb70/activerecord/lib/active_record/migration.rb:843)
     # RUBY.method_missing(/home/yahonda/.rbenv/versions/jruby-9.2.1.0-dev/lib/ruby/gems/shared/bundler/gems/rails-ebf98df9fb70/activerecord/lib/active_record/migration.rb:864)
     # RUBY.<main>(/home/yahonda/git/oracle-enhanced/spec/active_record/connection_adapters/oracle_enhanced/schema_dumper_spec.rb:312)
     # org.jruby.RubyBasicObject.yieldUnder(org/jruby/RubyBasicObject.java:1818)
     # org.jruby.RubyBasicObject.specificEval(org/jruby/RubyBasicObject.java:1837)
     # org.jruby.RubyBasicObject.instance_eval(org/jruby/RubyBasicObject.java:2608)
     # org.jruby.RubyBasicObject$INVOKER$i$instance_eval.call(org/jruby/RubyBasicObject$INVOKER$i$instance_eval.gen)
     # RUBY.schema_define(/home/yahonda/git/oracle-enhanced/spec/spec_helper.rb:114)
     # RUBY.suppress_messages(/home/yahonda/.rbenv/versions/jruby-9.2.1.0-dev/lib/ruby/gems/shared/bundler/gems/rails-ebf98df9fb70/activerecord/lib/active_record/migration.rb:852)
     # RUBY.schema_define(/home/yahonda/git/oracle-enhanced/spec/spec_helper.rb:113)
     # org.jruby.RubyBasicObject.yieldUnder(org/jruby/RubyBasicObject.java:1818)
     # org.jruby.RubyBasicObject.specificEval(org/jruby/RubyBasicObject.java:1837)
     # org.jruby.RubyBasicObject.instance_eval(org/jruby/RubyBasicObject.java:2608)
     # org.jruby.RubyBasicObject$INVOKER$i$instance_eval.call(org/jruby/RubyBasicObject$INVOKER$i$instance_eval.gen)
     # RUBY.define(/home/yahonda/.rbenv/versions/jruby-9.2.1.0-dev/lib/ruby/gems/shared/bundler/gems/rails-ebf98df9fb70/activerecord/lib/active_record/schema.rb:50)
     # RUBY.define(/home/yahonda/.rbenv/versions/jruby-9.2.1.0-dev/lib/ruby/gems/shared/bundler/gems/rails-ebf98df9fb70/activerecord/lib/active_record/schema.rb:46)
     # RUBY.schema_define(/home/yahonda/git/oracle-enhanced/spec/spec_helper.rb:112)
     # RUBY.<main>(/home/yahonda/git/oracle-enhanced/spec/active_record/connection_adapters/oracle_enhanced/schema_dumper_spec.rb:311)
     # org.jruby.RubyBasicObject.yieldUnder(org/jruby/RubyBasicObject.java:1778)
     # org.jruby.RubyBasicObject.instance_exec(org/jruby/RubyBasicObject.java:2680)
     # org.jruby.RubyBasicObject$INVOKER$i$0$3$instance_exec.call(org/jruby/RubyBasicObject$INVOKER$i$0$3$instance_exec.gen)
     # RUBY.run(/home/yahonda/.rbenv/versions/jruby-9.2.1.0-dev/lib/ruby/gems/shared/gems/rspec-core-3.8.0/lib/rspec/core/hooks.rb:348)
     # RUBY.run_owned_hooks_for(/home/yahonda/.rbenv/versions/jruby-9.2.1.0-dev/lib/ruby/gems/shared/gems/rspec-core-3.8.0/lib/rspec/core/hooks.rb:507)
     # org.jruby.RubyArray.each(org/jruby/RubyArray.java:1795)
     # org.jruby.RubyArray$INVOKER$i$0$0$each.call(org/jruby/RubyArray$INVOKER$i$0$0$each.gen)
     # RUBY.run_owned_hooks_for(/home/yahonda/.rbenv/versions/jruby-9.2.1.0-dev/lib/ruby/gems/shared/gems/rspec-core-3.8.0/lib/rspec/core/hooks.rb:506)
     # RUBY.run(/home/yahonda/.rbenv/versions/jruby-9.2.1.0-dev/lib/ruby/gems/shared/gems/rspec-core-3.8.0/lib/rspec/core/hooks.rb:458)
     # RUBY.run_before_context_hooks(/home/yahonda/.rbenv/versions/jruby-9.2.1.0-dev/lib/ruby/gems/shared/gems/rspec-core-3.8.0/lib/rspec/core/example_group.rb:538)
     # RUBY.isolate_for_context_hook(/home/yahonda/.rbenv/versions/jruby-9.2.1.0-dev/lib/ruby/gems/shared/gems/rspec-core-3.8.0/lib/rspec/core/memoized_helpers.rb:186)
     # org.jruby.RubyBasicObject.yieldUnder(org/jruby/RubyBasicObject.java:1781)
     # org.jruby.RubyBasicObject.instance_exec(org/jruby/RubyBasicObject.java:2680)
     # org.jruby.RubyBasicObject$INVOKER$i$0$3$instance_exec.call(org/jruby/RubyBasicObject$INVOKER$i$0$3$instance_exec.gen)
     # RUBY.isolate_for_context_hook(/home/yahonda/.rbenv/versions/jruby-9.2.1.0-dev/lib/ruby/gems/shared/gems/rspec-core-3.8.0/lib/rspec/core/memoized_helpers.rb:182)
     # RUBY.run_before_context_hooks(/home/yahonda/.rbenv/versions/jruby-9.2.1.0-dev/lib/ruby/gems/shared/gems/rspec-core-3.8.0/lib/rspec/core/example_group.rb:537)
     # RUBY.run(/home/yahonda/.rbenv/versions/jruby-9.2.1.0-dev/lib/ruby/gems/shared/gems/rspec-core-3.8.0/lib/rspec/core/example_group.rb:590)
     # RUBY.run(/home/yahonda/.rbenv/versions/jruby-9.2.1.0-dev/lib/ruby/gems/shared/gems/rspec-core-3.8.0/lib/rspec/core/example_group.rb:592)
     # org.jruby.RubyArray.collect(org/jruby/RubyArray.java:2537)
     # org.jruby.RubyArray.map(org/jruby/RubyArray.java:2551)
     # org.jruby.RubyArray$INVOKER$i$0$0$map19.call(org/jruby/RubyArray$INVOKER$i$0$0$map19.gen)
     # RUBY.run(/home/yahonda/.rbenv/versions/jruby-9.2.1.0-dev/lib/ruby/gems/shared/gems/rspec-core-3.8.0/lib/rspec/core/example_group.rb:592)
     # RUBY.run_specs(/home/yahonda/.rbenv/versions/jruby-9.2.1.0-dev/lib/ruby/gems/shared/gems/rspec-core-3.8.0/lib/rspec/core/runner.rb:116)
     # org.jruby.RubyArray.collect(org/jruby/RubyArray.java:2537)
     # org.jruby.RubyArray.map(org/jruby/RubyArray.java:2551)
     # org.jruby.RubyArray$INVOKER$i$0$0$map19.call(org/jruby/RubyArray$INVOKER$i$0$0$map19.gen)
     # RUBY.run_specs(/home/yahonda/.rbenv/versions/jruby-9.2.1.0-dev/lib/ruby/gems/shared/gems/rspec-core-3.8.0/lib/rspec/core/runner.rb:116)
     # RUBY.with_suite_hooks(/home/yahonda/.rbenv/versions/jruby-9.2.1.0-dev/lib/ruby/gems/shared/gems/rspec-core-3.8.0/lib/rspec/core/configuration.rb:1989)
     # RUBY.run_specs(/home/yahonda/.rbenv/versions/jruby-9.2.1.0-dev/lib/ruby/gems/shared/gems/rspec-core-3.8.0/lib/rspec/core/runner.rb:111)
     # RUBY.report(/home/yahonda/.rbenv/versions/jruby-9.2.1.0-dev/lib/ruby/gems/shared/gems/rspec-core-3.8.0/lib/rspec/core/reporter.rb:74)
     # RUBY.run_specs(/home/yahonda/.rbenv/versions/jruby-9.2.1.0-dev/lib/ruby/gems/shared/gems/rspec-core-3.8.0/lib/rspec/core/runner.rb:110)
     # RUBY.run(/home/yahonda/.rbenv/versions/jruby-9.2.1.0-dev/lib/ruby/gems/shared/gems/rspec-core-3.8.0/lib/rspec/core/runner.rb:87)
     # RUBY.run(/home/yahonda/.rbenv/versions/jruby-9.2.1.0-dev/lib/ruby/gems/shared/gems/rspec-core-3.8.0/lib/rspec/core/runner.rb:71)
     # RUBY.invoke(/home/yahonda/.rbenv/versions/jruby-9.2.1.0-dev/lib/ruby/gems/shared/gems/rspec-core-3.8.0/lib/rspec/core/runner.rb:45)
     # RUBY.<main>(/home/yahonda/.rbenv/versions/jruby-9.2.1.0-dev/lib/ruby/gems/shared/gems/rspec-core-3.8.0/exe/rspec:4)
     # org.jruby.Ruby.runInterpreter(org/jruby/Ruby.java:864)
     # org.jruby.Ruby.loadFile(org/jruby/Ruby.java:2955)
     # org.jruby.RubyKernel.loadCommon(org/jruby/RubyKernel.java:1027)
     # org.jruby.RubyKernel.load(org/jruby/RubyKernel.java:997)
     # org.jruby.RubyKernel$INVOKER$s$load.call(org/jruby/RubyKernel$INVOKER$s$load.gen)
     # RUBY.<main>(/home/yahonda/.rbenv/versions/jruby-9.2.1.0-dev/bin/rspec:1)
     # org.jruby.Ruby.runInterpreter(org/jruby/Ruby.java:864)
     # org.jruby.Ruby.loadFile(org/jruby/Ruby.java:2955)
     # org.jruby.RubyKernel.loadCommon(org/jruby/RubyKernel.java:1027)
     # org.jruby.RubyKernel.load(org/jruby/RubyKernel.java:997)
     # org.jruby.RubyKernel$INVOKER$s$load.call(org/jruby/RubyKernel$INVOKER$s$load.gen)
     # RUBY.<main>(/home/yahonda/.rbenv/versions/jruby-9.2.1.0-dev/bin/rspec:23)
     # RUBY.(root)(/home/yahonda/.rbenv/versions/jruby-9.2.1.0-dev/lib/ruby/gems/shared/gems/bundler-1.16.6/lib/bundler/cli/exec.rb:1)
     # RUBY.kernel_load(/home/yahonda/.rbenv/versions/jruby-9.2.1.0-dev/lib/ruby/gems/shared/gems/bundler-1.16.6/lib/bundler/cli/exec.rb:74)
     # org.jruby.RubyClass.finvoke(org/jruby/RubyClass.java:527)
     # org.jruby.RubyBasicObject.send(org/jruby/RubyBasicObject.java:1755)
     # org.jruby.RubyBasicObject$INVOKER$i$send.call(org/jruby/RubyBasicObject$INVOKER$i$send.gen)
     # RUBY.run(/home/yahonda/.rbenv/versions/jruby-9.2.1.0-dev/lib/ruby/gems/shared/gems/bundler-1.16.6/lib/bundler/cli/exec.rb:28)
     # RUBY.exec(/home/yahonda/.rbenv/versions/jruby-9.2.1.0-dev/lib/ruby/gems/shared/gems/bundler-1.16.6/lib/bundler/cli.rb:424)
     # RUBY.run(/home/yahonda/.rbenv/versions/jruby-9.2.1.0-dev/lib/ruby/gems/shared/gems/bundler-1.16.6/lib/bundler/vendor/thor/lib/thor/command.rb:27)
     # RUBY.invoke_command(/home/yahonda/.rbenv/versions/jruby-9.2.1.0-dev/lib/ruby/gems/shared/gems/bundler-1.16.6/lib/bundler/vendor/thor/lib/thor/invocation.rb:126)
     # RUBY.dispatch(/home/yahonda/.rbenv/versions/jruby-9.2.1.0-dev/lib/ruby/gems/shared/gems/bundler-1.16.6/lib/bundler/vendor/thor/lib/thor.rb:387)
     # RUBY.dispatch(/home/yahonda/.rbenv/versions/jruby-9.2.1.0-dev/lib/ruby/gems/shared/gems/bundler-1.16.6/lib/bundler/cli.rb:27)
     # RUBY.start(/home/yahonda/.rbenv/versions/jruby-9.2.1.0-dev/lib/ruby/gems/shared/gems/bundler-1.16.6/lib/bundler/vendor/thor/lib/thor/base.rb:466)
     # RUBY.start(/home/yahonda/.rbenv/versions/jruby-9.2.1.0-dev/lib/ruby/gems/shared/gems/bundler-1.16.6/lib/bundler/cli.rb:18)
     # RUBY.<main>(/home/yahonda/.rbenv/versions/jruby-9.2.1.0-dev/lib/ruby/gems/shared/gems/bundler-1.16.6/exe/bundle:30)
     # org.jruby.Ruby.runInterpreter(org/jruby/Ruby.java:864)
     # org.jruby.Ruby.loadFile(org/jruby/Ruby.java:2955)
     # org.jruby.RubyKernel.loadCommon(org/jruby/RubyKernel.java:1027)
     # org.jruby.RubyKernel.load(org/jruby/RubyKernel.java:997)
     # org.jruby.RubyKernel$INVOKER$s$load.call(org/jruby/RubyKernel$INVOKER$s$load.gen)
     # RUBY.<main>(/home/yahonda/.rbenv/versions/jruby-9.2.1.0-dev/lib/ruby/gems/shared/gems/bundler-1.16.6/lib/bundler/friendly_errors.rb:124)
     # org.jruby.Ruby.runInterpreter(org/jruby/Ruby.java:869)
     # org.jruby.Ruby.runInterpreter(org/jruby/Ruby.java:873)
     # org.jruby.Ruby.runNormally(org/jruby/Ruby.java:776)
     # org.jruby.Ruby.runNormally(org/jruby/Ruby.java:789)
     # org.jruby.Ruby.runFromMain(org/jruby/Ruby.java:601)
     # org.jruby.Main.doRunFromMain(org/jruby/Main.java:415)
     # org.jruby.Main.internalRun(org/jruby/Main.java:307)
     # org.jruby.Main.run(org/jruby/Main.java:234)
     # org.jruby.Main.main(org/jruby/Main.java:206)
     # ------------------
     # --- Caused by: ---
     # Java::OracleJdbc::OracleDatabaseException:
     #   ORA-12899: value too large for column "FIELD_WITH_LEADING_SPACE" (actual: 1022, maximum: 1020)
     #   oracle.jdbc.driver.T4CTTIoer11.processError(T4CTTIoer11.java:498)

Finished in 5 minutes 29 seconds (files took 2.25 seconds to load)
29 examples, 2 failures, 1 error occurred outside of examples

Failed examples:

rspec ./spec/active_record/connection_adapters/oracle_enhanced/schema_dumper_spec.rb:341 # OracleEnhancedAdapter schema dump virtual columns should dump correctly
rspec ./spec/active_record/connection_adapters/oracle_enhanced/schema_dumper_spec.rb:366 # OracleEnhancedAdapter schema dump virtual columns with index on virtual column should dump correctly

Coverage report generated for RSpec to /home/yahonda/git/oracle-enhanced/coverage. 0 / 2128 LOC (0.0%) covered.
$
@headius

This comment has been minimized.

Copy link
Member

headius commented Oct 12, 2018

Ok I think we will need a little help. Do you have any thought what keyword argument-based call might be related to this?

Could you try running JRuby in pure-interpreted mode (JRUBY_OPTS=-X-C) and "jit immediately" mode (JRUBY_OPTS=-Xjit.threshold=0)? Perhaps it is specific to one mode or the other.

It might take me some time to get an Oracle rig set up...since I know absolutely nothing about setting up Oracle.

I'll be around IRC and Gitter during USA working hours tomorrow if you want to try to investigate together.

@headius

This comment has been minimized.

Copy link
Member

headius commented Oct 12, 2018

...tomorrow being Friday, 12 October 😉

@yahonda

This comment has been minimized.

Copy link
Author

yahonda commented Oct 12, 2018

Let me take another look at this and will provide the requested information.
Also, I'd be happy to join the IRC but now I'm staying in Tokyo then would be hard to join it based on the US time zone.

@headius

This comment has been minimized.

Copy link
Member

headius commented Oct 12, 2018

@yahonda If you can tell me a time of day you could meet to chat, I can try to make it happen 👍

@yahonda

This comment has been minimized.

Copy link
Author

yahonda commented Oct 15, 2018

@headius I'm attending Oracle Code One and having a presentation on Oct 22.
Then I'll be available on PT timezone between Oct 23 and 25. Would you arrange some time between Oct 23 and 25? Thanks.

@headius

This comment has been minimized.

Copy link
Member

headius commented Oct 15, 2018

Well, I'll actually be in SF from 22-24 but somewhat busy. If we can't find time while we're both there, then any time on the 25th works for me.

@yahonda

This comment has been minimized.

Copy link
Author

yahonda commented Oct 25, 2018

I'll be online around 10 am PT tomorrow, Oct 25 at https://www.jruby.org/chat .

@yahonda

This comment has been minimized.

Copy link
Author

yahonda commented Oct 26, 2018

With JRUBY_OPTS=-Xjit.threshold=0, there are some more trace information appeared. Does it help?

$ echo $JRUBY_OPTS
-Xjit.threshold=0
$ java -version
openjdk version "1.8.0_181"
OpenJDK Runtime Environment (build 1.8.0_181-8u181-b13-1-b13)
OpenJDK 64-Bit Server VM (build 25.181-b13, mixed mode)
$ jruby -v
jruby 9.2.1.0-SNAPSHOT (2.5.0) 2018-10-25 167d130 OpenJDK 64-Bit Server VM 25.181-b13 on 1.8.0_181-8u181-b13-1-b13 +jit [linux-x86_64]
$ bundle exec rspec ./spec/active_record/connection_adapters/oracle_enhanced/schema_dumper_spec.rb:341
Coverage may be inaccurate; set the "--debug" command line option, or do JRUBY_OPTS="--debug" or set the "debug.fullTrace=true" option in your .jrubyrc
/home/yahonda/.rbenv/versions/jruby-9.2.1.0-dev/lib/ruby/gems/shared/bundler/gems/simplecov-994dbff2780a/lib/simplecov.rb:53: warning: tracing (e.g. set_trace_func) will not capture all events without --debug flag
==> Loading config from ENV or use default
==> Running specs with JRuby version 9.2.1.0-SNAPSHOT
/home/yahonda/.rbenv/versions/jruby-9.2.1.0-dev/lib/ruby/gems/shared/bundler/gems/ruby-plsql-914c46ab36d2/lib/plsql/jdbc_connection.rb:225: warning: constant ::Fixnum is deprecated
/home/yahonda/.rbenv/versions/jruby-9.2.1.0-dev/lib/ruby/gems/shared/bundler/gems/ruby-plsql-914c46ab36d2/lib/plsql/jdbc_connection.rb:226: warning: constant ::Bignum is deprecated
==> Effective ActiveRecord version 6.0.0.alpha
Run options: include {:locations=>{"./spec/active_record/connection_adapters/oracle_enhanced/schema_dumper_spec.rb"=>[341]}}
F
An error occurred in an `after(:context)` hook.
Failure/Error: Unable to find oracle.jdbc.driver.T4CTTIoer11.processError(oracle/jdbc/driver/T4CTTIoer11.java to read failed line

ActiveRecord::StatementInvalid:
  Java::JavaSql::SQLSyntaxErrorException: ORA-00942: table or view does not exist
  : DROP TABLE "TEST_NAMES"
# oracle.jdbc.driver.T4CTTIoer11.processError(oracle/jdbc/driver/T4CTTIoer11.java:494)
# oracle.jdbc.driver.T4CTTIoer11.processError(oracle/jdbc/driver/T4CTTIoer11.java:446)
# oracle.jdbc.driver.T4C8Oall.processError(oracle/jdbc/driver/T4C8Oall.java:1052)
# oracle.jdbc.driver.T4CTTIfun.receive(oracle/jdbc/driver/T4CTTIfun.java:537)
# oracle.jdbc.driver.T4CTTIfun.doRPC(oracle/jdbc/driver/T4CTTIfun.java:255)
# oracle.jdbc.driver.T4C8Oall.doOALL(oracle/jdbc/driver/T4C8Oall.java:610)
# oracle.jdbc.driver.T4CStatement.doOall8(oracle/jdbc/driver/T4CStatement.java:213)
# oracle.jdbc.driver.T4CStatement.doOall8(oracle/jdbc/driver/T4CStatement.java:37)
# oracle.jdbc.driver.T4CStatement.executeForRows(oracle/jdbc/driver/T4CStatement.java:887)
# oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(oracle/jdbc/driver/OracleStatement.java:1136)
# oracle.jdbc.driver.OracleStatement.executeInternal(oracle/jdbc/driver/OracleStatement.java:1754)
# oracle.jdbc.driver.OracleStatement.execute(oracle/jdbc/driver/OracleStatement.java:1709)
# oracle.jdbc.driver.OracleStatementWrapper.execute(oracle/jdbc/driver/OracleStatementWrapper.java:300)
# java.lang.reflect.Method.invoke(java/lang/reflect/Method.java:498)
# org.jruby.javasupport.JavaMethod.invokeDirectWithExceptionHandling(org/jruby/javasupport/JavaMethod.java:455)
# org.jruby.javasupport.JavaMethod.invokeDirect(org/jruby/javasupport/JavaMethod.java:316)
# home.yahonda.git.oracle_minus_enhanced.lib.active_record.connection_adapters.oracle_enhanced.jdbc_connection.invokeOther14:execute(home/yahonda/git/oracle_minus_enhanced/lib/active_record/connection_adapters/oracle_enhanced//home/yahonda/git/oracle-enhanced/lib/active_record/connection_adapters/oracle_enhanced/jdbc_connection.rb:268)
# home.yahonda.git.oracle_minus_enhanced.lib.active_record.connection_adapters.oracle_enhanced.jdbc_connection.exec_no_retry(/home/yahonda/git/oracle-enhanced/lib/active_record/connection_adapters/oracle_enhanced/jdbc_connection.rb:268)
# home.yahonda.git.oracle_minus_enhanced.lib.active_record.connection_adapters.oracle_enhanced.jdbc_connection.invokeOther0:exec_no_retry(home/yahonda/git/oracle_minus_enhanced/lib/active_record/connection_adapters/oracle_enhanced//home/yahonda/git/oracle-enhanced/lib/active_record/connection_adapters/oracle_enhanced/jdbc_connection.rb:252)
# home.yahonda.git.oracle_minus_enhanced.lib.active_record.connection_adapters.oracle_enhanced.jdbc_connection.exec(/home/yahonda/git/oracle-enhanced/lib/active_record/connection_adapters/oracle_enhanced/jdbc_connection.rb:252)
# home.yahonda.git.oracle_minus_enhanced.lib.active_record.connection_adapters.oracle_enhanced.jdbc_connection.with_retry(/home/yahonda/git/oracle-enhanced/lib/active_record/connection_adapters/oracle_enhanced/jdbc_connection.rb:239)
# home.yahonda.git.oracle_minus_enhanced.lib.active_record.connection_adapters.oracle_enhanced.jdbc_connection.invokeOther2:with_retry(home/yahonda/git/oracle_minus_enhanced/lib/active_record/connection_adapters/oracle_enhanced//home/yahonda/git/oracle-enhanced/lib/active_record/connection_adapters/oracle_enhanced/jdbc_connection.rb:251)
# home.yahonda.git.oracle_minus_enhanced.lib.active_record.connection_adapters.oracle_enhanced.jdbc_connection.exec(/home/yahonda/git/oracle-enhanced/lib/active_record/connection_adapters/oracle_enhanced/jdbc_connection.rb:251)
# home.yahonda.git.oracle_minus_enhanced.lib.active_record.connection_adapters.oracle_enhanced.database_statements.invokeOther1:exec(home/yahonda/git/oracle_minus_enhanced/lib/active_record/connection_adapters/oracle_enhanced//home/yahonda/git/oracle-enhanced/lib/active_record/connection_adapters/oracle_enhanced/database_statements.rb:13)
# home.yahonda.git.oracle_minus_enhanced.lib.active_record.connection_adapters.oracle_enhanced.database_statements.execute(/home/yahonda/git/oracle-enhanced/lib/active_record/connection_adapters/oracle_enhanced/database_statements.rb:13)
# home.yahonda.$_dot_rbenv.versions.jruby_minus_9_dot_2_dot_1_dot_0_minus_dev.lib.ruby.gems.shared.bundler.gems.rails_minus_ebf98df9fb70.activerecord.lib.active_record.connection_adapters.abstract_adapter_dot_rb.log(/home/yahonda/.rbenv/versions/jruby-9.2.1.0-dev/lib/ruby/gems/shared/bundler/gems/rails-ebf98df9fb70/activerecord/lib/active_record/connection_adapters/abstract_adapter.rb:601)
# home.yahonda.$_dot_rbenv.versions.jruby_minus_9_dot_2_dot_1_dot_0_minus_dev.lib.ruby.stdlib.monitor_dot_rb.mon_synchronize(/home/yahonda/.rbenv/versions/jruby-9.2.1.0-dev/lib/ruby/stdlib/monitor.rb:226)
# home.yahonda.$_dot_rbenv.versions.jruby_minus_9_dot_2_dot_1_dot_0_minus_dev.lib.ruby.gems.shared.bundler.gems.rails_minus_ebf98df9fb70.activerecord.lib.active_record.connection_adapters.abstract_adapter_dot_rb.invokeOther2:synchronize(home/yahonda/$_dot_rbenv/versions/jruby_minus_9_dot_2_dot_1_dot_0_minus_dev/lib/ruby/gems/shared/bundler/gems/rails_minus_ebf98df9fb70/activerecord/lib/active_record/connection_adapters//home/yahonda/.rbenv/versions/jruby-9.2.1.0-dev/lib/ruby/gems/shared/bundler/gems/rails-ebf98df9fb70/activerecord/lib/active_record/connection_adapters/abstract_adapter.rb:600)
# home.yahonda.$_dot_rbenv.versions.jruby_minus_9_dot_2_dot_1_dot_0_minus_dev.lib.ruby.gems.shared.bundler.gems.rails_minus_ebf98df9fb70.activerecord.lib.active_record.connection_adapters.abstract_adapter_dot_rb.log(/home/yahonda/.rbenv/versions/jruby-9.2.1.0-dev/lib/ruby/gems/shared/bundler/gems/rails-ebf98df9fb70/activerecord/lib/active_record/connection_adapters/abstract_adapter.rb:600)
# home.yahonda.$_dot_rbenv.versions.jruby_minus_9_dot_2_dot_1_dot_0_minus_dev.lib.ruby.gems.shared.bundler.gems.rails_minus_ebf98df9fb70.activesupport.lib.active_support.notifications.instrumenter_dot_rb.instrument(/home/yahonda/.rbenv/versions/jruby-9.2.1.0-dev/lib/ruby/gems/shared/bundler/gems/rails-ebf98df9fb70/activesupport/lib/active_support/notifications/instrumenter.rb:23)
# home.yahonda.$_dot_rbenv.versions.jruby_minus_9_dot_2_dot_1_dot_0_minus_dev.lib.ruby.gems.shared.bundler.gems.rails_minus_ebf98df9fb70.activerecord.lib.active_record.connection_adapters.abstract_adapter_dot_rb.invokeOther22:instrument(home/yahonda/$_dot_rbenv/versions/jruby_minus_9_dot_2_dot_1_dot_0_minus_dev/lib/ruby/gems/shared/bundler/gems/rails_minus_ebf98df9fb70/activerecord/lib/active_record/connection_adapters//home/yahonda/.rbenv/versions/jruby-9.2.1.0-dev/lib/ruby/gems/shared/bundler/gems/rails-ebf98df9fb70/activerecord/lib/active_record/connection_adapters/abstract_adapter.rb:591)
# home.yahonda.$_dot_rbenv.versions.jruby_minus_9_dot_2_dot_1_dot_0_minus_dev.lib.ruby.gems.shared.bundler.gems.rails_minus_ebf98df9fb70.activerecord.lib.active_record.connection_adapters.abstract_adapter_dot_rb.log(/home/yahonda/.rbenv/versions/jruby-9.2.1.0-dev/lib/ruby/gems/shared/bundler/gems/rails-ebf98df9fb70/activerecord/lib/active_record/connection_adapters/abstract_adapter.rb:591)
# home.yahonda.git.oracle_minus_enhanced.lib.active_record.connection_adapters.oracle_enhanced.dbms_output.invokeSuper1:-unknown-super-target-(home/yahonda/git/oracle_minus_enhanced/lib/active_record/connection_adapters/oracle_enhanced//home/yahonda/git/oracle-enhanced/lib/active_record/connection_adapters/oracle_enhanced/dbms_output.rb:36)
# home.yahonda.git.oracle_minus_enhanced.lib.active_record.connection_adapters.oracle_enhanced.dbms_output.log(/home/yahonda/git/oracle-enhanced/lib/active_record/connection_adapters/oracle_enhanced/dbms_output.rb:36)
# home.yahonda.git.oracle_minus_enhanced.lib.active_record.connection_adapters.oracle_enhanced.database_statements.invokeOther3:log(home/yahonda/git/oracle_minus_enhanced/lib/active_record/connection_adapters/oracle_enhanced//home/yahonda/git/oracle-enhanced/lib/active_record/connection_adapters/oracle_enhanced/database_statements.rb:13)
# home.yahonda.git.oracle_minus_enhanced.lib.active_record.connection_adapters.oracle_enhanced.database_statements.execute(/home/yahonda/git/oracle-enhanced/lib/active_record/connection_adapters/oracle_enhanced/database_statements.rb:13)
# home.yahonda.git.oracle_minus_enhanced.lib.active_record.connection_adapters.oracle_enhanced.schema_statements.invokeOther10:execute(home/yahonda/git/oracle_minus_enhanced/lib/active_record/connection_adapters/oracle_enhanced//home/yahonda/git/oracle-enhanced/lib/active_record/connection_adapters/oracle_enhanced/schema_statements.rb:259)
# home.yahonda.git.oracle_minus_enhanced.lib.active_record.connection_adapters.oracle_enhanced.schema_statements.drop_table(/home/yahonda/git/oracle-enhanced/lib/active_record/connection_adapters/oracle_enhanced/schema_statements.rb:259)
# org.jruby.RubyClass.finvoke(org/jruby/RubyClass.java:523)
# org.jruby.RubyBasicObject.send(org/jruby/RubyBasicObject.java:1755)
# org.jruby.RubyKernel.send(org/jruby/RubyKernel.java:2184)
# org.jruby.RubyKernel$INVOKER$s$send.call(org/jruby/RubyKernel$INVOKER$s$send.gen)
# home.yahonda.$_dot_rbenv.versions.jruby_minus_9_dot_2_dot_1_dot_0_minus_dev.lib.ruby.gems.shared.bundler.gems.rails_minus_ebf98df9fb70.activerecord.lib.active_record.migration_dot_rb.invokeOther36:send(home/yahonda/$_dot_rbenv/versions/jruby_minus_9_dot_2_dot_1_dot_0_minus_dev/lib/ruby/gems/shared/bundler/gems/rails_minus_ebf98df9fb70/activerecord/lib/active_record//home/yahonda/.rbenv/versions/jruby-9.2.1.0-dev/lib/ruby/gems/shared/bundler/gems/rails-ebf98df9fb70/activerecord/lib/active_record/migration.rb:875)
# home.yahonda.$_dot_rbenv.versions.jruby_minus_9_dot_2_dot_1_dot_0_minus_dev.lib.ruby.gems.shared.bundler.gems.rails_minus_ebf98df9fb70.activerecord.lib.active_record.migration_dot_rb.method_missing(/home/yahonda/.rbenv/versions/jruby-9.2.1.0-dev/lib/ruby/gems/shared/bundler/gems/rails-ebf98df9fb70/activerecord/lib/active_record/migration.rb:875)
# home.yahonda.$_dot_rbenv.versions.jruby_minus_9_dot_2_dot_1_dot_0_minus_dev.lib.ruby.gems.shared.bundler.gems.rails_minus_ebf98df9fb70.activerecord.lib.active_record.migration_dot_rb.say_with_time(/home/yahonda/.rbenv/versions/jruby-9.2.1.0-dev/lib/ruby/gems/shared/bundler/gems/rails-ebf98df9fb70/activerecord/lib/active_record/migration.rb:843)
# home.yahonda.$_dot_rbenv.versions.jruby_minus_9_dot_2_dot_1_dot_0_minus_dev.lib.ruby.stdlib.benchmark_dot_rb.measure(/home/yahonda/.rbenv/versions/jruby-9.2.1.0-dev/lib/ruby/stdlib/benchmark.rb:293)
# home.yahonda.$_dot_rbenv.versions.jruby_minus_9_dot_2_dot_1_dot_0_minus_dev.lib.ruby.gems.shared.bundler.gems.rails_minus_ebf98df9fb70.activerecord.lib.active_record.migration_dot_rb.invokeOther2:measure(home/yahonda/$_dot_rbenv/versions/jruby_minus_9_dot_2_dot_1_dot_0_minus_dev/lib/ruby/gems/shared/bundler/gems/rails_minus_ebf98df9fb70/activerecord/lib/active_record//home/yahonda/.rbenv/versions/jruby-9.2.1.0-dev/lib/ruby/gems/shared/bundler/gems/rails-ebf98df9fb70/activerecord/lib/active_record/migration.rb:843)
# home.yahonda.$_dot_rbenv.versions.jruby_minus_9_dot_2_dot_1_dot_0_minus_dev.lib.ruby.gems.shared.bundler.gems.rails_minus_ebf98df9fb70.activerecord.lib.active_record.migration_dot_rb.say_with_time(/home/yahonda/.rbenv/versions/jruby-9.2.1.0-dev/lib/ruby/gems/shared/bundler/gems/rails-ebf98df9fb70/activerecord/lib/active_record/migration.rb:843)
# home.yahonda.$_dot_rbenv.versions.jruby_minus_9_dot_2_dot_1_dot_0_minus_dev.lib.ruby.gems.shared.bundler.gems.rails_minus_ebf98df9fb70.activerecord.lib.active_record.migration_dot_rb.invokeOther47:say_with_time(home/yahonda/$_dot_rbenv/versions/jruby_minus_9_dot_2_dot_1_dot_0_minus_dev/lib/ruby/gems/shared/bundler/gems/rails_minus_ebf98df9fb70/activerecord/lib/active_record//home/yahonda/.rbenv/versions/jruby-9.2.1.0-dev/lib/ruby/gems/shared/bundler/gems/rails-ebf98df9fb70/activerecord/lib/active_record/migration.rb:864)
# home.yahonda.$_dot_rbenv.versions.jruby_minus_9_dot_2_dot_1_dot_0_minus_dev.lib.ruby.gems.shared.bundler.gems.rails_minus_ebf98df9fb70.activerecord.lib.active_record.migration_dot_rb.method_missing(/home/yahonda/.rbenv/versions/jruby-9.2.1.0-dev/lib/ruby/gems/shared/bundler/gems/rails-ebf98df9fb70/activerecord/lib/active_record/migration.rb:864)
# RUBY.<main>(/home/yahonda/git/oracle-enhanced/spec/active_record/connection_adapters/oracle_enhanced/schema_dumper_spec.rb:336)
# org.jruby.RubyBasicObject.yieldUnder(org/jruby/RubyBasicObject.java:1818)
# org.jruby.RubyBasicObject.specificEval(org/jruby/RubyBasicObject.java:1837)
# org.jruby.RubyBasicObject.instance_eval(org/jruby/RubyBasicObject.java:2608)
# org.jruby.RubyBasicObject$INVOKER$i$instance_eval.call(org/jruby/RubyBasicObject$INVOKER$i$instance_eval.gen)
# home.yahonda.git.oracle_minus_enhanced.spec.spec_helper.invokeOther0:instance_eval(home/yahonda/git/oracle_minus_enhanced/spec//home/yahonda/git/oracle-enhanced/spec/spec_helper.rb:114)
# home.yahonda.git.oracle_minus_enhanced.spec.spec_helper.schema_define(/home/yahonda/git/oracle-enhanced/spec/spec_helper.rb:114)
# home.yahonda.$_dot_rbenv.versions.jruby_minus_9_dot_2_dot_1_dot_0_minus_dev.lib.ruby.gems.shared.bundler.gems.rails_minus_ebf98df9fb70.activerecord.lib.active_record.migration_dot_rb.suppress_messages(/home/yahonda/.rbenv/versions/jruby-9.2.1.0-dev/lib/ruby/gems/shared/bundler/gems/rails-ebf98df9fb70/activerecord/lib/active_record/migration.rb:852)
# home.yahonda.git.oracle_minus_enhanced.spec.spec_helper.invokeOther2:suppress_messages(home/yahonda/git/oracle_minus_enhanced/spec//home/yahonda/git/oracle-enhanced/spec/spec_helper.rb:113)
# home.yahonda.git.oracle_minus_enhanced.spec.spec_helper.schema_define(/home/yahonda/git/oracle-enhanced/spec/spec_helper.rb:113)
# org.jruby.RubyBasicObject.yieldUnder(org/jruby/RubyBasicObject.java:1818)
# org.jruby.RubyBasicObject.specificEval(org/jruby/RubyBasicObject.java:1837)
# org.jruby.RubyBasicObject.instance_eval(org/jruby/RubyBasicObject.java:2608)
# org.jruby.RubyBasicObject$INVOKER$i$instance_eval.call(org/jruby/RubyBasicObject$INVOKER$i$instance_eval.gen)
# home.yahonda.$_dot_rbenv.versions.jruby_minus_9_dot_2_dot_1_dot_0_minus_dev.lib.ruby.gems.shared.bundler.gems.rails_minus_ebf98df9fb70.activerecord.lib.active_record.schema_dot_rb.invokeOther0:instance_eval(home/yahonda/$_dot_rbenv/versions/jruby_minus_9_dot_2_dot_1_dot_0_minus_dev/lib/ruby/gems/shared/bundler/gems/rails_minus_ebf98df9fb70/activerecord/lib/active_record//home/yahonda/.rbenv/versions/jruby-9.2.1.0-dev/lib/ruby/gems/shared/bundler/gems/rails-ebf98df9fb70/activerecord/lib/active_record/schema.rb:50)
# home.yahonda.$_dot_rbenv.versions.jruby_minus_9_dot_2_dot_1_dot_0_minus_dev.lib.ruby.gems.shared.bundler.gems.rails_minus_ebf98df9fb70.activerecord.lib.active_record.schema_dot_rb.define(/home/yahonda/.rbenv/versions/jruby-9.2.1.0-dev/lib/ruby/gems/shared/bundler/gems/rails-ebf98df9fb70/activerecord/lib/active_record/schema.rb:50)
# home.yahonda.$_dot_rbenv.versions.jruby_minus_9_dot_2_dot_1_dot_0_minus_dev.lib.ruby.gems.shared.bundler.gems.rails_minus_ebf98df9fb70.activerecord.lib.active_record.schema_dot_rb.invokeOther1:define(home/yahonda/$_dot_rbenv/versions/jruby_minus_9_dot_2_dot_1_dot_0_minus_dev/lib/ruby/gems/shared/bundler/gems/rails_minus_ebf98df9fb70/activerecord/lib/active_record//home/yahonda/.rbenv/versions/jruby-9.2.1.0-dev/lib/ruby/gems/shared/bundler/gems/rails-ebf98df9fb70/activerecord/lib/active_record/schema.rb:46)
# home.yahonda.$_dot_rbenv.versions.jruby_minus_9_dot_2_dot_1_dot_0_minus_dev.lib.ruby.gems.shared.bundler.gems.rails_minus_ebf98df9fb70.activerecord.lib.active_record.schema_dot_rb.define(/home/yahonda/.rbenv/versions/jruby-9.2.1.0-dev/lib/ruby/gems/shared/bundler/gems/rails-ebf98df9fb70/activerecord/lib/active_record/schema.rb:46)
# home.yahonda.git.oracle_minus_enhanced.spec.spec_helper.invokeOther4:define(home/yahonda/git/oracle_minus_enhanced/spec//home/yahonda/git/oracle-enhanced/spec/spec_helper.rb:112)
# home.yahonda.git.oracle_minus_enhanced.spec.spec_helper.schema_define(/home/yahonda/git/oracle-enhanced/spec/spec_helper.rb:112)
# home.yahonda.git.oracle_minus_enhanced.spec.spec_helper.RUBY$method$schema_define$0$__VARARGS__(home/yahonda/git/oracle_minus_enhanced/spec//home/yahonda/git/oracle-enhanced/spec/spec_helper.rb)
# RUBY.<main>(/home/yahonda/git/oracle-enhanced/spec/active_record/connection_adapters/oracle_enhanced/schema_dumper_spec.rb:335)
# org.jruby.RubyBasicObject.yieldUnder(org/jruby/RubyBasicObject.java:1778)
# org.jruby.RubyBasicObject.instance_exec(org/jruby/RubyBasicObject.java:2680)
# org.jruby.RubyBasicObject$INVOKER$i$0$3$instance_exec.call(org/jruby/RubyBasicObject$INVOKER$i$0$3$instance_exec.gen)
# home.yahonda.$_dot_rbenv.versions.jruby_minus_9_dot_2_dot_1_dot_0_minus_dev.lib.ruby.gems.shared.gems.rspec_minus_core_minus_3_dot_8_dot_0.lib.rspec.core.hooks_dot_rb.invokeOther1:instance_exec(home/yahonda/$_dot_rbenv/versions/jruby_minus_9_dot_2_dot_1_dot_0_minus_dev/lib/ruby/gems/shared/gems/rspec_minus_core_minus_3_dot_8_dot_0/lib/rspec/core//home/yahonda/.rbenv/versions/jruby-9.2.1.0-dev/lib/ruby/gems/shared/gems/rspec-core-3.8.0/lib/rspec/core/hooks.rb:364)
# home.yahonda.$_dot_rbenv.versions.jruby_minus_9_dot_2_dot_1_dot_0_minus_dev.lib.ruby.gems.shared.gems.rspec_minus_core_minus_3_dot_8_dot_0.lib.rspec.core.hooks_dot_rb.run(/home/yahonda/.rbenv/versions/jruby-9.2.1.0-dev/lib/ruby/gems/shared/gems/rspec-core-3.8.0/lib/rspec/core/hooks.rb:364)
# home.yahonda.$_dot_rbenv.versions.jruby_minus_9_dot_2_dot_1_dot_0_minus_dev.lib.ruby.gems.shared.gems.rspec_minus_core_minus_3_dot_8_dot_0.lib.rspec.core.hooks_dot_rb.invokeOther0:run(home/yahonda/$_dot_rbenv/versions/jruby_minus_9_dot_2_dot_1_dot_0_minus_dev/lib/ruby/gems/shared/gems/rspec_minus_core_minus_3_dot_8_dot_0/lib/rspec/core//home/yahonda/.rbenv/versions/jruby-9.2.1.0-dev/lib/ruby/gems/shared/gems/rspec-core-3.8.0/lib/rspec/core/hooks.rb:507)
# home.yahonda.$_dot_rbenv.versions.jruby_minus_9_dot_2_dot_1_dot_0_minus_dev.lib.ruby.gems.shared.gems.rspec_minus_core_minus_3_dot_8_dot_0.lib.rspec.core.hooks_dot_rb.run_owned_hooks_for(/home/yahonda/.rbenv/versions/jruby-9.2.1.0-dev/lib/ruby/gems/shared/gems/rspec-core-3.8.0/lib/rspec/core/hooks.rb:507)
# org.jruby.RubyArray.each(org/jruby/RubyArray.java:1789)
# org.jruby.RubyArray$INVOKER$i$0$0$each.call(org/jruby/RubyArray$INVOKER$i$0$0$each.gen)
# home.yahonda.$_dot_rbenv.versions.jruby_minus_9_dot_2_dot_1_dot_0_minus_dev.lib.ruby.gems.shared.gems.rspec_minus_core_minus_3_dot_8_dot_0.lib.rspec.core.hooks_dot_rb.invokeOther3:each(home/yahonda/$_dot_rbenv/versions/jruby_minus_9_dot_2_dot_1_dot_0_minus_dev/lib/ruby/gems/shared/gems/rspec_minus_core_minus_3_dot_8_dot_0/lib/rspec/core//home/yahonda/.rbenv/versions/jruby-9.2.1.0-dev/lib/ruby/gems/shared/gems/rspec-core-3.8.0/lib/rspec/core/hooks.rb:506)
# home.yahonda.$_dot_rbenv.versions.jruby_minus_9_dot_2_dot_1_dot_0_minus_dev.lib.ruby.gems.shared.gems.rspec_minus_core_minus_3_dot_8_dot_0.lib.rspec.core.hooks_dot_rb.run_owned_hooks_for(/home/yahonda/.rbenv/versions/jruby-9.2.1.0-dev/lib/ruby/gems/shared/gems/rspec-core-3.8.0/lib/rspec/core/hooks.rb:506)
# home.yahonda.$_dot_rbenv.versions.jruby_minus_9_dot_2_dot_1_dot_0_minus_dev.lib.ruby.gems.shared.gems.rspec_minus_core_minus_3_dot_8_dot_0.lib.rspec.core.hooks_dot_rb.invokeOther10:run_owned_hooks_for(home/yahonda/$_dot_rbenv/versions/jruby_minus_9_dot_2_dot_1_dot_0_minus_dev/lib/ruby/gems/shared/gems/rspec_minus_core_minus_3_dot_8_dot_0/lib/rspec/core//home/yahonda/.rbenv/versions/jruby-9.2.1.0-dev/lib/ruby/gems/shared/gems/rspec-core-3.8.0/lib/rspec/core/hooks.rb:458)
# home.yahonda.$_dot_rbenv.versions.jruby_minus_9_dot_2_dot_1_dot_0_minus_dev.lib.ruby.gems.shared.gems.rspec_minus_core_minus_3_dot_8_dot_0.lib.rspec.core.hooks_dot_rb.run(/home/yahonda/.rbenv/versions/jruby-9.2.1.0-dev/lib/ruby/gems/shared/gems/rspec-core-3.8.0/lib/rspec/core/hooks.rb:458)
# home.yahonda.$_dot_rbenv.versions.jruby_minus_9_dot_2_dot_1_dot_0_minus_dev.lib.ruby.gems.shared.gems.rspec_minus_core_minus_3_dot_8_dot_0.lib.rspec.core.example_group_dot_rb.invokeOther5:run(home/yahonda/$_dot_rbenv/versions/jruby_minus_9_dot_2_dot_1_dot_0_minus_dev/lib/ruby/gems/shared/gems/rspec_minus_core_minus_3_dot_8_dot_0/lib/rspec/core//home/yahonda/.rbenv/versions/jruby-9.2.1.0-dev/lib/ruby/gems/shared/gems/rspec-core-3.8.0/lib/rspec/core/example_group.rb:576)
# home.yahonda.$_dot_rbenv.versions.jruby_minus_9_dot_2_dot_1_dot_0_minus_dev.lib.ruby.gems.shared.gems.rspec_minus_core_minus_3_dot_8_dot_0.lib.rspec.core.example_group_dot_rb.run_after_context_hooks(/home/yahonda/.rbenv/versions/jruby-9.2.1.0-dev/lib/ruby/gems/shared/gems/rspec-core-3.8.0/lib/rspec/core/example_group.rb:576)
# home.yahonda.$_dot_rbenv.versions.jruby_minus_9_dot_2_dot_1_dot_0_minus_dev.lib.ruby.gems.shared.gems.rspec_minus_core_minus_3_dot_8_dot_0.lib.rspec.core.memoized_helpers_dot_rb.isolate_for_context_hook(/home/yahonda/.rbenv/versions/jruby-9.2.1.0-dev/lib/ruby/gems/shared/gems/rspec-core-3.8.0/lib/rspec/core/memoized_helpers.rb:186)
# org.jruby.RubyBasicObject.yieldUnder(org/jruby/RubyBasicObject.java:1781)
# org.jruby.RubyBasicObject.instance_exec(org/jruby/RubyBasicObject.java:2680)
# org.jruby.RubyBasicObject$INVOKER$i$0$3$instance_exec.call(org/jruby/RubyBasicObject$INVOKER$i$0$3$instance_exec.gen)
# home.yahonda.$_dot_rbenv.versions.jruby_minus_9_dot_2_dot_1_dot_0_minus_dev.lib.ruby.gems.shared.gems.rspec_minus_core_minus_3_dot_8_dot_0.lib.rspec.core.memoized_helpers_dot_rb.invokeOther4:instance_exec(home/yahonda/$_dot_rbenv/versions/jruby_minus_9_dot_2_dot_1_dot_0_minus_dev/lib/ruby/gems/shared/gems/rspec_minus_core_minus_3_dot_8_dot_0/lib/rspec/core//home/yahonda/.rbenv/versions/jruby-9.2.1.0-dev/lib/ruby/gems/shared/gems/rspec-core-3.8.0/lib/rspec/core/memoized_helpers.rb:182)
# home.yahonda.$_dot_rbenv.versions.jruby_minus_9_dot_2_dot_1_dot_0_minus_dev.lib.ruby.gems.shared.gems.rspec_minus_core_minus_3_dot_8_dot_0.lib.rspec.core.memoized_helpers_dot_rb.isolate_for_context_hook(/home/yahonda/.rbenv/versions/jruby-9.2.1.0-dev/lib/ruby/gems/shared/gems/rspec-core-3.8.0/lib/rspec/core/memoized_helpers.rb:182)
# home.yahonda.$_dot_rbenv.versions.jruby_minus_9_dot_2_dot_1_dot_0_minus_dev.lib.ruby.gems.shared.gems.rspec_minus_core_minus_3_dot_8_dot_0.lib.rspec.core.example_group_dot_rb.invokeOther10:isolate_for_context_hook(home/yahonda/$_dot_rbenv/versions/jruby_minus_9_dot_2_dot_1_dot_0_minus_dev/lib/ruby/gems/shared/gems/rspec_minus_core_minus_3_dot_8_dot_0/lib/rspec/core//home/yahonda/.rbenv/versions/jruby-9.2.1.0-dev/lib/ruby/gems/shared/gems/rspec-core-3.8.0/lib/rspec/core/example_group.rb:575)
# home.yahonda.$_dot_rbenv.versions.jruby_minus_9_dot_2_dot_1_dot_0_minus_dev.lib.ruby.gems.shared.gems.rspec_minus_core_minus_3_dot_8_dot_0.lib.rspec.core.example_group_dot_rb.run_after_context_hooks(/home/yahonda/.rbenv/versions/jruby-9.2.1.0-dev/lib/ruby/gems/shared/gems/rspec-core-3.8.0/lib/rspec/core/example_group.rb:575)
# home.yahonda.$_dot_rbenv.versions.jruby_minus_9_dot_2_dot_1_dot_0_minus_dev.lib.ruby.gems.shared.gems.rspec_minus_core_minus_3_dot_8_dot_0.lib.rspec.core.example_group_dot_rb.invokeOther21:run_after_context_hooks(home/yahonda/$_dot_rbenv/versions/jruby_minus_9_dot_2_dot_1_dot_0_minus_dev/lib/ruby/gems/shared/gems/rspec_minus_core_minus_3_dot_8_dot_0/lib/rspec/core//home/yahonda/.rbenv/versions/jruby-9.2.1.0-dev/lib/ruby/gems/shared/gems/rspec-core-3.8.0/lib/rspec/core/example_group.rb:602)
# home.yahonda.$_dot_rbenv.versions.jruby_minus_9_dot_2_dot_1_dot_0_minus_dev.lib.ruby.gems.shared.gems.rspec_minus_core_minus_3_dot_8_dot_0.lib.rspec.core.example_group_dot_rb.run(/home/yahonda/.rbenv/versions/jruby-9.2.1.0-dev/lib/ruby/gems/shared/gems/rspec-core-3.8.0/lib/rspec/core/example_group.rb:602)
# home.yahonda.$_dot_rbenv.versions.jruby_minus_9_dot_2_dot_1_dot_0_minus_dev.lib.ruby.gems.shared.gems.rspec_minus_core_minus_3_dot_8_dot_0.lib.rspec.core.example_group_dot_rb.invokeOther0:run(home/yahonda/$_dot_rbenv/versions/jruby_minus_9_dot_2_dot_1_dot_0_minus_dev/lib/ruby/gems/shared/gems/rspec_minus_core_minus_3_dot_8_dot_0/lib/rspec/core//home/yahonda/.rbenv/versions/jruby-9.2.1.0-dev/lib/ruby/gems/shared/gems/rspec-core-3.8.0/lib/rspec/core/example_group.rb:592)
# home.yahonda.$_dot_rbenv.versions.jruby_minus_9_dot_2_dot_1_dot_0_minus_dev.lib.ruby.gems.shared.gems.rspec_minus_core_minus_3_dot_8_dot_0.lib.rspec.core.example_group_dot_rb.run(/home/yahonda/.rbenv/versions/jruby-9.2.1.0-dev/lib/ruby/gems/shared/gems/rspec-core-3.8.0/lib/rspec/core/example_group.rb:592)
# org.jruby.RubyArray.collect(org/jruby/RubyArray.java:2550)
# org.jruby.RubyArray.map(org/jruby/RubyArray.java:2564)
# org.jruby.RubyArray$INVOKER$i$0$0$map19.call(org/jruby/RubyArray$INVOKER$i$0$0$map19.gen)
# home.yahonda.$_dot_rbenv.versions.jruby_minus_9_dot_2_dot_1_dot_0_minus_dev.lib.ruby.gems.shared.gems.rspec_minus_core_minus_3_dot_8_dot_0.lib.rspec.core.example_group_dot_rb.invokeOther33:map(home/yahonda/$_dot_rbenv/versions/jruby_minus_9_dot_2_dot_1_dot_0_minus_dev/lib/ruby/gems/shared/gems/rspec_minus_core_minus_3_dot_8_dot_0/lib/rspec/core//home/yahonda/.rbenv/versions/jruby-9.2.1.0-dev/lib/ruby/gems/shared/gems/rspec-core-3.8.0/lib/rspec/core/example_group.rb:592)
# home.yahonda.$_dot_rbenv.versions.jruby_minus_9_dot_2_dot_1_dot_0_minus_dev.lib.ruby.gems.shared.gems.rspec_minus_core_minus_3_dot_8_dot_0.lib.rspec.core.example_group_dot_rb.run(/home/yahonda/.rbenv/versions/jruby-9.2.1.0-dev/lib/ruby/gems/shared/gems/rspec-core-3.8.0/lib/rspec/core/example_group.rb:592)
# home.yahonda.$_dot_rbenv.versions.jruby_minus_9_dot_2_dot_1_dot_0_minus_dev.lib.ruby.gems.shared.gems.rspec_minus_core_minus_3_dot_8_dot_0.lib.rspec.core.runner_dot_rb.invokeOther0:run(home/yahonda/$_dot_rbenv/versions/jruby_minus_9_dot_2_dot_1_dot_0_minus_dev/lib/ruby/gems/shared/gems/rspec_minus_core_minus_3_dot_8_dot_0/lib/rspec/core//home/yahonda/.rbenv/versions/jruby-9.2.1.0-dev/lib/ruby/gems/shared/gems/rspec-core-3.8.0/lib/rspec/core/runner.rb:116)
# home.yahonda.$_dot_rbenv.versions.jruby_minus_9_dot_2_dot_1_dot_0_minus_dev.lib.ruby.gems.shared.gems.rspec_minus_core_minus_3_dot_8_dot_0.lib.rspec.core.runner_dot_rb.run_specs(/home/yahonda/.rbenv/versions/jruby-9.2.1.0-dev/lib/ruby/gems/shared/gems/rspec-core-3.8.0/lib/rspec/core/runner.rb:116)
# org.jruby.RubyArray.collect(org/jruby/RubyArray.java:2550)
# org.jruby.RubyArray.map(org/jruby/RubyArray.java:2564)
# org.jruby.RubyArray$INVOKER$i$0$0$map19.call(org/jruby/RubyArray$INVOKER$i$0$0$map19.gen)
# home.yahonda.$_dot_rbenv.versions.jruby_minus_9_dot_2_dot_1_dot_0_minus_dev.lib.ruby.gems.shared.gems.rspec_minus_core_minus_3_dot_8_dot_0.lib.rspec.core.runner_dot_rb.invokeOther7:map(home/yahonda/$_dot_rbenv/versions/jruby_minus_9_dot_2_dot_1_dot_0_minus_dev/lib/ruby/gems/shared/gems/rspec_minus_core_minus_3_dot_8_dot_0/lib/rspec/core//home/yahonda/.rbenv/versions/jruby-9.2.1.0-dev/lib/ruby/gems/shared/gems/rspec-core-3.8.0/lib/rspec/core/runner.rb:116)
# home.yahonda.$_dot_rbenv.versions.jruby_minus_9_dot_2_dot_1_dot_0_minus_dev.lib.ruby.gems.shared.gems.rspec_minus_core_minus_3_dot_8_dot_0.lib.rspec.core.runner_dot_rb.run_specs(/home/yahonda/.rbenv/versions/jruby-9.2.1.0-dev/lib/ruby/gems/shared/gems/rspec-core-3.8.0/lib/rspec/core/runner.rb:116)
# home.yahonda.$_dot_rbenv.versions.jruby_minus_9_dot_2_dot_1_dot_0_minus_dev.lib.ruby.gems.shared.gems.rspec_minus_core_minus_3_dot_8_dot_0.lib.rspec.core.configuration_dot_rb.with_suite_hooks(/home/yahonda/.rbenv/versions/jruby-9.2.1.0-dev/lib/ruby/gems/shared/gems/rspec-core-3.8.0/lib/rspec/core/configuration.rb:1989)
# home.yahonda.$_dot_rbenv.versions.jruby_minus_9_dot_2_dot_1_dot_0_minus_dev.lib.ruby.gems.shared.gems.rspec_minus_core_minus_3_dot_8_dot_0.lib.rspec.core.runner_dot_rb.invokeOther11:with_suite_hooks(home/yahonda/$_dot_rbenv/versions/jruby_minus_9_dot_2_dot_1_dot_0_minus_dev/lib/ruby/gems/shared/gems/rspec_minus_core_minus_3_dot_8_dot_0/lib/rspec/core//home/yahonda/.rbenv/versions/jruby-9.2.1.0-dev/lib/ruby/gems/shared/gems/rspec-core-3.8.0/lib/rspec/core/runner.rb:111)
# home.yahonda.$_dot_rbenv.versions.jruby_minus_9_dot_2_dot_1_dot_0_minus_dev.lib.ruby.gems.shared.gems.rspec_minus_core_minus_3_dot_8_dot_0.lib.rspec.core.runner_dot_rb.run_specs(/home/yahonda/.rbenv/versions/jruby-9.2.1.0-dev/lib/ruby/gems/shared/gems/rspec-core-3.8.0/lib/rspec/core/runner.rb:111)
# home.yahonda.$_dot_rbenv.versions.jruby_minus_9_dot_2_dot_1_dot_0_minus_dev.lib.ruby.gems.shared.gems.rspec_minus_core_minus_3_dot_8_dot_0.lib.rspec.core.reporter_dot_rb.report(/home/yahonda/.rbenv/versions/jruby-9.2.1.0-dev/lib/ruby/gems/shared/gems/rspec-core-3.8.0/lib/rspec/core/reporter.rb:74)
# home.yahonda.$_dot_rbenv.versions.jruby_minus_9_dot_2_dot_1_dot_0_minus_dev.lib.ruby.gems.shared.gems.rspec_minus_core_minus_3_dot_8_dot_0.lib.rspec.core.runner_dot_rb.invokeOther17:report(home/yahonda/$_dot_rbenv/versions/jruby_minus_9_dot_2_dot_1_dot_0_minus_dev/lib/ruby/gems/shared/gems/rspec_minus_core_minus_3_dot_8_dot_0/lib/rspec/core//home/yahonda/.rbenv/versions/jruby-9.2.1.0-dev/lib/ruby/gems/shared/gems/rspec-core-3.8.0/lib/rspec/core/runner.rb:110)
# home.yahonda.$_dot_rbenv.versions.jruby_minus_9_dot_2_dot_1_dot_0_minus_dev.lib.ruby.gems.shared.gems.rspec_minus_core_minus_3_dot_8_dot_0.lib.rspec.core.runner_dot_rb.run_specs(/home/yahonda/.rbenv/versions/jruby-9.2.1.0-dev/lib/ruby/gems/shared/gems/rspec-core-3.8.0/lib/rspec/core/runner.rb:110)
# home.yahonda.$_dot_rbenv.versions.jruby_minus_9_dot_2_dot_1_dot_0_minus_dev.lib.ruby.gems.shared.gems.rspec_minus_core_minus_3_dot_8_dot_0.lib.rspec.core.runner_dot_rb.invokeOther4:run_specs(home/yahonda/$_dot_rbenv/versions/jruby_minus_9_dot_2_dot_1_dot_0_minus_dev/lib/ruby/gems/shared/gems/rspec_minus_core_minus_3_dot_8_dot_0/lib/rspec/core//home/yahonda/.rbenv/versions/jruby-9.2.1.0-dev/lib/ruby/gems/shared/gems/rspec-core-3.8.0/lib/rspec/core/runner.rb:87)
# home.yahonda.$_dot_rbenv.versions.jruby_minus_9_dot_2_dot_1_dot_0_minus_dev.lib.ruby.gems.shared.gems.rspec_minus_core_minus_3_dot_8_dot_0.lib.rspec.core.runner_dot_rb.run(/home/yahonda/.rbenv/versions/jruby-9.2.1.0-dev/lib/ruby/gems/shared/gems/rspec-core-3.8.0/lib/rspec/core/runner.rb:87)
# home.yahonda.$_dot_rbenv.versions.jruby_minus_9_dot_2_dot_1_dot_0_minus_dev.lib.ruby.gems.shared.gems.rspec_minus_core_minus_3_dot_8_dot_0.lib.rspec.core.runner_dot_rb.invokeOther10:run(home/yahonda/$_dot_rbenv/versions/jruby_minus_9_dot_2_dot_1_dot_0_minus_dev/lib/ruby/gems/shared/gems/rspec_minus_core_minus_3_dot_8_dot_0/lib/rspec/core//home/yahonda/.rbenv/versions/jruby-9.2.1.0-dev/lib/ruby/gems/shared/gems/rspec-core-3.8.0/lib/rspec/core/runner.rb:71)
# home.yahonda.$_dot_rbenv.versions.jruby_minus_9_dot_2_dot_1_dot_0_minus_dev.lib.ruby.gems.shared.gems.rspec_minus_core_minus_3_dot_8_dot_0.lib.rspec.core.runner_dot_rb.run(/home/yahonda/.rbenv/versions/jruby-9.2.1.0-dev/lib/ruby/gems/shared/gems/rspec-core-3.8.0/lib/rspec/core/runner.rb:71)
# home.yahonda.$_dot_rbenv.versions.jruby_minus_9_dot_2_dot_1_dot_0_minus_dev.lib.ruby.gems.shared.gems.rspec_minus_core_minus_3_dot_8_dot_0.lib.rspec.core.runner_dot_rb.invokeOther1:run(home/yahonda/$_dot_rbenv/versions/jruby_minus_9_dot_2_dot_1_dot_0_minus_dev/lib/ruby/gems/shared/gems/rspec_minus_core_minus_3_dot_8_dot_0/lib/rspec/core//home/yahonda/.rbenv/versions/jruby-9.2.1.0-dev/lib/ruby/gems/shared/gems/rspec-core-3.8.0/lib/rspec/core/runner.rb:45)
# home.yahonda.$_dot_rbenv.versions.jruby_minus_9_dot_2_dot_1_dot_0_minus_dev.lib.ruby.gems.shared.gems.rspec_minus_core_minus_3_dot_8_dot_0.lib.rspec.core.runner_dot_rb.invoke(/home/yahonda/.rbenv/versions/jruby-9.2.1.0-dev/lib/ruby/gems/shared/gems/rspec-core-3.8.0/lib/rspec/core/runner.rb:45)
# RUBY.<main>(/home/yahonda/.rbenv/versions/jruby-9.2.1.0-dev/lib/ruby/gems/shared/gems/rspec-core-3.8.0/exe/rspec:4)
# org.jruby.Ruby.runInterpreter(org/jruby/Ruby.java:864)
# org.jruby.Ruby.loadFile(org/jruby/Ruby.java:2955)
# org.jruby.RubyKernel.loadCommon(org/jruby/RubyKernel.java:1030)
# org.jruby.RubyKernel.load(org/jruby/RubyKernel.java:1000)
# org.jruby.RubyKernel$INVOKER$s$load.call(org/jruby/RubyKernel$INVOKER$s$load.gen)
# RUBY.<main>(/home/yahonda/.rbenv/versions/jruby-9.2.1.0-dev/bin/rspec:1)
# org.jruby.Ruby.runInterpreter(org/jruby/Ruby.java:864)
# org.jruby.Ruby.loadFile(org/jruby/Ruby.java:2955)
# org.jruby.RubyKernel.loadCommon(org/jruby/RubyKernel.java:1030)
# org.jruby.RubyKernel.load(org/jruby/RubyKernel.java:1000)
# org.jruby.RubyKernel$INVOKER$s$load.call(org/jruby/RubyKernel$INVOKER$s$load.gen)
# home.yahonda.$_dot_rbenv.versions.jruby_minus_9_dot_2_dot_1_dot_0_minus_dev.lib.ruby.gems.shared.gems.bundler_minus_1_dot_17_dot_1.lib.bundler.cli.exec_dot_rb.invokeOther38:load(home/yahonda/$_dot_rbenv/versions/jruby_minus_9_dot_2_dot_1_dot_0_minus_dev/lib/ruby/gems/shared/gems/bundler_minus_1_dot_17_dot_1/lib/bundler/cli//home/yahonda/.rbenv/versions/jruby-9.2.1.0-dev/lib/ruby/gems/shared/gems/bundler-1.17.1/lib/bundler/cli/exec.rb:74)
# home.yahonda.$_dot_rbenv.versions.jruby_minus_9_dot_2_dot_1_dot_0_minus_dev.lib.ruby.gems.shared.gems.bundler_minus_1_dot_17_dot_1.lib.bundler.cli.exec_dot_rb.kernel_load(/home/yahonda/.rbenv/versions/jruby-9.2.1.0-dev/lib/ruby/gems/shared/gems/bundler-1.17.1/lib/bundler/cli/exec.rb:74)
# home.yahonda.$_dot_rbenv.versions.jruby_minus_9_dot_2_dot_1_dot_0_minus_dev.lib.ruby.gems.shared.gems.bundler_minus_1_dot_17_dot_1.lib.bundler.cli.exec_dot_rb.invokeOther11:kernel_load(home/yahonda/$_dot_rbenv/versions/jruby_minus_9_dot_2_dot_1_dot_0_minus_dev/lib/ruby/gems/shared/gems/bundler_minus_1_dot_17_dot_1/lib/bundler/cli//home/yahonda/.rbenv/versions/jruby-9.2.1.0-dev/lib/ruby/gems/shared/gems/bundler-1.17.1/lib/bundler/cli/exec.rb:28)
# home.yahonda.$_dot_rbenv.versions.jruby_minus_9_dot_2_dot_1_dot_0_minus_dev.lib.ruby.gems.shared.gems.bundler_minus_1_dot_17_dot_1.lib.bundler.cli.exec_dot_rb.run(/home/yahonda/.rbenv/versions/jruby-9.2.1.0-dev/lib/ruby/gems/shared/gems/bundler-1.17.1/lib/bundler/cli/exec.rb:28)
# home.yahonda.$_dot_rbenv.versions.jruby_minus_9_dot_2_dot_1_dot_0_minus_dev.lib.ruby.gems.shared.gems.bundler_minus_1_dot_17_dot_1.lib.bundler.cli_dot_rb.invokeOther4:run(home/yahonda/$_dot_rbenv/versions/jruby_minus_9_dot_2_dot_1_dot_0_minus_dev/lib/ruby/gems/shared/gems/bundler_minus_1_dot_17_dot_1/lib/bundler//home/yahonda/.rbenv/versions/jruby-9.2.1.0-dev/lib/ruby/gems/shared/gems/bundler-1.17.1/lib/bundler/cli.rb:463)
# home.yahonda.$_dot_rbenv.versions.jruby_minus_9_dot_2_dot_1_dot_0_minus_dev.lib.ruby.gems.shared.gems.bundler_minus_1_dot_17_dot_1.lib.bundler.cli_dot_rb.exec(/home/yahonda/.rbenv/versions/jruby-9.2.1.0-dev/lib/ruby/gems/shared/gems/bundler-1.17.1/lib/bundler/cli.rb:463)
# org.jruby.RubyClass.finvoke(org/jruby/RubyClass.java:523)
# org.jruby.RubyBasicObject.send(org/jruby/RubyBasicObject.java:1755)
# org.jruby.RubyBasicObject$INVOKER$i$send.call(org/jruby/RubyBasicObject$INVOKER$i$send.gen)
# home.yahonda.$_dot_rbenv.versions.jruby_minus_9_dot_2_dot_1_dot_0_minus_dev.lib.ruby.gems.shared.gems.bundler_minus_1_dot_17_dot_1.lib.bundler.vendor.thor.lib.thor.command_dot_rb.invokeOther20:__send__(home/yahonda/$_dot_rbenv/versions/jruby_minus_9_dot_2_dot_1_dot_0_minus_dev/lib/ruby/gems/shared/gems/bundler_minus_1_dot_17_dot_1/lib/bundler/vendor/thor/lib/thor//home/yahonda/.rbenv/versions/jruby-9.2.1.0-dev/lib/ruby/gems/shared/gems/bundler-1.17.1/lib/bundler/vendor/thor/lib/thor/command.rb:27)
# home.yahonda.$_dot_rbenv.versions.jruby_minus_9_dot_2_dot_1_dot_0_minus_dev.lib.ruby.gems.shared.gems.bundler_minus_1_dot_17_dot_1.lib.bundler.vendor.thor.lib.thor.command_dot_rb.run(/home/yahonda/.rbenv/versions/jruby-9.2.1.0-dev/lib/ruby/gems/shared/gems/bundler-1.17.1/lib/bundler/vendor/thor/lib/thor/command.rb:27)
# home.yahonda.$_dot_rbenv.versions.jruby_minus_9_dot_2_dot_1_dot_0_minus_dev.lib.ruby.gems.shared.gems.bundler_minus_1_dot_17_dot_1.lib.bundler.vendor.thor.lib.thor.invocation_dot_rb.invokeOther7:run(home/yahonda/$_dot_rbenv/versions/jruby_minus_9_dot_2_dot_1_dot_0_minus_dev/lib/ruby/gems/shared/gems/bundler_minus_1_dot_17_dot_1/lib/bundler/vendor/thor/lib/thor//home/yahonda/.rbenv/versions/jruby-9.2.1.0-dev/lib/ruby/gems/shared/gems/bundler-1.17.1/lib/bundler/vendor/thor/lib/thor/invocation.rb:126)
# home.yahonda.$_dot_rbenv.versions.jruby_minus_9_dot_2_dot_1_dot_0_minus_dev.lib.ruby.gems.shared.gems.bundler_minus_1_dot_17_dot_1.lib.bundler.vendor.thor.lib.thor.invocation_dot_rb.invoke_command(/home/yahonda/.rbenv/versions/jruby-9.2.1.0-dev/lib/ruby/gems/shared/gems/bundler-1.17.1/lib/bundler/vendor/thor/lib/thor/invocation.rb:126)
# home.yahonda.$_dot_rbenv.versions.jruby_minus_9_dot_2_dot_1_dot_0_minus_dev.lib.ruby.gems.shared.gems.bundler_minus_1_dot_17_dot_1.lib.bundler.vendor.thor.lib.thor_dot_rb.invokeOther36:invoke_command(home/yahonda/$_dot_rbenv/versions/jruby_minus_9_dot_2_dot_1_dot_0_minus_dev/lib/ruby/gems/shared/gems/bundler_minus_1_dot_17_dot_1/lib/bundler/vendor/thor/lib//home/yahonda/.rbenv/versions/jruby-9.2.1.0-dev/lib/ruby/gems/shared/gems/bundler-1.17.1/lib/bundler/vendor/thor/lib/thor.rb:387)
# home.yahonda.$_dot_rbenv.versions.jruby_minus_9_dot_2_dot_1_dot_0_minus_dev.lib.ruby.gems.shared.gems.bundler_minus_1_dot_17_dot_1.lib.bundler.vendor.thor.lib.thor_dot_rb.dispatch(/home/yahonda/.rbenv/versions/jruby-9.2.1.0-dev/lib/ruby/gems/shared/gems/bundler-1.17.1/lib/bundler/vendor/thor/lib/thor.rb:387)
# home.yahonda.$_dot_rbenv.versions.jruby_minus_9_dot_2_dot_1_dot_0_minus_dev.lib.ruby.gems.shared.gems.bundler_minus_1_dot_17_dot_1.lib.bundler.vendor.thor.lib.thor_dot_rb.RUBY$method$dispatch$0$__VARARGS__(home/yahonda/$_dot_rbenv/versions/jruby_minus_9_dot_2_dot_1_dot_0_minus_dev/lib/ruby/gems/shared/gems/bundler_minus_1_dot_17_dot_1/lib/bundler/vendor/thor/lib//home/yahonda/.rbenv/versions/jruby-9.2.1.0-dev/lib/ruby/gems/shared/gems/bundler-1.17.1/lib/bundler/vendor/thor/lib/thor.rb)
# home.yahonda.$_dot_rbenv.versions.jruby_minus_9_dot_2_dot_1_dot_0_minus_dev.lib.ruby.gems.shared.gems.bundler_minus_1_dot_17_dot_1.lib.bundler.cli_dot_rb.invokeSuper7:dispatch(home/yahonda/$_dot_rbenv/versions/jruby_minus_9_dot_2_dot_1_dot_0_minus_dev/lib/ruby/gems/shared/gems/bundler_minus_1_dot_17_dot_1/lib/bundler//home/yahonda/.rbenv/versions/jruby-9.2.1.0-dev/lib/ruby/gems/shared/gems/bundler-1.17.1/lib/bundler/cli.rb:27)
# home.yahonda.$_dot_rbenv.versions.jruby_minus_9_dot_2_dot_1_dot_0_minus_dev.lib.ruby.gems.shared.gems.bundler_minus_1_dot_17_dot_1.lib.bundler.cli_dot_rb.dispatch(/home/yahonda/.rbenv/versions/jruby-9.2.1.0-dev/lib/ruby/gems/shared/gems/bundler-1.17.1/lib/bundler/cli.rb:27)
# home.yahonda.$_dot_rbenv.versions.jruby_minus_9_dot_2_dot_1_dot_0_minus_dev.lib.ruby.gems.shared.gems.bundler_minus_1_dot_17_dot_1.lib.bundler.vendor.thor.lib.thor.base_dot_rb.invokeOther7:dispatch(home/yahonda/$_dot_rbenv/versions/jruby_minus_9_dot_2_dot_1_dot_0_minus_dev/lib/ruby/gems/shared/gems/bundler_minus_1_dot_17_dot_1/lib/bundler/vendor/thor/lib/thor//home/yahonda/.rbenv/versions/jruby-9.2.1.0-dev/lib/ruby/gems/shared/gems/bundler-1.17.1/lib/bundler/vendor/thor/lib/thor/base.rb:466)
# home.yahonda.$_dot_rbenv.versions.jruby_minus_9_dot_2_dot_1_dot_0_minus_dev.lib.ruby.gems.shared.gems.bundler_minus_1_dot_17_dot_1.lib.bundler.vendor.thor.lib.thor.base_dot_rb.start(/home/yahonda/.rbenv/versions/jruby-9.2.1.0-dev/lib/ruby/gems/shared/gems/bundler-1.17.1/lib/bundler/vendor/thor/lib/thor/base.rb:466)
# home.yahonda.$_dot_rbenv.versions.jruby_minus_9_dot_2_dot_1_dot_0_minus_dev.lib.ruby.gems.shared.gems.bundler_minus_1_dot_17_dot_1.lib.bundler.cli_dot_rb.invokeSuper0:start(home/yahonda/$_dot_rbenv/versions/jruby_minus_9_dot_2_dot_1_dot_0_minus_dev/lib/ruby/gems/shared/gems/bundler_minus_1_dot_17_dot_1/lib/bundler//home/yahonda/.rbenv/versions/jruby-9.2.1.0-dev/lib/ruby/gems/shared/gems/bundler-1.17.1/lib/bundler/cli.rb:18)
# home.yahonda.$_dot_rbenv.versions.jruby_minus_9_dot_2_dot_1_dot_0_minus_dev.lib.ruby.gems.shared.gems.bundler_minus_1_dot_17_dot_1.lib.bundler.cli_dot_rb.start(/home/yahonda/.rbenv/versions/jruby-9.2.1.0-dev/lib/ruby/gems/shared/gems/bundler-1.17.1/lib/bundler/cli.rb:18)
# RUBY.<main>(/home/yahonda/.rbenv/versions/jruby-9.2.1.0-dev/bin/rspec:23)
# home.yahonda.$_dot_rbenv.versions.jruby_minus_9_dot_2_dot_1_dot_0_minus_dev.lib.ruby.gems.shared.gems.bundler_minus_1_dot_17_dot_1.lib.bundler.friendly_errors_dot_rb.with_friendly_errors(/home/yahonda/.rbenv/versions/jruby-9.2.1.0-dev/lib/ruby/gems/shared/gems/bundler-1.17.1/lib/bundler/friendly_errors.rb:124)
# home.yahonda.$_dot_rbenv.versions.jruby_minus_9_dot_2_dot_1_dot_0_minus_dev.lib.ruby.gems.shared.gems.bundler_minus_1_dot_17_dot_1.lib.bundler.friendly_errors_dot_rb.RUBY$method$with_friendly_errors$0$__VARARGS__(home/yahonda/$_dot_rbenv/versions/jruby_minus_9_dot_2_dot_1_dot_0_minus_dev/lib/ruby/gems/shared/gems/bundler_minus_1_dot_17_dot_1/lib/bundler//home/yahonda/.rbenv/versions/jruby-9.2.1.0-dev/lib/ruby/gems/shared/gems/bundler-1.17.1/lib/bundler/friendly_errors.rb)
# RUBY.<main>(/home/yahonda/.rbenv/versions/jruby-9.2.1.0-dev/lib/ruby/gems/shared/gems/bundler-1.17.1/exe/bundle:1)
# org.jruby.Ruby.runInterpreter(org/jruby/Ruby.java:864)
# org.jruby.Ruby.loadFile(org/jruby/Ruby.java:2955)
# org.jruby.RubyKernel.loadCommon(org/jruby/RubyKernel.java:1030)
# org.jruby.RubyKernel.load(org/jruby/RubyKernel.java:1000)
# org.jruby.RubyKernel$INVOKER$s$load.call(org/jruby/RubyKernel$INVOKER$s$load.gen)
# home.yahonda.$_dot_rbenv.versions.jruby_minus_9_dot_2_dot_1_dot_0_minus_dev.bin.bundle.invokeOther22:load(home/yahonda/$_dot_rbenv/versions/jruby_minus_9_dot_2_dot_1_dot_0_minus_dev/bin//home/yahonda/.rbenv/versions/jruby-9.2.1.0-dev/bin/bundle:23)
# home.yahonda.$_dot_rbenv.versions.jruby_minus_9_dot_2_dot_1_dot_0_minus_dev.bin.bundle.<main>(/home/yahonda/.rbenv/versions/jruby-9.2.1.0-dev/bin/bundle:23)
# java.lang.invoke.MethodHandle.invokeWithArguments(java/lang/invoke/MethodHandle.java:627)
# org.jruby.Ruby.runScript(org/jruby/Ruby.java:852)
# org.jruby.Ruby.runNormally(org/jruby/Ruby.java:771)
# org.jruby.Ruby.runNormally(org/jruby/Ruby.java:789)
# org.jruby.Ruby.runFromMain(org/jruby/Ruby.java:601)
# org.jruby.Main.doRunFromMain(org/jruby/Main.java:415)
# org.jruby.Main.internalRun(org/jruby/Main.java:307)
# org.jruby.Main.run(org/jruby/Main.java:234)
# org.jruby.Main.main(org/jruby/Main.java:206)
# ------------------
# --- Caused by: ---
# Java::OracleJdbc::OracleDatabaseException:
#   ORA-00942: table or view does not exist
#   oracle.jdbc.driver.T4CTTIoer11.processError(T4CTTIoer11.java:498)


Failures:

  1) OracleEnhancedAdapter schema dump virtual columns should dump correctly
     Failure/Error: Unable to find oracle.jdbc.driver.T4CTTIoer11.processError(oracle/jdbc/driver/T4CTTIoer11.java to read failed line

     ActiveRecord::ValueTooLong:
       Java::JavaSql::SQLException: ORA-12899: value too large for column "FIELD_WITH_LEADING_SPACE" (actual: 1022, maximum: 1020)
       : CREATE TABLE "TEST_NAMES" ("ID" NUMBER(38) NOT NULL PRIMARY KEY, "FIRST_NAME" VARCHAR2(255), "LAST_NAME" VARCHAR2(255), "FULL_NAME"  AS (first_name || ', ' || last_name), "SHORT_NAME" VARCHAR2(255) AS (COALESCE(first_name, last_name)), "ABBREV_NAME" VARCHAR(100) AS (SUBSTR(first_name,1,50) || ' ' || SUBSTR(last_name,1,1) || '.'), "NAME_RATIO"  AS ((LENGTH(first_name)*10/LENGTH(last_name)*10)), "FULL_NAME_LENGTH" NUMBER(38) AS (length(first_name || ', ' || last_name)), "FIELD_WITH_LEADING_SPACE" VARCHAR2(255) AS (' ' || first_name || ' '))
     # oracle.jdbc.driver.T4CTTIoer11.processError(oracle/jdbc/driver/T4CTTIoer11.java:494)
     # oracle.jdbc.driver.T4CTTIoer11.processError(oracle/jdbc/driver/T4CTTIoer11.java:446)
     # oracle.jdbc.driver.T4C8Oall.processError(oracle/jdbc/driver/T4C8Oall.java:1052)
     # oracle.jdbc.driver.T4CTTIfun.receive(oracle/jdbc/driver/T4CTTIfun.java:537)
     # oracle.jdbc.driver.T4CTTIfun.doRPC(oracle/jdbc/driver/T4CTTIfun.java:255)
     # oracle.jdbc.driver.T4C8Oall.doOALL(oracle/jdbc/driver/T4C8Oall.java:610)
     # oracle.jdbc.driver.T4CStatement.doOall8(oracle/jdbc/driver/T4CStatement.java:213)
     # oracle.jdbc.driver.T4CStatement.doOall8(oracle/jdbc/driver/T4CStatement.java:37)
     # oracle.jdbc.driver.T4CStatement.executeForRows(oracle/jdbc/driver/T4CStatement.java:887)
     # oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(oracle/jdbc/driver/OracleStatement.java:1136)
     # oracle.jdbc.driver.OracleStatement.executeInternal(oracle/jdbc/driver/OracleStatement.java:1754)
     # oracle.jdbc.driver.OracleStatement.execute(oracle/jdbc/driver/OracleStatement.java:1709)
     # oracle.jdbc.driver.OracleStatementWrapper.execute(oracle/jdbc/driver/OracleStatementWrapper.java:300)
     # java.lang.reflect.Method.invoke(java/lang/reflect/Method.java:498)
     # org.jruby.javasupport.JavaMethod.invokeDirectWithExceptionHandling(org/jruby/javasupport/JavaMethod.java:455)
     # org.jruby.javasupport.JavaMethod.invokeDirect(org/jruby/javasupport/JavaMethod.java:316)
     # home.yahonda.git.oracle_minus_enhanced.lib.active_record.connection_adapters.oracle_enhanced.jdbc_connection.invokeOther14:execute(home/yahonda/git/oracle_minus_enhanced/lib/active_record/connection_adapters/oracle_enhanced//home/yahonda/git/oracle-enhanced/lib/active_record/connection_adapters/oracle_enhanced/jdbc_connection.rb:268)
     # home.yahonda.git.oracle_minus_enhanced.lib.active_record.connection_adapters.oracle_enhanced.jdbc_connection.exec_no_retry(/home/yahonda/git/oracle-enhanced/lib/active_record/connection_adapters/oracle_enhanced/jdbc_connection.rb:268)
     # home.yahonda.git.oracle_minus_enhanced.lib.active_record.connection_adapters.oracle_enhanced.jdbc_connection.invokeOther0:exec_no_retry(home/yahonda/git/oracle_minus_enhanced/lib/active_record/connection_adapters/oracle_enhanced//home/yahonda/git/oracle-enhanced/lib/active_record/connection_adapters/oracle_enhanced/jdbc_connection.rb:252)
     # home.yahonda.git.oracle_minus_enhanced.lib.active_record.connection_adapters.oracle_enhanced.jdbc_connection.exec(/home/yahonda/git/oracle-enhanced/lib/active_record/connection_adapters/oracle_enhanced/jdbc_connection.rb:252)
     # home.yahonda.git.oracle_minus_enhanced.lib.active_record.connection_adapters.oracle_enhanced.jdbc_connection.with_retry(/home/yahonda/git/oracle-enhanced/lib/active_record/connection_adapters/oracle_enhanced/jdbc_connection.rb:239)
     # home.yahonda.git.oracle_minus_enhanced.lib.active_record.connection_adapters.oracle_enhanced.jdbc_connection.invokeOther2:with_retry(home/yahonda/git/oracle_minus_enhanced/lib/active_record/connection_adapters/oracle_enhanced//home/yahonda/git/oracle-enhanced/lib/active_record/connection_adapters/oracle_enhanced/jdbc_connection.rb:251)
     # home.yahonda.git.oracle_minus_enhanced.lib.active_record.connection_adapters.oracle_enhanced.jdbc_connection.exec(/home/yahonda/git/oracle-enhanced/lib/active_record/connection_adapters/oracle_enhanced/jdbc_connection.rb:251)
     # home.yahonda.git.oracle_minus_enhanced.lib.active_record.connection_adapters.oracle_enhanced.database_statements.invokeOther1:exec(home/yahonda/git/oracle_minus_enhanced/lib/active_record/connection_adapters/oracle_enhanced//home/yahonda/git/oracle-enhanced/lib/active_record/connection_adapters/oracle_enhanced/database_statements.rb:13)
     # home.yahonda.git.oracle_minus_enhanced.lib.active_record.connection_adapters.oracle_enhanced.database_statements.execute(/home/yahonda/git/oracle-enhanced/lib/active_record/connection_adapters/oracle_enhanced/database_statements.rb:13)
     # home.yahonda.$_dot_rbenv.versions.jruby_minus_9_dot_2_dot_1_dot_0_minus_dev.lib.ruby.gems.shared.bundler.gems.rails_minus_ebf98df9fb70.activerecord.lib.active_record.connection_adapters.abstract_adapter_dot_rb.log(/home/yahonda/.rbenv/versions/jruby-9.2.1.0-dev/lib/ruby/gems/shared/bundler/gems/rails-ebf98df9fb70/activerecord/lib/active_record/connection_adapters/abstract_adapter.rb:601)
     # home.yahonda.$_dot_rbenv.versions.jruby_minus_9_dot_2_dot_1_dot_0_minus_dev.lib.ruby.stdlib.monitor_dot_rb.mon_synchronize(/home/yahonda/.rbenv/versions/jruby-9.2.1.0-dev/lib/ruby/stdlib/monitor.rb:226)
     # home.yahonda.$_dot_rbenv.versions.jruby_minus_9_dot_2_dot_1_dot_0_minus_dev.lib.ruby.gems.shared.bundler.gems.rails_minus_ebf98df9fb70.activerecord.lib.active_record.connection_adapters.abstract_adapter_dot_rb.invokeOther2:synchronize(home/yahonda/$_dot_rbenv/versions/jruby_minus_9_dot_2_dot_1_dot_0_minus_dev/lib/ruby/gems/shared/bundler/gems/rails_minus_ebf98df9fb70/activerecord/lib/active_record/connection_adapters//home/yahonda/.rbenv/versions/jruby-9.2.1.0-dev/lib/ruby/gems/shared/bundler/gems/rails-ebf98df9fb70/activerecord/lib/active_record/connection_adapters/abstract_adapter.rb:600)
     # home.yahonda.$_dot_rbenv.versions.jruby_minus_9_dot_2_dot_1_dot_0_minus_dev.lib.ruby.gems.shared.bundler.gems.rails_minus_ebf98df9fb70.activerecord.lib.active_record.connection_adapters.abstract_adapter_dot_rb.log(/home/yahonda/.rbenv/versions/jruby-9.2.1.0-dev/lib/ruby/gems/shared/bundler/gems/rails-ebf98df9fb70/activerecord/lib/active_record/connection_adapters/abstract_adapter.rb:600)
     # home.yahonda.$_dot_rbenv.versions.jruby_minus_9_dot_2_dot_1_dot_0_minus_dev.lib.ruby.gems.shared.bundler.gems.rails_minus_ebf98df9fb70.activesupport.lib.active_support.notifications.instrumenter_dot_rb.instrument(/home/yahonda/.rbenv/versions/jruby-9.2.1.0-dev/lib/ruby/gems/shared/bundler/gems/rails-ebf98df9fb70/activesupport/lib/active_support/notifications/instrumenter.rb:23)
     # home.yahonda.$_dot_rbenv.versions.jruby_minus_9_dot_2_dot_1_dot_0_minus_dev.lib.ruby.gems.shared.bundler.gems.rails_minus_ebf98df9fb70.activerecord.lib.active_record.connection_adapters.abstract_adapter_dot_rb.invokeOther22:instrument(home/yahonda/$_dot_rbenv/versions/jruby_minus_9_dot_2_dot_1_dot_0_minus_dev/lib/ruby/gems/shared/bundler/gems/rails_minus_ebf98df9fb70/activerecord/lib/active_record/connection_adapters//home/yahonda/.rbenv/versions/jruby-9.2.1.0-dev/lib/ruby/gems/shared/bundler/gems/rails-ebf98df9fb70/activerecord/lib/active_record/connection_adapters/abstract_adapter.rb:591)
     # home.yahonda.$_dot_rbenv.versions.jruby_minus_9_dot_2_dot_1_dot_0_minus_dev.lib.ruby.gems.shared.bundler.gems.rails_minus_ebf98df9fb70.activerecord.lib.active_record.connection_adapters.abstract_adapter_dot_rb.log(/home/yahonda/.rbenv/versions/jruby-9.2.1.0-dev/lib/ruby/gems/shared/bundler/gems/rails-ebf98df9fb70/activerecord/lib/active_record/connection_adapters/abstract_adapter.rb:591)
     # home.yahonda.git.oracle_minus_enhanced.lib.active_record.connection_adapters.oracle_enhanced.dbms_output.invokeSuper1:-unknown-super-target-(home/yahonda/git/oracle_minus_enhanced/lib/active_record/connection_adapters/oracle_enhanced//home/yahonda/git/oracle-enhanced/lib/active_record/connection_adapters/oracle_enhanced/dbms_output.rb:36)
     # home.yahonda.git.oracle_minus_enhanced.lib.active_record.connection_adapters.oracle_enhanced.dbms_output.log(/home/yahonda/git/oracle-enhanced/lib/active_record/connection_adapters/oracle_enhanced/dbms_output.rb:36)
     # home.yahonda.git.oracle_minus_enhanced.lib.active_record.connection_adapters.oracle_enhanced.database_statements.invokeOther3:log(home/yahonda/git/oracle_minus_enhanced/lib/active_record/connection_adapters/oracle_enhanced//home/yahonda/git/oracle-enhanced/lib/active_record/connection_adapters/oracle_enhanced/database_statements.rb:13)
     # home.yahonda.git.oracle_minus_enhanced.lib.active_record.connection_adapters.oracle_enhanced.database_statements.execute(/home/yahonda/git/oracle-enhanced/lib/active_record/connection_adapters/oracle_enhanced/database_statements.rb:13)
     # home.yahonda.git.oracle_minus_enhanced.lib.active_record.connection_adapters.oracle_enhanced.schema_statements.invokeOther59:execute(home/yahonda/git/oracle_minus_enhanced/lib/active_record/connection_adapters/oracle_enhanced//home/yahonda/git/oracle-enhanced/lib/active_record/connection_adapters/oracle_enhanced/schema_statements.rb:233)
     # home.yahonda.git.oracle_minus_enhanced.lib.active_record.connection_adapters.oracle_enhanced.schema_statements.create_table(/home/yahonda/git/oracle-enhanced/lib/active_record/connection_adapters/oracle_enhanced/schema_statements.rb:233)
     # org.jruby.RubyClass.finvoke(org/jruby/RubyClass.java:523)
     # org.jruby.RubyBasicObject.send(org/jruby/RubyBasicObject.java:1755)
     # org.jruby.RubyKernel.send(org/jruby/RubyKernel.java:2184)
     # org.jruby.RubyKernel$INVOKER$s$send.call(org/jruby/RubyKernel$INVOKER$s$send.gen)
     # home.yahonda.$_dot_rbenv.versions.jruby_minus_9_dot_2_dot_1_dot_0_minus_dev.lib.ruby.gems.shared.bundler.gems.rails_minus_ebf98df9fb70.activerecord.lib.active_record.migration_dot_rb.invokeOther36:send(home/yahonda/$_dot_rbenv/versions/jruby_minus_9_dot_2_dot_1_dot_0_minus_dev/lib/ruby/gems/shared/bundler/gems/rails_minus_ebf98df9fb70/activerecord/lib/active_record//home/yahonda/.rbenv/versions/jruby-9.2.1.0-dev/lib/ruby/gems/shared/bundler/gems/rails-ebf98df9fb70/activerecord/lib/active_record/migration.rb:875)
     # home.yahonda.$_dot_rbenv.versions.jruby_minus_9_dot_2_dot_1_dot_0_minus_dev.lib.ruby.gems.shared.bundler.gems.rails_minus_ebf98df9fb70.activerecord.lib.active_record.migration_dot_rb.method_missing(/home/yahonda/.rbenv/versions/jruby-9.2.1.0-dev/lib/ruby/gems/shared/bundler/gems/rails-ebf98df9fb70/activerecord/lib/active_record/migration.rb:875)
     # home.yahonda.$_dot_rbenv.versions.jruby_minus_9_dot_2_dot_1_dot_0_minus_dev.lib.ruby.gems.shared.bundler.gems.rails_minus_ebf98df9fb70.activerecord.lib.active_record.migration_dot_rb.say_with_time(/home/yahonda/.rbenv/versions/jruby-9.2.1.0-dev/lib/ruby/gems/shared/bundler/gems/rails-ebf98df9fb70/activerecord/lib/active_record/migration.rb:843)
     # home.yahonda.$_dot_rbenv.versions.jruby_minus_9_dot_2_dot_1_dot_0_minus_dev.lib.ruby.stdlib.benchmark_dot_rb.measure(/home/yahonda/.rbenv/versions/jruby-9.2.1.0-dev/lib/ruby/stdlib/benchmark.rb:293)
     # home.yahonda.$_dot_rbenv.versions.jruby_minus_9_dot_2_dot_1_dot_0_minus_dev.lib.ruby.gems.shared.bundler.gems.rails_minus_ebf98df9fb70.activerecord.lib.active_record.migration_dot_rb.invokeOther2:measure(home/yahonda/$_dot_rbenv/versions/jruby_minus_9_dot_2_dot_1_dot_0_minus_dev/lib/ruby/gems/shared/bundler/gems/rails_minus_ebf98df9fb70/activerecord/lib/active_record//home/yahonda/.rbenv/versions/jruby-9.2.1.0-dev/lib/ruby/gems/shared/bundler/gems/rails-ebf98df9fb70/activerecord/lib/active_record/migration.rb:843)
     # home.yahonda.$_dot_rbenv.versions.jruby_minus_9_dot_2_dot_1_dot_0_minus_dev.lib.ruby.gems.shared.bundler.gems.rails_minus_ebf98df9fb70.activerecord.lib.active_record.migration_dot_rb.say_with_time(/home/yahonda/.rbenv/versions/jruby-9.2.1.0-dev/lib/ruby/gems/shared/bundler/gems/rails-ebf98df9fb70/activerecord/lib/active_record/migration.rb:843)
     # home.yahonda.$_dot_rbenv.versions.jruby_minus_9_dot_2_dot_1_dot_0_minus_dev.lib.ruby.gems.shared.bundler.gems.rails_minus_ebf98df9fb70.activerecord.lib.active_record.migration_dot_rb.invokeOther47:say_with_time(home/yahonda/$_dot_rbenv/versions/jruby_minus_9_dot_2_dot_1_dot_0_minus_dev/lib/ruby/gems/shared/bundler/gems/rails_minus_ebf98df9fb70/activerecord/lib/active_record//home/yahonda/.rbenv/versions/jruby-9.2.1.0-dev/lib/ruby/gems/shared/bundler/gems/rails-ebf98df9fb70/activerecord/lib/active_record/migration.rb:864)
     # home.yahonda.$_dot_rbenv.versions.jruby_minus_9_dot_2_dot_1_dot_0_minus_dev.lib.ruby.gems.shared.bundler.gems.rails_minus_ebf98df9fb70.activerecord.lib.active_record.migration_dot_rb.method_missing(/home/yahonda/.rbenv/versions/jruby-9.2.1.0-dev/lib/ruby/gems/shared/bundler/gems/rails-ebf98df9fb70/activerecord/lib/active_record/migration.rb:864)
     # RUBY.<main>(/home/yahonda/git/oracle-enhanced/spec/active_record/connection_adapters/oracle_enhanced/schema_dumper_spec.rb:312)
     # org.jruby.RubyBasicObject.yieldUnder(org/jruby/RubyBasicObject.java:1818)
     # org.jruby.RubyBasicObject.specificEval(org/jruby/RubyBasicObject.java:1837)
     # org.jruby.RubyBasicObject.instance_eval(org/jruby/RubyBasicObject.java:2608)
     # org.jruby.RubyBasicObject$INVOKER$i$instance_eval.call(org/jruby/RubyBasicObject$INVOKER$i$instance_eval.gen)
     # home.yahonda.git.oracle_minus_enhanced.spec.spec_helper.invokeOther0:instance_eval(home/yahonda/git/oracle_minus_enhanced/spec//home/yahonda/git/oracle-enhanced/spec/spec_helper.rb:114)
     # home.yahonda.git.oracle_minus_enhanced.spec.spec_helper.schema_define(/home/yahonda/git/oracle-enhanced/spec/spec_helper.rb:114)
     # home.yahonda.$_dot_rbenv.versions.jruby_minus_9_dot_2_dot_1_dot_0_minus_dev.lib.ruby.gems.shared.bundler.gems.rails_minus_ebf98df9fb70.activerecord.lib.active_record.migration_dot_rb.suppress_messages(/home/yahonda/.rbenv/versions/jruby-9.2.1.0-dev/lib/ruby/gems/shared/bundler/gems/rails-ebf98df9fb70/activerecord/lib/active_record/migration.rb:852)
     # home.yahonda.git.oracle_minus_enhanced.spec.spec_helper.invokeOther2:suppress_messages(home/yahonda/git/oracle_minus_enhanced/spec//home/yahonda/git/oracle-enhanced/spec/spec_helper.rb:113)
     # home.yahonda.git.oracle_minus_enhanced.spec.spec_helper.schema_define(/home/yahonda/git/oracle-enhanced/spec/spec_helper.rb:113)
     # org.jruby.RubyBasicObject.yieldUnder(org/jruby/RubyBasicObject.java:1818)
     # org.jruby.RubyBasicObject.specificEval(org/jruby/RubyBasicObject.java:1837)
     # org.jruby.RubyBasicObject.instance_eval(org/jruby/RubyBasicObject.java:2608)
     # org.jruby.RubyBasicObject$INVOKER$i$instance_eval.call(org/jruby/RubyBasicObject$INVOKER$i$instance_eval.gen)
     # home.yahonda.$_dot_rbenv.versions.jruby_minus_9_dot_2_dot_1_dot_0_minus_dev.lib.ruby.gems.shared.bundler.gems.rails_minus_ebf98df9fb70.activerecord.lib.active_record.schema_dot_rb.invokeOther0:instance_eval(home/yahonda/$_dot_rbenv/versions/jruby_minus_9_dot_2_dot_1_dot_0_minus_dev/lib/ruby/gems/shared/bundler/gems/rails_minus_ebf98df9fb70/activerecord/lib/active_record//home/yahonda/.rbenv/versions/jruby-9.2.1.0-dev/lib/ruby/gems/shared/bundler/gems/rails-ebf98df9fb70/activerecord/lib/active_record/schema.rb:50)
     # home.yahonda.$_dot_rbenv.versions.jruby_minus_9_dot_2_dot_1_dot_0_minus_dev.lib.ruby.gems.shared.bundler.gems.rails_minus_ebf98df9fb70.activerecord.lib.active_record.schema_dot_rb.define(/home/yahonda/.rbenv/versions/jruby-9.2.1.0-dev/lib/ruby/gems/shared/bundler/gems/rails-ebf98df9fb70/activerecord/lib/active_record/schema.rb:50)
     # home.yahonda.$_dot_rbenv.versions.jruby_minus_9_dot_2_dot_1_dot_0_minus_dev.lib.ruby.gems.shared.bundler.gems.rails_minus_ebf98df9fb70.activerecord.lib.active_record.schema_dot_rb.invokeOther1:define(home/yahonda/$_dot_rbenv/versions/jruby_minus_9_dot_2_dot_1_dot_0_minus_dev/lib/ruby/gems/shared/bundler/gems/rails_minus_ebf98df9fb70/activerecord/lib/active_record//home/yahonda/.rbenv/versions/jruby-9.2.1.0-dev/lib/ruby/gems/shared/bundler/gems/rails-ebf98df9fb70/activerecord/lib/active_record/schema.rb:46)
     # home.yahonda.$_dot_rbenv.versions.jruby_minus_9_dot_2_dot_1_dot_0_minus_dev.lib.ruby.gems.shared.bundler.gems.rails_minus_ebf98df9fb70.activerecord.lib.active_record.schema_dot_rb.define(/home/yahonda/.rbenv/versions/jruby-9.2.1.0-dev/lib/ruby/gems/shared/bundler/gems/rails-ebf98df9fb70/activerecord/lib/active_record/schema.rb:46)
     # home.yahonda.git.oracle_minus_enhanced.spec.spec_helper.invokeOther4:define(home/yahonda/git/oracle_minus_enhanced/spec//home/yahonda/git/oracle-enhanced/spec/spec_helper.rb:112)
     # home.yahonda.git.oracle_minus_enhanced.spec.spec_helper.schema_define(/home/yahonda/git/oracle-enhanced/spec/spec_helper.rb:112)
     # home.yahonda.git.oracle_minus_enhanced.spec.spec_helper.RUBY$method$schema_define$0$__VARARGS__(home/yahonda/git/oracle_minus_enhanced/spec//home/yahonda/git/oracle-enhanced/spec/spec_helper.rb)
     # RUBY.<main>(/home/yahonda/git/oracle-enhanced/spec/active_record/connection_adapters/oracle_enhanced/schema_dumper_spec.rb:311)
     # org.jruby.RubyBasicObject.yieldUnder(org/jruby/RubyBasicObject.java:1778)
     # org.jruby.RubyBasicObject.instance_exec(org/jruby/RubyBasicObject.java:2680)
     # org.jruby.RubyBasicObject$INVOKER$i$0$3$instance_exec.call(org/jruby/RubyBasicObject$INVOKER$i$0$3$instance_exec.gen)
     # home.yahonda.$_dot_rbenv.versions.jruby_minus_9_dot_2_dot_1_dot_0_minus_dev.lib.ruby.gems.shared.gems.rspec_minus_core_minus_3_dot_8_dot_0.lib.rspec.core.hooks_dot_rb.invokeOther1:instance_exec(home/yahonda/$_dot_rbenv/versions/jruby_minus_9_dot_2_dot_1_dot_0_minus_dev/lib/ruby/gems/shared/gems/rspec_minus_core_minus_3_dot_8_dot_0/lib/rspec/core//home/yahonda/.rbenv/versions/jruby-9.2.1.0-dev/lib/ruby/gems/shared/gems/rspec-core-3.8.0/lib/rspec/core/hooks.rb:348)
     # home.yahonda.$_dot_rbenv.versions.jruby_minus_9_dot_2_dot_1_dot_0_minus_dev.lib.ruby.gems.shared.gems.rspec_minus_core_minus_3_dot_8_dot_0.lib.rspec.core.hooks_dot_rb.run(/home/yahonda/.rbenv/versions/jruby-9.2.1.0-dev/lib/ruby/gems/shared/gems/rspec-core-3.8.0/lib/rspec/core/hooks.rb:348)
     # home.yahonda.$_dot_rbenv.versions.jruby_minus_9_dot_2_dot_1_dot_0_minus_dev.lib.ruby.gems.shared.gems.rspec_minus_core_minus_3_dot_8_dot_0.lib.rspec.core.hooks_dot_rb.invokeOther0:run(home/yahonda/$_dot_rbenv/versions/jruby_minus_9_dot_2_dot_1_dot_0_minus_dev/lib/ruby/gems/shared/gems/rspec_minus_core_minus_3_dot_8_dot_0/lib/rspec/core//home/yahonda/.rbenv/versions/jruby-9.2.1.0-dev/lib/ruby/gems/shared/gems/rspec-core-3.8.0/lib/rspec/core/hooks.rb:507)
     # home.yahonda.$_dot_rbenv.versions.jruby_minus_9_dot_2_dot_1_dot_0_minus_dev.lib.ruby.gems.shared.gems.rspec_minus_core_minus_3_dot_8_dot_0.lib.rspec.core.hooks_dot_rb.run_owned_hooks_for(/home/yahonda/.rbenv/versions/jruby-9.2.1.0-dev/lib/ruby/gems/shared/gems/rspec-core-3.8.0/lib/rspec/core/hooks.rb:507)
     # org.jruby.RubyArray.each(org/jruby/RubyArray.java:1789)
     # org.jruby.RubyArray$INVOKER$i$0$0$each.call(org/jruby/RubyArray$INVOKER$i$0$0$each.gen)
     # home.yahonda.$_dot_rbenv.versions.jruby_minus_9_dot_2_dot_1_dot_0_minus_dev.lib.ruby.gems.shared.gems.rspec_minus_core_minus_3_dot_8_dot_0.lib.rspec.core.hooks_dot_rb.invokeOther3:each(home/yahonda/$_dot_rbenv/versions/jruby_minus_9_dot_2_dot_1_dot_0_minus_dev/lib/ruby/gems/shared/gems/rspec_minus_core_minus_3_dot_8_dot_0/lib/rspec/core//home/yahonda/.rbenv/versions/jruby-9.2.1.0-dev/lib/ruby/gems/shared/gems/rspec-core-3.8.0/lib/rspec/core/hooks.rb:506)
     # home.yahonda.$_dot_rbenv.versions.jruby_minus_9_dot_2_dot_1_dot_0_minus_dev.lib.ruby.gems.shared.gems.rspec_minus_core_minus_3_dot_8_dot_0.lib.rspec.core.hooks_dot_rb.run_owned_hooks_for(/home/yahonda/.rbenv/versions/jruby-9.2.1.0-dev/lib/ruby/gems/shared/gems/rspec-core-3.8.0/lib/rspec/core/hooks.rb:506)
     # home.yahonda.$_dot_rbenv.versions.jruby_minus_9_dot_2_dot_1_dot_0_minus_dev.lib.ruby.gems.shared.gems.rspec_minus_core_minus_3_dot_8_dot_0.lib.rspec.core.hooks_dot_rb.invokeOther10:run_owned_hooks_for(home/yahonda/$_dot_rbenv/versions/jruby_minus_9_dot_2_dot_1_dot_0_minus_dev/lib/ruby/gems/shared/gems/rspec_minus_core_minus_3_dot_8_dot_0/lib/rspec/core//home/yahonda/.rbenv/versions/jruby-9.2.1.0-dev/lib/ruby/gems/shared/gems/rspec-core-3.8.0/lib/rspec/core/hooks.rb:458)
     # home.yahonda.$_dot_rbenv.versions.jruby_minus_9_dot_2_dot_1_dot_0_minus_dev.lib.ruby.gems.shared.gems.rspec_minus_core_minus_3_dot_8_dot_0.lib.rspec.core.hooks_dot_rb.run(/home/yahonda/.rbenv/versions/jruby-9.2.1.0-dev/lib/ruby/gems/shared/gems/rspec-core-3.8.0/lib/rspec/core/hooks.rb:458)
     # home.yahonda.$_dot_rbenv.versions.jruby_minus_9_dot_2_dot_1_dot_0_minus_dev.lib.ruby.gems.shared.gems.rspec_minus_core_minus_3_dot_8_dot_0.lib.rspec.core.example_group_dot_rb.invokeOther5:run(home/yahonda/$_dot_rbenv/versions/jruby_minus_9_dot_2_dot_1_dot_0_minus_dev/lib/ruby/gems/shared/gems/rspec_minus_core_minus_3_dot_8_dot_0/lib/rspec/core//home/yahonda/.rbenv/versions/jruby-9.2.1.0-dev/lib/ruby/gems/shared/gems/rspec-core-3.8.0/lib/rspec/core/example_group.rb:538)
     # home.yahonda.$_dot_rbenv.versions.jruby_minus_9_dot_2_dot_1_dot_0_minus_dev.lib.ruby.gems.shared.gems.rspec_minus_core_minus_3_dot_8_dot_0.lib.rspec.core.example_group_dot_rb.run_before_context_hooks(/home/yahonda/.rbenv/versions/jruby-9.2.1.0-dev/lib/ruby/gems/shared/gems/rspec-core-3.8.0/lib/rspec/core/example_group.rb:538)
     # home.yahonda.$_dot_rbenv.versions.jruby_minus_9_dot_2_dot_1_dot_0_minus_dev.lib.ruby.gems.shared.gems.rspec_minus_core_minus_3_dot_8_dot_0.lib.rspec.core.memoized_helpers_dot_rb.isolate_for_context_hook(/home/yahonda/.rbenv/versions/jruby-9.2.1.0-dev/lib/ruby/gems/shared/gems/rspec-core-3.8.0/lib/rspec/core/memoized_helpers.rb:186)
     # org.jruby.RubyBasicObject.yieldUnder(org/jruby/RubyBasicObject.java:1781)
     # org.jruby.RubyBasicObject.instance_exec(org/jruby/RubyBasicObject.java:2680)
     # org.jruby.RubyBasicObject$INVOKER$i$0$3$instance_exec.call(org/jruby/RubyBasicObject$INVOKER$i$0$3$instance_exec.gen)
     # home.yahonda.$_dot_rbenv.versions.jruby_minus_9_dot_2_dot_1_dot_0_minus_dev.lib.ruby.gems.shared.gems.rspec_minus_core_minus_3_dot_8_dot_0.lib.rspec.core.memoized_helpers_dot_rb.invokeOther4:instance_exec(home/yahonda/$_dot_rbenv/versions/jruby_minus_9_dot_2_dot_1_dot_0_minus_dev/lib/ruby/gems/shared/gems/rspec_minus_core_minus_3_dot_8_dot_0/lib/rspec/core//home/yahonda/.rbenv/versions/jruby-9.2.1.0-dev/lib/ruby/gems/shared/gems/rspec-core-3.8.0/lib/rspec/core/memoized_helpers.rb:182)
     # home.yahonda.$_dot_rbenv.versions.jruby_minus_9_dot_2_dot_1_dot_0_minus_dev.lib.ruby.gems.shared.gems.rspec_minus_core_minus_3_dot_8_dot_0.lib.rspec.core.memoized_helpers_dot_rb.isolate_for_context_hook(/home/yahonda/.rbenv/versions/jruby-9.2.1.0-dev/lib/ruby/gems/shared/gems/rspec-core-3.8.0/lib/rspec/core/memoized_helpers.rb:182)
     # home.yahonda.$_dot_rbenv.versions.jruby_minus_9_dot_2_dot_1_dot_0_minus_dev.lib.ruby.gems.shared.gems.rspec_minus_core_minus_3_dot_8_dot_0.lib.rspec.core.example_group_dot_rb.invokeOther10:isolate_for_context_hook(home/yahonda/$_dot_rbenv/versions/jruby_minus_9_dot_2_dot_1_dot_0_minus_dev/lib/ruby/gems/shared/gems/rspec_minus_core_minus_3_dot_8_dot_0/lib/rspec/core//home/yahonda/.rbenv/versions/jruby-9.2.1.0-dev/lib/ruby/gems/shared/gems/rspec-core-3.8.0/lib/rspec/core/example_group.rb:537)
     # home.yahonda.$_dot_rbenv.versions.jruby_minus_9_dot_2_dot_1_dot_0_minus_dev.lib.ruby.gems.shared.gems.rspec_minus_core_minus_3_dot_8_dot_0.lib.rspec.core.example_group_dot_rb.run_before_context_hooks(/home/yahonda/.rbenv/versions/jruby-9.2.1.0-dev/lib/ruby/gems/shared/gems/rspec-core-3.8.0/lib/rspec/core/example_group.rb:537)
     # home.yahonda.$_dot_rbenv.versions.jruby_minus_9_dot_2_dot_1_dot_0_minus_dev.lib.ruby.gems.shared.gems.rspec_minus_core_minus_3_dot_8_dot_0.lib.rspec.core.example_group_dot_rb.invokeOther10:run_before_context_hooks(home/yahonda/$_dot_rbenv/versions/jruby_minus_9_dot_2_dot_1_dot_0_minus_dev/lib/ruby/gems/shared/gems/rspec_minus_core_minus_3_dot_8_dot_0/lib/rspec/core//home/yahonda/.rbenv/versions/jruby-9.2.1.0-dev/lib/ruby/gems/shared/gems/rspec-core-3.8.0/lib/rspec/core/example_group.rb:590)
     # home.yahonda.$_dot_rbenv.versions.jruby_minus_9_dot_2_dot_1_dot_0_minus_dev.lib.ruby.gems.shared.gems.rspec_minus_core_minus_3_dot_8_dot_0.lib.rspec.core.example_group_dot_rb.run(/home/yahonda/.rbenv/versions/jruby-9.2.1.0-dev/lib/ruby/gems/shared/gems/rspec-core-3.8.0/lib/rspec/core/example_group.rb:590)
     # home.yahonda.$_dot_rbenv.versions.jruby_minus_9_dot_2_dot_1_dot_0_minus_dev.lib.ruby.gems.shared.gems.rspec_minus_core_minus_3_dot_8_dot_0.lib.rspec.core.example_group_dot_rb.invokeOther0:run(home/yahonda/$_dot_rbenv/versions/jruby_minus_9_dot_2_dot_1_dot_0_minus_dev/lib/ruby/gems/shared/gems/rspec_minus_core_minus_3_dot_8_dot_0/lib/rspec/core//home/yahonda/.rbenv/versions/jruby-9.2.1.0-dev/lib/ruby/gems/shared/gems/rspec-core-3.8.0/lib/rspec/core/example_group.rb:592)
     # home.yahonda.$_dot_rbenv.versions.jruby_minus_9_dot_2_dot_1_dot_0_minus_dev.lib.ruby.gems.shared.gems.rspec_minus_core_minus_3_dot_8_dot_0.lib.rspec.core.example_group_dot_rb.run(/home/yahonda/.rbenv/versions/jruby-9.2.1.0-dev/lib/ruby/gems/shared/gems/rspec-core-3.8.0/lib/rspec/core/example_group.rb:592)
     # org.jruby.RubyArray.collect(org/jruby/RubyArray.java:2550)
     # org.jruby.RubyArray.map(org/jruby/RubyArray.java:2564)
     # org.jruby.RubyArray$INVOKER$i$0$0$map19.call(org/jruby/RubyArray$INVOKER$i$0$0$map19.gen)
     # home.yahonda.$_dot_rbenv.versions.jruby_minus_9_dot_2_dot_1_dot_0_minus_dev.lib.ruby.gems.shared.gems.rspec_minus_core_minus_3_dot_8_dot_0.lib.rspec.core.example_group_dot_rb.invokeOther33:map(home/yahonda/$_dot_rbenv/versions/jruby_minus_9_dot_2_dot_1_dot_0_minus_dev/lib/ruby/gems/shared/gems/rspec_minus_core_minus_3_dot_8_dot_0/lib/rspec/core//home/yahonda/.rbenv/versions/jruby-9.2.1.0-dev/lib/ruby/gems/shared/gems/rspec-core-3.8.0/lib/rspec/core/example_group.rb:592)
     # home.yahonda.$_dot_rbenv.versions.jruby_minus_9_dot_2_dot_1_dot_0_minus_dev.lib.ruby.gems.shared.gems.rspec_minus_core_minus_3_dot_8_dot_0.lib.rspec.core.example_group_dot_rb.run(/home/yahonda/.rbenv/versions/jruby-9.2.1.0-dev/lib/ruby/gems/shared/gems/rspec-core-3.8.0/lib/rspec/core/example_group.rb:592)
     # home.yahonda.$_dot_rbenv.versions.jruby_minus_9_dot_2_dot_1_dot_0_minus_dev.lib.ruby.gems.shared.gems.rspec_minus_core_minus_3_dot_8_dot_0.lib.rspec.core.runner_dot_rb.invokeOther0:run(home/yahonda/$_dot_rbenv/versions/jruby_minus_9_dot_2_dot_1_dot_0_minus_dev/lib/ruby/gems/shared/gems/rspec_minus_core_minus_3_dot_8_dot_0/lib/rspec/core//home/yahonda/.rbenv/versions/jruby-9.2.1.0-dev/lib/ruby/gems/shared/gems/rspec-core-3.8.0/lib/rspec/core/runner.rb:116)
     # home.yahonda.$_dot_rbenv.versions.jruby_minus_9_dot_2_dot_1_dot_0_minus_dev.lib.ruby.gems.shared.gems.rspec_minus_core_minus_3_dot_8_dot_0.lib.rspec.core.runner_dot_rb.run_specs(/home/yahonda/.rbenv/versions/jruby-9.2.1.0-dev/lib/ruby/gems/shared/gems/rspec-core-3.8.0/lib/rspec/core/runner.rb:116)
     # org.jruby.RubyArray.collect(org/jruby/RubyArray.java:2550)
     # org.jruby.RubyArray.map(org/jruby/RubyArray.java:2564)
     # org.jruby.RubyArray$INVOKER$i$0$0$map19.call(org/jruby/RubyArray$INVOKER$i$0$0$map19.gen)
     # home.yahonda.$_dot_rbenv.versions.jruby_minus_9_dot_2_dot_1_dot_0_minus_dev.lib.ruby.gems.shared.gems.rspec_minus_core_minus_3_dot_8_dot_0.lib.rspec.core.runner_dot_rb.invokeOther7:map(home/yahonda/$_dot_rbenv/versions/jruby_minus_9_dot_2_dot_1_dot_0_minus_dev/lib/ruby/gems/shared/gems/rspec_minus_core_minus_3_dot_8_dot_0/lib/rspec/core//home/yahonda/.rbenv/versions/jruby-9.2.1.0-dev/lib/ruby/gems/shared/gems/rspec-core-3.8.0/lib/rspec/core/runner.rb:116)
     # home.yahonda.$_dot_rbenv.versions.jruby_minus_9_dot_2_dot_1_dot_0_minus_dev.lib.ruby.gems.shared.gems.rspec_minus_core_minus_3_dot_8_dot_0.lib.rspec.core.runner_dot_rb.run_specs(/home/yahonda/.rbenv/versions/jruby-9.2.1.0-dev/lib/ruby/gems/shared/gems/rspec-core-3.8.0/lib/rspec/core/runner.rb:116)
     # home.yahonda.$_dot_rbenv.versions.jruby_minus_9_dot_2_dot_1_dot_0_minus_dev.lib.ruby.gems.shared.gems.rspec_minus_core_minus_3_dot_8_dot_0.lib.rspec.core.configuration_dot_rb.with_suite_hooks(/home/yahonda/.rbenv/versions/jruby-9.2.1.0-dev/lib/ruby/gems/shared/gems/rspec-core-3.8.0/lib/rspec/core/configuration.rb:1989)
     # home.yahonda.$_dot_rbenv.versions.jruby_minus_9_dot_2_dot_1_dot_0_minus_dev.lib.ruby.gems.shared.gems.rspec_minus_core_minus_3_dot_8_dot_0.lib.rspec.core.runner_dot_rb.invokeOther11:with_suite_hooks(home/yahonda/$_dot_rbenv/versions/jruby_minus_9_dot_2_dot_1_dot_0_minus_dev/lib/ruby/gems/shared/gems/rspec_minus_core_minus_3_dot_8_dot_0/lib/rspec/core//home/yahonda/.rbenv/versions/jruby-9.2.1.0-dev/lib/ruby/gems/shared/gems/rspec-core-3.8.0/lib/rspec/core/runner.rb:111)
     # home.yahonda.$_dot_rbenv.versions.jruby_minus_9_dot_2_dot_1_dot_0_minus_dev.lib.ruby.gems.shared.gems.rspec_minus_core_minus_3_dot_8_dot_0.lib.rspec.core.runner_dot_rb.run_specs(/home/yahonda/.rbenv/versions/jruby-9.2.1.0-dev/lib/ruby/gems/shared/gems/rspec-core-3.8.0/lib/rspec/core/runner.rb:111)
     # home.yahonda.$_dot_rbenv.versions.jruby_minus_9_dot_2_dot_1_dot_0_minus_dev.lib.ruby.gems.shared.gems.rspec_minus_core_minus_3_dot_8_dot_0.lib.rspec.core.reporter_dot_rb.report(/home/yahonda/.rbenv/versions/jruby-9.2.1.0-dev/lib/ruby/gems/shared/gems/rspec-core-3.8.0/lib/rspec/core/reporter.rb:74)
     # home.yahonda.$_dot_rbenv.versions.jruby_minus_9_dot_2_dot_1_dot_0_minus_dev.lib.ruby.gems.shared.gems.rspec_minus_core_minus_3_dot_8_dot_0.lib.rspec.core.runner_dot_rb.invokeOther17:report(home/yahonda/$_dot_rbenv/versions/jruby_minus_9_dot_2_dot_1_dot_0_minus_dev/lib/ruby/gems/shared/gems/rspec_minus_core_minus_3_dot_8_dot_0/lib/rspec/core//home/yahonda/.rbenv/versions/jruby-9.2.1.0-dev/lib/ruby/gems/shared/gems/rspec-core-3.8.0/lib/rspec/core/runner.rb:110)
     # home.yahonda.$_dot_rbenv.versions.jruby_minus_9_dot_2_dot_1_dot_0_minus_dev.lib.ruby.gems.shared.gems.rspec_minus_core_minus_3_dot_8_dot_0.lib.rspec.core.runner_dot_rb.run_specs(/home/yahonda/.rbenv/versions/jruby-9.2.1.0-dev/lib/ruby/gems/shared/gems/rspec-core-3.8.0/lib/rspec/core/runner.rb:110)
     # home.yahonda.$_dot_rbenv.versions.jruby_minus_9_dot_2_dot_1_dot_0_minus_dev.lib.ruby.gems.shared.gems.rspec_minus_core_minus_3_dot_8_dot_0.lib.rspec.core.runner_dot_rb.invokeOther4:run_specs(home/yahonda/$_dot_rbenv/versions/jruby_minus_9_dot_2_dot_1_dot_0_minus_dev/lib/ruby/gems/shared/gems/rspec_minus_core_minus_3_dot_8_dot_0/lib/rspec/core//home/yahonda/.rbenv/versions/jruby-9.2.1.0-dev/lib/ruby/gems/shared/gems/rspec-core-3.8.0/lib/rspec/core/runner.rb:87)
     # home.yahonda.$_dot_rbenv.versions.jruby_minus_9_dot_2_dot_1_dot_0_minus_dev.lib.ruby.gems.shared.gems.rspec_minus_core_minus_3_dot_8_dot_0.lib.rspec.core.runner_dot_rb.run(/home/yahonda/.rbenv/versions/jruby-9.2.1.0-dev/lib/ruby/gems/shared/gems/rspec-core-3.8.0/lib/rspec/core/runner.rb:87)
     # home.yahonda.$_dot_rbenv.versions.jruby_minus_9_dot_2_dot_1_dot_0_minus_dev.lib.ruby.gems.shared.gems.rspec_minus_core_minus_3_dot_8_dot_0.lib.rspec.core.runner_dot_rb.invokeOther10:run(home/yahonda/$_dot_rbenv/versions/jruby_minus_9_dot_2_dot_1_dot_0_minus_dev/lib/ruby/gems/shared/gems/rspec_minus_core_minus_3_dot_8_dot_0/lib/rspec/core//home/yahonda/.rbenv/versions/jruby-9.2.1.0-dev/lib/ruby/gems/shared/gems/rspec-core-3.8.0/lib/rspec/core/runner.rb:71)
     # home.yahonda.$_dot_rbenv.versions.jruby_minus_9_dot_2_dot_1_dot_0_minus_dev.lib.ruby.gems.shared.gems.rspec_minus_core_minus_3_dot_8_dot_0.lib.rspec.core.runner_dot_rb.run(/home/yahonda/.rbenv/versions/jruby-9.2.1.0-dev/lib/ruby/gems/shared/gems/rspec-core-3.8.0/lib/rspec/core/runner.rb:71)
     # home.yahonda.$_dot_rbenv.versions.jruby_minus_9_dot_2_dot_1_dot_0_minus_dev.lib.ruby.gems.shared.gems.rspec_minus_core_minus_3_dot_8_dot_0.lib.rspec.core.runner_dot_rb.invokeOther1:run(home/yahonda/$_dot_rbenv/versions/jruby_minus_9_dot_2_dot_1_dot_0_minus_dev/lib/ruby/gems/shared/gems/rspec_minus_core_minus_3_dot_8_dot_0/lib/rspec/core//home/yahonda/.rbenv/versions/jruby-9.2.1.0-dev/lib/ruby/gems/shared/gems/rspec-core-3.8.0/lib/rspec/core/runner.rb:45)
     # home.yahonda.$_dot_rbenv.versions.jruby_minus_9_dot_2_dot_1_dot_0_minus_dev.lib.ruby.gems.shared.gems.rspec_minus_core_minus_3_dot_8_dot_0.lib.rspec.core.runner_dot_rb.invoke(/home/yahonda/.rbenv/versions/jruby-9.2.1.0-dev/lib/ruby/gems/shared/gems/rspec-core-3.8.0/lib/rspec/core/runner.rb:45)
     # RUBY.<main>(/home/yahonda/.rbenv/versions/jruby-9.2.1.0-dev/lib/ruby/gems/shared/gems/rspec-core-3.8.0/exe/rspec:4)
     # org.jruby.Ruby.runInterpreter(org/jruby/Ruby.java:864)
     # org.jruby.Ruby.loadFile(org/jruby/Ruby.java:2955)
     # org.jruby.RubyKernel.loadCommon(org/jruby/RubyKernel.java:1030)
     # org.jruby.RubyKernel.load(org/jruby/RubyKernel.java:1000)
     # org.jruby.RubyKernel$INVOKER$s$load.call(org/jruby/RubyKernel$INVOKER$s$load.gen)
     # RUBY.<main>(/home/yahonda/.rbenv/versions/jruby-9.2.1.0-dev/bin/rspec:1)
     # org.jruby.Ruby.runInterpreter(org/jruby/Ruby.java:864)
     # org.jruby.Ruby.loadFile(org/jruby/Ruby.java:2955)
     # org.jruby.RubyKernel.loadCommon(org/jruby/RubyKernel.java:1030)
     # org.jruby.RubyKernel.load(org/jruby/RubyKernel.java:1000)
     # org.jruby.RubyKernel$INVOKER$s$load.call(org/jruby/RubyKernel$INVOKER$s$load.gen)
     # home.yahonda.$_dot_rbenv.versions.jruby_minus_9_dot_2_dot_1_dot_0_minus_dev.lib.ruby.gems.shared.gems.bundler_minus_1_dot_17_dot_1.lib.bundler.cli.exec_dot_rb.invokeOther38:load(home/yahonda/$_dot_rbenv/versions/jruby_minus_9_dot_2_dot_1_dot_0_minus_dev/lib/ruby/gems/shared/gems/bundler_minus_1_dot_17_dot_1/lib/bundler/cli//home/yahonda/.rbenv/versions/jruby-9.2.1.0-dev/lib/ruby/gems/shared/gems/bundler-1.17.1/lib/bundler/cli/exec.rb:74)
     # home.yahonda.$_dot_rbenv.versions.jruby_minus_9_dot_2_dot_1_dot_0_minus_dev.lib.ruby.gems.shared.gems.bundler_minus_1_dot_17_dot_1.lib.bundler.cli.exec_dot_rb.kernel_load(/home/yahonda/.rbenv/versions/jruby-9.2.1.0-dev/lib/ruby/gems/shared/gems/bundler-1.17.1/lib/bundler/cli/exec.rb:74)
     # home.yahonda.$_dot_rbenv.versions.jruby_minus_9_dot_2_dot_1_dot_0_minus_dev.lib.ruby.gems.shared.gems.bundler_minus_1_dot_17_dot_1.lib.bundler.cli.exec_dot_rb.invokeOther11:kernel_load(home/yahonda/$_dot_rbenv/versions/jruby_minus_9_dot_2_dot_1_dot_0_minus_dev/lib/ruby/gems/shared/gems/bundler_minus_1_dot_17_dot_1/lib/bundler/cli//home/yahonda/.rbenv/versions/jruby-9.2.1.0-dev/lib/ruby/gems/shared/gems/bundler-1.17.1/lib/bundler/cli/exec.rb:28)
     # home.yahonda.$_dot_rbenv.versions.jruby_minus_9_dot_2_dot_1_dot_0_minus_dev.lib.ruby.gems.shared.gems.bundler_minus_1_dot_17_dot_1.lib.bundler.cli.exec_dot_rb.run(/home/yahonda/.rbenv/versions/jruby-9.2.1.0-dev/lib/ruby/gems/shared/gems/bundler-1.17.1/lib/bundler/cli/exec.rb:28)
     # home.yahonda.$_dot_rbenv.versions.jruby_minus_9_dot_2_dot_1_dot_0_minus_dev.lib.ruby.gems.shared.gems.bundler_minus_1_dot_17_dot_1.lib.bundler.cli_dot_rb.invokeOther4:run(home/yahonda/$_dot_rbenv/versions/jruby_minus_9_dot_2_dot_1_dot_0_minus_dev/lib/ruby/gems/shared/gems/bundler_minus_1_dot_17_dot_1/lib/bundler//home/yahonda/.rbenv/versions/jruby-9.2.1.0-dev/lib/ruby/gems/shared/gems/bundler-1.17.1/lib/bundler/cli.rb:463)
     # home.yahonda.$_dot_rbenv.versions.jruby_minus_9_dot_2_dot_1_dot_0_minus_dev.lib.ruby.gems.shared.gems.bundler_minus_1_dot_17_dot_1.lib.bundler.cli_dot_rb.exec(/home/yahonda/.rbenv/versions/jruby-9.2.1.0-dev/lib/ruby/gems/shared/gems/bundler-1.17.1/lib/bundler/cli.rb:463)
     # org.jruby.RubyClass.finvoke(org/jruby/RubyClass.java:523)
     # org.jruby.RubyBasicObject.send(org/jruby/RubyBasicObject.java:1755)
     # org.jruby.RubyBasicObject$INVOKER$i$send.call(org/jruby/RubyBasicObject$INVOKER$i$send.gen)
     # home.yahonda.$_dot_rbenv.versions.jruby_minus_9_dot_2_dot_1_dot_0_minus_dev.lib.ruby.gems.shared.gems.bundler_minus_1_dot_17_dot_1.lib.bundler.vendor.thor.lib.thor.command_dot_rb.invokeOther20:__send__(home/yahonda/$_dot_rbenv/versions/jruby_minus_9_dot_2_dot_1_dot_0_minus_dev/lib/ruby/gems/shared/gems/bundler_minus_1_dot_17_dot_1/lib/bundler/vendor/thor/lib/thor//home/yahonda/.rbenv/versions/jruby-9.2.1.0-dev/lib/ruby/gems/shared/gems/bundler-1.17.1/lib/bundler/vendor/thor/lib/thor/command.rb:27)
     # home.yahonda.$_dot_rbenv.versions.jruby_minus_9_dot_2_dot_1_dot_0_minus_dev.lib.ruby.gems.shared.gems.bundler_minus_1_dot_17_dot_1.lib.bundler.vendor.thor.lib.thor.command_dot_rb.run(/home/yahonda/.rbenv/versions/jruby-9.2.1.0-dev/lib/ruby/gems/shared/gems/bundler-1.17.1/lib/bundler/vendor/thor/lib/thor/command.rb:27)
     # home.yahonda.$_dot_rbenv.versions.jruby_minus_9_dot_2_dot_1_dot_0_minus_dev.lib.ruby.gems.shared.gems.bundler_minus_1_dot_17_dot_1.lib.bundler.vendor.thor.lib.thor.invocation_dot_rb.invokeOther7:run(home/yahonda/$_dot_rbenv/versions/jruby_minus_9_dot_2_dot_1_dot_0_minus_dev/lib/ruby/gems/shared/gems/bundler_minus_1_dot_17_dot_1/lib/bundler/vendor/thor/lib/thor//home/yahonda/.rbenv/versions/jruby-9.2.1.0-dev/lib/ruby/gems/shared/gems/bundler-1.17.1/lib/bundler/vendor/thor/lib/thor/invocation.rb:126)
     # home.yahonda.$_dot_rbenv.versions.jruby_minus_9_dot_2_dot_1_dot_0_minus_dev.lib.ruby.gems.shared.gems.bundler_minus_1_dot_17_dot_1.lib.bundler.vendor.thor.lib.thor.invocation_dot_rb.invoke_command(/home/yahonda/.rbenv/versions/jruby-9.2.1.0-dev/lib/ruby/gems/shared/gems/bundler-1.17.1/lib/bundler/vendor/thor/lib/thor/invocation.rb:126)
     # home.yahonda.$_dot_rbenv.versions.jruby_minus_9_dot_2_dot_1_dot_0_minus_dev.lib.ruby.gems.shared.gems.bundler_minus_1_dot_17_dot_1.lib.bundler.vendor.thor.lib.thor_dot_rb.invokeOther36:invoke_command(home/yahonda/$_dot_rbenv/versions/jruby_minus_9_dot_2_dot_1_dot_0_minus_dev/lib/ruby/gems/shared/gems/bundler_minus_1_dot_17_dot_1/lib/bundler/vendor/thor/lib//home/yahonda/.rbenv/versions/jruby-9.2.1.0-dev/lib/ruby/gems/shared/gems/bundler-1.17.1/lib/bundler/vendor/thor/lib/thor.rb:387)
     # home.yahonda.$_dot_rbenv.versions.jruby_minus_9_dot_2_dot_1_dot_0_minus_dev.lib.ruby.gems.shared.gems.bundler_minus_1_dot_17_dot_1.lib.bundler.vendor.thor.lib.thor_dot_rb.dispatch(/home/yahonda/.rbenv/versions/jruby-9.2.1.0-dev/lib/ruby/gems/shared/gems/bundler-1.17.1/lib/bundler/vendor/thor/lib/thor.rb:387)
     # home.yahonda.$_dot_rbenv.versions.jruby_minus_9_dot_2_dot_1_dot_0_minus_dev.lib.ruby.gems.shared.gems.bundler_minus_1_dot_17_dot_1.lib.bundler.vendor.thor.lib.thor_dot_rb.RUBY$method$dispatch$0$__VARARGS__(home/yahonda/$_dot_rbenv/versions/jruby_minus_9_dot_2_dot_1_dot_0_minus_dev/lib/ruby/gems/shared/gems/bundler_minus_1_dot_17_dot_1/lib/bundler/vendor/thor/lib//home/yahonda/.rbenv/versions/jruby-9.2.1.0-dev/lib/ruby/gems/shared/gems/bundler-1.17.1/lib/bundler/vendor/thor/lib/thor.rb)
     # home.yahonda.$_dot_rbenv.versions.jruby_minus_9_dot_2_dot_1_dot_0_minus_dev.lib.ruby.gems.shared.gems.bundler_minus_1_dot_17_dot_1.lib.bundler.cli_dot_rb.invokeSuper7:dispatch(home/yahonda/$_dot_rbenv/versions/jruby_minus_9_dot_2_dot_1_dot_0_minus_dev/lib/ruby/gems/shared/gems/bundler_minus_1_dot_17_dot_1/lib/bundler//home/yahonda/.rbenv/versions/jruby-9.2.1.0-dev/lib/ruby/gems/shared/gems/bundler-1.17.1/lib/bundler/cli.rb:27)
     # home.yahonda.$_dot_rbenv.versions.jruby_minus_9_dot_2_dot_1_dot_0_minus_dev.lib.ruby.gems.shared.gems.bundler_minus_1_dot_17_dot_1.lib.bundler.cli_dot_rb.dispatch(/home/yahonda/.rbenv/versions/jruby-9.2.1.0-dev/lib/ruby/gems/shared/gems/bundler-1.17.1/lib/bundler/cli.rb:27)
     # home.yahonda.$_dot_rbenv.versions.jruby_minus_9_dot_2_dot_1_dot_0_minus_dev.lib.ruby.gems.shared.gems.bundler_minus_1_dot_17_dot_1.lib.bundler.vendor.thor.lib.thor.base_dot_rb.invokeOther7:dispatch(home/yahonda/$_dot_rbenv/versions/jruby_minus_9_dot_2_dot_1_dot_0_minus_dev/lib/ruby/gems/shared/gems/bundler_minus_1_dot_17_dot_1/lib/bundler/vendor/thor/lib/thor//home/yahonda/.rbenv/versions/jruby-9.2.1.0-dev/lib/ruby/gems/shared/gems/bundler-1.17.1/lib/bundler/vendor/thor/lib/thor/base.rb:466)
     # home.yahonda.$_dot_rbenv.versions.jruby_minus_9_dot_2_dot_1_dot_0_minus_dev.lib.ruby.gems.shared.gems.bundler_minus_1_dot_17_dot_1.lib.bundler.vendor.thor.lib.thor.base_dot_rb.start(/home/yahonda/.rbenv/versions/jruby-9.2.1.0-dev/lib/ruby/gems/shared/gems/bundler-1.17.1/lib/bundler/vendor/thor/lib/thor/base.rb:466)
     # home.yahonda.$_dot_rbenv.versions.jruby_minus_9_dot_2_dot_1_dot_0_minus_dev.lib.ruby.gems.shared.gems.bundler_minus_1_dot_17_dot_1.lib.bundler.cli_dot_rb.invokeSuper0:start(home/yahonda/$_dot_rbenv/versions/jruby_minus_9_dot_2_dot_1_dot_0_minus_dev/lib/ruby/gems/shared/gems/bundler_minus_1_dot_17_dot_1/lib/bundler//home/yahonda/.rbenv/versions/jruby-9.2.1.0-dev/lib/ruby/gems/shared/gems/bundler-1.17.1/lib/bundler/cli.rb:18)
     # home.yahonda.$_dot_rbenv.versions.jruby_minus_9_dot_2_dot_1_dot_0_minus_dev.lib.ruby.gems.shared.gems.bundler_minus_1_dot_17_dot_1.lib.bundler.cli_dot_rb.start(/home/yahonda/.rbenv/versions/jruby-9.2.1.0-dev/lib/ruby/gems/shared/gems/bundler-1.17.1/lib/bundler/cli.rb:18)
     # RUBY.<main>(/home/yahonda/.rbenv/versions/jruby-9.2.1.0-dev/bin/rspec:23)
     # home.yahonda.$_dot_rbenv.versions.jruby_minus_9_dot_2_dot_1_dot_0_minus_dev.lib.ruby.gems.shared.gems.bundler_minus_1_dot_17_dot_1.lib.bundler.friendly_errors_dot_rb.with_friendly_errors(/home/yahonda/.rbenv/versions/jruby-9.2.1.0-dev/lib/ruby/gems/shared/gems/bundler-1.17.1/lib/bundler/friendly_errors.rb:124)
     # home.yahonda.$_dot_rbenv.versions.jruby_minus_9_dot_2_dot_1_dot_0_minus_dev.lib.ruby.gems.shared.gems.bundler_minus_1_dot_17_dot_1.lib.bundler.friendly_errors_dot_rb.RUBY$method$with_friendly_errors$0$__VARARGS__(home/yahonda/$_dot_rbenv/versions/jruby_minus_9_dot_2_dot_1_dot_0_minus_dev/lib/ruby/gems/shared/gems/bundler_minus_1_dot_17_dot_1/lib/bundler//home/yahonda/.rbenv/versions/jruby-9.2.1.0-dev/lib/ruby/gems/shared/gems/bundler-1.17.1/lib/bundler/friendly_errors.rb)
     # RUBY.<main>(/home/yahonda/.rbenv/versions/jruby-9.2.1.0-dev/lib/ruby/gems/shared/gems/bundler-1.17.1/exe/bundle:1)
     # org.jruby.Ruby.runInterpreter(org/jruby/Ruby.java:864)
     # org.jruby.Ruby.loadFile(org/jruby/Ruby.java:2955)
     # org.jruby.RubyKernel.loadCommon(org/jruby/RubyKernel.java:1030)
     # org.jruby.RubyKernel.load(org/jruby/RubyKernel.java:1000)
     # org.jruby.RubyKernel$INVOKER$s$load.call(org/jruby/RubyKernel$INVOKER$s$load.gen)
     # home.yahonda.$_dot_rbenv.versions.jruby_minus_9_dot_2_dot_1_dot_0_minus_dev.bin.bundle.invokeOther22:load(home/yahonda/$_dot_rbenv/versions/jruby_minus_9_dot_2_dot_1_dot_0_minus_dev/bin//home/yahonda/.rbenv/versions/jruby-9.2.1.0-dev/bin/bundle:23)
     # home.yahonda.$_dot_rbenv.versions.jruby_minus_9_dot_2_dot_1_dot_0_minus_dev.bin.bundle.<main>(/home/yahonda/.rbenv/versions/jruby-9.2.1.0-dev/bin/bundle:23)
     # java.lang.invoke.MethodHandle.invokeWithArguments(java/lang/invoke/MethodHandle.java:627)
     # org.jruby.Ruby.runScript(org/jruby/Ruby.java:852)
     # org.jruby.Ruby.runNormally(org/jruby/Ruby.java:771)
     # org.jruby.Ruby.runNormally(org/jruby/Ruby.java:789)
     # org.jruby.Ruby.runFromMain(org/jruby/Ruby.java:601)
     # org.jruby.Main.doRunFromMain(org/jruby/Main.java:415)
     # org.jruby.Main.internalRun(org/jruby/Main.java:307)
     # org.jruby.Main.run(org/jruby/Main.java:234)
     # org.jruby.Main.main(org/jruby/Main.java:206)
     # ------------------
     # --- Caused by: ---
     # Java::OracleJdbc::OracleDatabaseException:
     #   ORA-12899: value too large for column "FIELD_WITH_LEADING_SPACE" (actual: 1022, maximum: 1020)
     #   oracle.jdbc.driver.T4CTTIoer11.processError(T4CTTIoer11.java:498)

Finished in 2.58 seconds (files took 5.08 seconds to load)
1 example, 1 failure, 1 error occurred outside of examples

Failed examples:

rspec ./spec/active_record/connection_adapters/oracle_enhanced/schema_dumper_spec.rb:341 # OracleEnhancedAdapter schema dump virtual columns should dump correctly

Coverage report generated for RSpec to /home/yahonda/git/oracle-enhanced/coverage. 0 / 2132 LOC (0.0%) covered.
$
@yahonda

This comment has been minimized.

Copy link
Author

yahonda commented Oct 26, 2018

Let me answer this question.

Do you have any thought what keyword argument-based call might be related to this?

Looks like limit: 300 is ignored then the default value limit: 255 chosen which results ORA-12899

t.virtual :short_name,      as: "COALESCE(first_name, last_name)", type: :string, limit: 300
t.virtual :field_with_leading_space, as: "' ' || first_name || ' '", limit: 300, type: :string

The table definition is below.

        create_table :test_names, force: true do |t|
          t.string :first_name
          t.string :last_name
          t.virtual :full_name,       as: "first_name || ', ' || last_name"
          t.virtual :short_name,      as: "COALESCE(first_name, last_name)", type: :string, limit: 300
          t.virtual :abbrev_name,     as: "SUBSTR(first_name,1,50) || ' ' || SUBSTR(last_name,1,1) || '.'", type: "VARCHAR(100)"
          t.virtual :name_ratio,      as: "(LENGTH(first_name)*10/LENGTH(last_name)*10)"
          t.column :full_name_length, :virtual, as: "length(first_name || ', ' || last_name)", type: :integer
          t.virtual :field_with_leading_space, as: "' ' || first_name || ' '", limit: 300, type: :string
        end
  • SQL statement generated with JRuby 9.2.1.0-dev
CREATE TABLE "TEST_NAMES" (
"ID" NUMBER(38) NOT NULL PRIMARY KEY, 
"FIRST_NAME" VARCHAR2(255), 
"LAST_NAME" VARCHAR2(255), 
"FULL_NAME"  AS (first_name || ', ' || last_name), 
"SHORT_NAME" VARCHAR2(255) AS (COALESCE(first_name, last_name)), 
"ABBREV_NAME" VARCHAR(100) AS (SUBSTR(first_name,1,50) || ' ' || SUBSTR(last_name,1,1) || '.'), 
"NAME_RATIO"  AS ((LENGTH(first_name)*10/LENGTH(last_name)*10)), 
"FULL_NAME_LENGTH" NUMBER(38) AS (length(first_name || ', ' || last_name)), 
"FIELD_WITH_LEADING_SPACE" VARCHAR2(255) AS (' ' || first_name || ' ')
)
  • SQL statement generated with CRuby 2.5.3
CREATE TABLE "TEST_NAMES" (
"ID" NUMBER(38) NOT NULL PRIMARY KEY,
"FIRST_NAME" VARCHAR2(255),
"LAST_NAME" VARCHAR2(255),
"FULL_NAME"  AS (first_name || ', ' || last_name),
"SHORT_NAME" VARCHAR2(300) AS (COALESCE(first_name, last_name)),
"ABBREV_NAME" VARCHAR(100) AS (SUBSTR(first_name,1,50) || ' ' || SUBSTR(last_name,1,1) || '.'),
"NAME_RATIO"  AS ((LENGTH(first_name)*10/LENGTH(last_name)*10)),
"FULL_NAME_LENGTH" NUMBER(38) AS (length(first_name || ', ' || last_name)),
"FIELD_WITH_LEADING_SPACE" VARCHAR2(300) AS (' ' || first_name || ' ')
)
  • Diff
$ diff -c jruby.txt cruby.txt
*** jruby.txt	2018-10-25 22:31:03.000000000 -0700
--- cruby.txt	2018-10-25 22:30:50.000000000 -0700
***************
*** 3,11 ****
  "FIRST_NAME" VARCHAR2(255),
  "LAST_NAME" VARCHAR2(255),
  "FULL_NAME"  AS (first_name || ', ' || last_name),
! "SHORT_NAME" VARCHAR2(255) AS (COALESCE(first_name, last_name)),
  "ABBREV_NAME" VARCHAR(100) AS (SUBSTR(first_name,1,50) || ' ' || SUBSTR(last_name,1,1) || '.'),
  "NAME_RATIO"  AS ((LENGTH(first_name)*10/LENGTH(last_name)*10)),
  "FULL_NAME_LENGTH" NUMBER(38) AS (length(first_name || ', ' || last_name)),
! "FIELD_WITH_LEADING_SPACE" VARCHAR2(255) AS (' ' || first_name || ' ')
  )
\ No newline at end of file
--- 3,11 ----
  "FIRST_NAME" VARCHAR2(255),
  "LAST_NAME" VARCHAR2(255),
  "FULL_NAME"  AS (first_name || ', ' || last_name),
! "SHORT_NAME" VARCHAR2(300) AS (COALESCE(first_name, last_name)),
  "ABBREV_NAME" VARCHAR(100) AS (SUBSTR(first_name,1,50) || ' ' || SUBSTR(last_name,1,1) || '.'),
  "NAME_RATIO"  AS ((LENGTH(first_name)*10/LENGTH(last_name)*10)),
  "FULL_NAME_LENGTH" NUMBER(38) AS (length(first_name || ', ' || last_name)),
! "FIELD_WITH_LEADING_SPACE" VARCHAR2(300) AS (' ' || first_name || ' ')
  )
\ No newline at end of file
$
@headius

This comment has been minimized.

Copy link
Member

headius commented Oct 26, 2018

Looks like limit: 300 is ignored then the default value limit: 255 chosen which results ORA-12899

Ok that and the trace are helpful.

@headius

This comment has been minimized.

Copy link
Member

headius commented Oct 26, 2018

@yahonda Ok, so I have looked through oracle-enhanced and AR source but my eyeballing has not found anything obvious. I believe the sequence of calls from the t.virtual proceeds via the following:

  1. The virtual method is an eval'ed method from the abstract schema_definitions.rb in AR, which receives **options and passes them to column as options.
  2. Those method column is defined in the same file, and receives options = {} and passes them to new_column_definition as options. The hash is duped and deleteed before being passed on.
  3. The new_column_definition is overridden by oracle-enhanced, in the oracle_enhanced schema_definitions.rb, and receives **options and uses a bare "zsuper" to call the base implementation.
  4. The base implementation is back in AR and receives **options before passing it on to create_column_definition as options.
  5. The last method I looked at, create_column_definitions, just instantiates a Struct with the given options value.

I came up with the following script to test to test these various mechanisms of passing stuff, but I could not reproduce the problem.

class A
  def definition(name, **options)
    p options
  end
end

class B < A
  def virtual(name, **options)
    p options
    column(name, options)
  end

  def column(name, options = {})
    options = options.dup
    options.delete(:index)
    p options
    definition(name, options)
  end

  def definition(name, **options)
    p options
    super
  end
end

B.new.virtual(:bar, as: "COALESCE(first_name, last_name)", type: :string, limit: 300)

Maybe I can toss the ball back to you to do a little puts debugging along this call chain, and you will be able to see where the options value is getting messed up?

Or perhaps you can answer for me how it determines it should use the default value of 255...where is that code? At this point I lean more toward it being a flaw in how we handle one of these various ways of passing the options Hash, but it could be a bug in the new Hash impl too.

@yahonda

This comment has been minimized.

Copy link
Author

yahonda commented Oct 26, 2018

Thanks for the investigation.

Or perhaps you can answer for me how it determines it should use the default value of 255...where is that code?

It is defined here.

https://github.com/rsim/oracle-enhanced/blob/61ddd671db76ac856ea67abbf4ac6e1a109f0ae7/lib/active_record/connection_adapters/oracle_enhanced_adapter.rb#L358

        string: { name: "VARCHAR2", limit: 255 },
@headius

This comment has been minimized.

Copy link
Member

headius commented Oct 26, 2018

@yahonda I did find that but I did not see how that value gets consumed elsewhere. I assume there's some piece of code that digs this value out if no limit is given, or perhaps does a merge?

@yahonda

This comment has been minimized.

Copy link
Author

yahonda commented Oct 26, 2018

I am not 100% sure if I answer your question correclty ActiveRecord::ConnectionAdapters::OracleEnhanced::TypeMetadata holds limit information defined below.

https://github.com/rsim/oracle-enhanced/blob/master/lib/active_record/connection_adapters/oracle_enhanced/type_metadata.rb

Here is the ActiveRecord::ConnectionAdapters::SqlTypeMetadata

https://github.com/rails/rails/blob/master/activerecord/lib/active_record/connection_adapters/sql_type_metadata.rb

@headius

This comment has been minimized.

Copy link
Member

headius commented Oct 26, 2018

@yahonda So can you check along that call path and figure out where the limit value is getting lost? Or point me toward simple directions so that I can get a test environment set up?

@yahonda

This comment has been minimized.

Copy link
Author

yahonda commented Oct 26, 2018

Let me create a Vagrant (or something) environment which runs Oracle database and Rails. Will let you know once it is ready.

@headius

This comment has been minimized.

Copy link
Member

headius commented Oct 27, 2018

@yahonda That would be perfect, thank you!

@yahonda

This comment has been minimized.

Copy link
Author

yahonda commented Oct 27, 2018

I have changed rails-dev-box to run Oracle database.

Please follow the installation steps at https://github.com/yahonda/rails-dev-box/tree/runs_oracle_18c_on_docker#requirements
You will need to accept the "OTN License Agreement" to download Oracle Database 18c and Oracle Instant client.

Since this rails-dev-box environment has CRuby 2.5 by default. Please also follow the steps below:

  • Install openjdk-8-jdk or whatever JDK JRuby supports
> vagrant ssh
vagrant@rails-dev-box:~$ sudo apt install openjdk-8-jdk
... 
Do you want to continue? [Y/n] Y
...
  • Install JRuby 9.2.1.0-dev
vagrant@rails-dev-box:~$ git clone https://github.com/rbenv/rbenv.git ~/.rbenv
vagrant@rails-dev-box:~$ echo 'export PATH="$HOME/.rbenv/bin:$PATH"' >> ~/.bashrc
vagrant@rails-dev-box:~$ echo 'eval "$(rbenv init -)"' >> ~/.bashrc
vagrant@rails-dev-box:~$ . ~/.bashrc
vagrant@rails-dev-box:~$ git clone https://github.com/rbenv/ruby-build.git ~/.rbenv/plugins/ruby-build
vagrant@rails-dev-box:~$ rbenv init
vagrant@rails-dev-box:~$ rbenv install jruby-9.2.1.0-dev
vagrant@rails-dev-box:~$ rbenv global jruby-9.2.1.0-dev
vagrant@rails-dev-box:~$ exit
  • Clone Oracle enhanced adapter and install Oracle JDBC driver
> vagrant ssh
vagrant@rails-dev-box:~$ git clone https://github.com/rsim/oracle-enhanced.git
vagrant@rails-dev-box:~$ cd oracle-enhanced/
vagrant@rails-dev-box:~/oracle-enhanced$ cp /usr/lib/oracle/18.3/client64/lib/ojdbc8.jar lib/.
  • Update initialization parameter and create database users
vagrant@rails-dev-box:~$ cd oracle-enhanced/
vagrant@rails-dev-box:~$ sqlplus sys/admin@//localhost:1521/ORCLPDB1 as sysdba
SQL> @spec/support/alter_system_set_open_cursors.sql
SQL> @spec/support/create_oracle_enhanced_users.sql
SQL> quit
  • Run Oracle enhanced adapter unit test
vagrant@rails-dev-box:~$ cd oracle-enhanced/
vagrant@rails-dev-box:~/oracle-enhanced$ gem install bundler
vagrant@rails-dev-box:~/oracle-enhanced$ bundle install
vagrant@rails-dev-box:~/oracle-enhanced$ bundle exec rspec

If you have questions, please let me know.

@headius

This comment has been minimized.

Copy link
Member

headius commented Oct 30, 2018

Ok, I'll give it a shot as soon as this stuff downloads.

@headius

This comment has been minimized.

Copy link
Member

headius commented Oct 30, 2018

I do not appear to have enough disk space to provision this VM 😨

@yahonda Can you give me some idea how much space I'm going to need? 30GB free after download did not appear to be enough.

@yahonda

This comment has been minimized.

Copy link
Author

yahonda commented Oct 30, 2018

Thanks for the update. Using my MacBook Pro 13 inch with 16GB memory, It took 47 min to run initial setup. After finishing the vagrant up it consumes about 4.4GB disk usage.

$ du -sm .
4416	.

It may take some more additional resource while vagrant up is running but no idea how much space exactly needed.

@headius

This comment has been minimized.

Copy link
Member

headius commented Oct 31, 2018

Well I tried again with 50GB free and it still filled it up! I'm trying again with 90GB.

On the bright side, it has forced me to clean out some old backups I'd been dragging along with me. 😁

@headius

This comment has been minimized.

Copy link
Member

headius commented Oct 31, 2018

Well it looks like the magic number was 60GB, but it seems to be stuck here...or this step takes a really long time with no CPU usage at all?

...
    default: Preparing to unpack oracle-instantclient18.3-sqlplus_18.3.0.0.0-2_amd64.deb ...
    default: Unpacking oracle-instantclient18.3-sqlplus (18.3.0.0.0-2) ...
    default: Setting up oracle-instantclient18.3-sqlplus (18.3.0.0.0-2) ...
    default: showing Oracle database status. Wait until DATABASE IS READY TO USE! message appears.
@yahonda

This comment has been minimized.

Copy link
Author

yahonda commented Oct 31, 2018

Good news!

default: showing Oracle database status. Wait until DATABASE IS READY TO USE! message appears.

It means a new database is being created. To see what is happening, open another terminal and cd to the same directory.

> vagrant ssh
$ sudo docker logs -f oracle-container

It should show the progress of creating database.

@headius

This comment has been minimized.

Copy link
Member

headius commented Oct 31, 2018

I have managed to reproduce the error!

  2) OracleEnhancedAdapter schema dump virtual columns should dump correctly
     Failure/Error: Unable to find oracle.jdbc.driver.T4CTTIoer11.processError(oracle/jdbc/driver/T4CTTIoer11.java to read failed line
     
     ActiveRecord::ValueTooLong:

There appears to be a handful of these, but also other errors:

  1) OracleEnhancedConnection create JDBC connection should create new connection using :url and tnsnames alias
     Failure/Error: Unable to find oracle.jdbc.driver.T4CConnection.logon(oracle/jdbc/driver/T4CConnection.java to read failed line
     
     Java::JavaSql::SQLRecoverableException:
       IO Error: Unknown host specified 

This appears to be the same issue as ValueTooLong:

  4) OracleEnhancedAdapter schema definition virtual columns should add virtual column with explicit type
     Failure/Error: expect(tf.limit).to be 100
     
       expected #<Integer:201> => 100
            got #<Integer:511> => 255

Two of these:

  5) OracleEnhancedAdapter schema definition virtual columns should change virtual column definition
     Failure/Error: expect(tf.type).to be :decimal
     
       expected #<Symbol:2120> => :decimal
            got #<Symbol:2122> => :integer

Likely the reported issue again:

  7) OracleEnhancedAdapter cache table columns without column caching should have correct sql types when 2 models are using the same table and AR query cache is enabled
     Failure/Error: expect(TestEmployee.columns.map(&:sql_type)).to eq(@column_sql_types)
     
       expected: ["NUMBER(38)", "VARCHAR2(20)", "VARCHAR2(25)", "VARCHAR2(46)", "DATE"]
            got: ["NUMBER(38)", "VARCHAR2(255)", "VARCHAR2(255)", "VARCHAR2(511)", "DATE"]

And then there's a whole stack of these (attn @ChrisBr):

  8) OracleEnhancedAdapter using offset and limit should return the records starting from offset n with offset(n)
     Failure/Error: Unable to find org.jruby.RubyHash.shift(RubyHash.java to read failed line
     
     ActiveRecord::StatementInvalid:
       Java::JavaLang::ArrayIndexOutOfBoundsException: 16: SELECT "TEST_EMPLOYEES".* FROM "TEST_EMPLOYEES" ORDER BY "TEST_EMPLOYEES"."SORT_ORDER" ASC FETCH FIRST :a1 ROWS ONLY
     # org.jruby.RubyHash.shift(RubyHash.java:1921)

My complete output with "full" JRuby stack traces is here: https://gist.github.com/headius/a7e1e819555f53f892947795c12f7983

@headius

This comment has been minimized.

Copy link
Member

headius commented Oct 31, 2018

The ArrayIndexOutOfBounds is reported in #5392 and should be fixed by #5393.

@headius

This comment has been minimized.

Copy link
Member

headius commented Oct 31, 2018

#5392 appears to be fixed.

I noticed two errors I did not mention before in the output:

  8) OracleEnhancedAdapter timestamp with timezone support / TIMESTAMP WITH TIME ZONE values from ActiveRecord model should return Time value from TIMESTAMP columns
     Failure/Error: expect(@employee.send(c).to_f).to eq(@now.to_f)
     
       expected: 1211832671.0
            got: 1211821871.0

  9) OracleEnhancedAdapter timestamp with timezone support / TIMESTAMP WITH TIME ZONE values from ActiveRecord model should return Time value with fractional seconds from TIMESTAMP columns
     Failure/Error: expect(@employee.send(c).to_f).to eq(@now.to_f)
     
       expected: 1211832671.00001
            got: 1211821871.00001
@headius

This comment has been minimized.

Copy link
Member

headius commented Oct 31, 2018

Ok the previous line of investigation does not appear to have produced anything useful 😢

Here's the options passed all the way into the ColumnDefinition struct. The limit appears to remain intact.

:column
{:as=>"COALESCE(first_name, last_name)", :type=>:string, :limit=>300}
{:as=>"COALESCE(first_name, last_name)", :type=>:string, :limit=>300}
:new
{:as=>"COALESCE(first_name, last_name)", :type=>:string, :limit=>300}
:create
{:as=>"COALESCE(first_name, last_name)", :type=>:string, :limit=>300, :primary_key=>false}
:create
#<struct ActiveRecord::ConnectionAdapters::ColumnDefinition name="short_name", type=:string, options={:as=>"COALESCE(first_name, last_name)", :type=>:string, :limit=>300, :primary_key=>false}, sql_type=nil>

Unless these option values are supposed to get expanded into the struct fields (does not appear to be the case based on the eval of additional methods like limit into the ColumnDefinition struct) I can't find evidence that there's a breakdown in keyword args leading up to ColumnDefinition. There may be (probably is) still a problem with keyword args after this point, assuming the options from the ColumnDefinition is again passed around as keyword arguments.

However I'm not sure how these values are used, and that will require additional spelunking.

@headius

This comment has been minimized.

Copy link
Member

headius commented Oct 31, 2018

I believe I've found the problem.

headius added a commit to headius/jruby that referenced this issue Oct 31, 2018

Do a fast dup of args when all symbols, due to kwarg processing.
Keyword argument processing currently mutates the incoming Hash,
calling delete as arguments are distributed to local variables.
This allows easy support for the keyword rest argument, since it
just gets whatever's left, but it forces us to make this defensive
copy. We also can skip some duping if the keyword arguments are
all literal and not just contained in an opaque hash. Of course
we really just need to wire up straight-through keyword args
dispatch.

Fixes jruby#5267.
@headius

This comment has been minimized.

Copy link
Member

headius commented Nov 1, 2018

I have confirmed that #5399 fixes it!

The problem was fairly simple...in our efforts to optimize keyword arguments in 9.2.1, I may have been a bit overzealous. One of the ways that we assign keyword arguments to local variables is by walking the incoming Hash and calling delete for each key we consume. Obviously if the original Hash passed in was used for anything else, it gets mutilated by this change.

In Rails, this happens during the processing of the TableDefinition and ColumnDefinition objects into SQL. As the ColumnDefinitions get visited, there's a couple layers of calls that receive options and spread out a few of the values into local variables. When they do this with limit, that value ends up disappearing from the options hash.

The trivial reproduction looks like this:

def foo(b: nil); end
opts = {b: 1}
foo(opts)
p opts # => {}

This will degrade keyword argument performance a bit, but we should still be ahead of 9.2. Future releases will do a better job of optimizing keyword arguments all the way through.

@headius

This comment has been minimized.

Copy link
Member

headius commented Nov 1, 2018

Oh BTW, with the patch in place, I only have three failures:

  1) OracleEnhancedConnection create JDBC connection should create new connection using :url and tnsnames alias
     Failure/Error: Unable to find oracle.jdbc.driver.T4CConnection.logon(oracle/jdbc/driver/T4CConnection.java to read failed line
     
     Java::JavaSql::SQLRecoverableException:
       IO Error: Unknown host specified 

And the two timestamp errors from #5267 (comment)

@yahonda Should I look into these or could they be something with this environment (even though I'm in your Vagrant setup).

headius added a commit to headius/jruby that referenced this issue Nov 1, 2018

@headius headius closed this in #5399 Nov 1, 2018

@yahonda

This comment has been minimized.

Copy link
Author

yahonda commented Nov 1, 2018

Thanks for the investigation and fix. I have confirmed this issue has been resolved.

For 3 failures, the first one does not reproduce in my environment since my rails-dev-box setup needs some more Oracle configuration. for the remaining two timestamp errors I'll take a look at them. It looks like something wrong with timezone configuration. If it needs JRuby side investigation I'll open another issue.

Thanks again for the fix.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
You can’t perform that action at this time.