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

ByteList java.lang.IllegalAccessError #5332

Closed
ahorek opened this issue Sep 28, 2018 · 2 comments
Closed

ByteList java.lang.IllegalAccessError #5332

ahorek opened this issue Sep 28, 2018 · 2 comments

Comments

@ahorek
Copy link
Contributor

ahorek commented Sep 28, 2018

Environment

jruby 9.2.1.0-SNAPSHOT (2.5.0) 2018-09-28 8e6904f Java HotSpot(TM) 64-Bit Server VM 25.181-b13 on 1.8.0_181-b13 +jit [linux-x86_64]
activerecord-jdbc-adapter (52.1-java)

Test

https://github.com/redmine/redmine
replaced gem "mysql2"
with
gem "activerecord-jdbcmysql-adapter"
rake test

Expected Behavior

should be able to run tests

it works on jruby 9.2.0.0, but fails on master

Actual Behavior

https://github.com/jruby/activerecord-jdbc-adapter/blob/97f84e23add067f82d7fadb6e5c8347e73db9ca3/src/java/arjdbc/util/QuotingUtils.java#L105

Unhandled Java exception: java.lang.IllegalAccessError: tried to access field org.jruby.util.ByteList.begin from class arjdbc.util.QuotingUtils
java.lang.IllegalAccessError: tried to access field org.jruby.util.ByteList.begin from class arjdbc.util.QuotingUtils
                   quoteCharAndDecorateWith at arjdbc/util/QuotingUtils.java:105
                          quote_column_name at arjdbc/mysql/MySQLModule.java:149
                                       call at arjdbc/mysql/MySQLModule$INVOKER$s$1$0$quote_column_name.gen:-1
                               cacheAndCall at org/jruby/runtime/callsite/CachingCallSite.java:344
                                       call at org/jruby/runtime/callsite/CachingCallSite.java:170
                                processCall at org/jruby/ir/interpreter/InterpreterEngine.java:315
                                  interpret at org/jruby/ir/interpreter/StartupInterpreterEngine.java:72
                           INTERPRET_METHOD at org/jruby/internal/runtime/methods/MixedModeIRMethod.java:103
                                       call at org/jruby/internal/runtime/methods/MixedModeIRMethod.java:90
                            unresolvedSuper at org/jruby/ir/runtime/IRRuntimeHelpers.java:1120
                                  interpret at org/jruby/ir/instructions/UnresolvedSuperInstr.java:85
                                processCall at org/jruby/ir/interpreter/InterpreterEngine.java:360
                                  interpret at org/jruby/ir/interpreter/StartupInterpreterEngine.java:72
                                  interpret at org/jruby/ir/interpreter/InterpreterEngine.java:84
                           INTERPRET_METHOD at org/jruby/internal/runtime/methods/MixedModeIRMethod.java:169
                                       call at org/jruby/internal/runtime/methods/MixedModeIRMethod.java:156
                                       call at org/jruby/internal/runtime/methods/DynamicMethod.java:202
                               cacheAndCall at org/jruby/runtime/callsite/CachingCallSite.java:344
                                       call at org/jruby/runtime/callsite/CachingCallSite.java:170
                                processCall at org/jruby/ir/interpreter/InterpreterEngine.java:315
                                  interpret at org/jruby/ir/interpreter/StartupInterpreterEngine.java:72
                                  interpret at org/jruby/ir/interpreter/InterpreterEngine.java:84
                           INTERPRET_METHOD at org/jruby/internal/runtime/methods/MixedModeIRMethod.java:169
                                       call at org/jruby/internal/runtime/methods/MixedModeIRMethod.java:156
                                       call at org/jruby/internal/runtime/methods/DynamicMethod.java:202
                               cacheAndCall at org/jruby/runtime/callsite/CachingCallSite.java:344
                                       call at org/jruby/runtime/callsite/CachingCallSite.java:170
                                processCall at org/jruby/ir/interpreter/InterpreterEngine.java:315
                                  interpret at org/jruby/ir/interpreter/StartupInterpreterEngine.java:72
                                  interpret at org/jruby/ir/interpreter/InterpreterEngine.java:84
                           INTERPRET_METHOD at org/jruby/internal/runtime/methods/MixedModeIRMethod.java:169
                                       call at org/jruby/internal/runtime/methods/MixedModeIRMethod.java:156
                                       call at org/jruby/internal/runtime/methods/DynamicMethod.java:202
                               cacheAndCall at org/jruby/runtime/callsite/CachingCallSite.java:344
                                       call at org/jruby/runtime/callsite/CachingCallSite.java:170
                                processCall at org/jruby/ir/interpreter/InterpreterEngine.java:315
                                  interpret at org/jruby/ir/interpreter/StartupInterpreterEngine.java:72
                                  interpret at org/jruby/ir/interpreter/InterpreterEngine.java:84
                           INTERPRET_METHOD at org/jruby/internal/runtime/methods/MixedModeIRMethod.java:169
                                       call at org/jruby/internal/runtime/methods/MixedModeIRMethod.java:156
                                       call at org/jruby/internal/runtime/methods/DynamicMethod.java:202
                               cacheAndCall at org/jruby/runtime/callsite/CachingCallSite.java:344
                                       call at org/jruby/runtime/callsite/CachingCallSite.java:170
                                processCall at org/jruby/ir/interpreter/InterpreterEngine.java:315
                                  interpret at org/jruby/ir/interpreter/StartupInterpreterEngine.java:72
                                  interpret at org/jruby/ir/interpreter/InterpreterEngine.java:84
                           INTERPRET_METHOD at org/jruby/internal/runtime/methods/MixedModeIRMethod.java:169
                                       call at org/jruby/internal/runtime/methods/MixedModeIRMethod.java:156
                                       call at org/jruby/internal/runtime/methods/DynamicMethod.java:202
                               cacheAndCall at org/jruby/runtime/callsite/CachingCallSite.java:344
                                       call at org/jruby/runtime/callsite/CachingCallSite.java:170
                                processCall at org/jruby/ir/interpreter/InterpreterEngine.java:315
                                  interpret at org/jruby/ir/interpreter/StartupInterpreterEngine.java:72
                           INTERPRET_METHOD at org/jruby/internal/runtime/methods/MixedModeIRMethod.java:103
                                       call at org/jruby/internal/runtime/methods/MixedModeIRMethod.java:90
                            unresolvedSuper at org/jruby/ir/runtime/IRRuntimeHelpers.java:1120
                                  interpret at org/jruby/ir/instructions/UnresolvedSuperInstr.java:85
                                processCall at org/jruby/ir/interpreter/InterpreterEngine.java:360
                                  interpret at org/jruby/ir/interpreter/StartupInterpreterEngine.java:72
                           INTERPRET_METHOD at org/jruby/internal/runtime/methods/MixedModeIRMethod.java:103
                                       call at org/jruby/internal/runtime/methods/MixedModeIRMethod.java:90
                            unresolvedSuper at org/jruby/ir/runtime/IRRuntimeHelpers.java:1120
                                  interpret at org/jruby/ir/instructions/UnresolvedSuperInstr.java:85
                                processCall at org/jruby/ir/interpreter/InterpreterEngine.java:360
                                  interpret at org/jruby/ir/interpreter/StartupInterpreterEngine.java:72
                                  interpret at org/jruby/ir/interpreter/InterpreterEngine.java:78
                           INTERPRET_METHOD at org/jruby/internal/runtime/methods/MixedModeIRMethod.java:136
                                       call at org/jruby/internal/runtime/methods/MixedModeIRMethod.java:123
                                       call at org/jruby/internal/runtime/methods/DynamicMethod.java:194
                               cacheAndCall at org/jruby/runtime/callsite/CachingCallSite.java:323
                                       call at org/jruby/runtime/callsite/CachingCallSite.java:139
                                processCall at org/jruby/ir/interpreter/InterpreterEngine.java:344
                                  interpret at org/jruby/ir/interpreter/StartupInterpreterEngine.java:72
                            INTERPRET_BLOCK at org/jruby/ir/interpreter/Interpreter.java:128
                            commonYieldPath at org/jruby/runtime/MixedModeIRBlockBody.java:151
                              yieldSpecific at org/jruby/runtime/IRBlockBody.java:89
                              yieldSpecific at org/jruby/runtime/Block.java:134
                              yieldSpecific at org/jruby/ir/targets/YieldSite.java:141
                            mon_synchronize at /home/ahorek/.rvm/rubies/jruby-head/lib/ruby/stdlib/monitor.rb:226
  RUBY$method$mon_synchronize$0$__VARARGS__ at home/ahorek/$_dot_rvm/rubies/jruby_minus_head/lib/ruby/stdlib//home/ahorek/.rvm/rubies/jruby-head/lib/ruby/stdlib/monitor.rb:-1
                                     .......
@kares
Copy link
Member

kares commented Oct 1, 2018

@headius we should keep BL's deprecated fields open for public access - for a while (due AR-JDBC)

@kares kares added this to the JRuby 9.2.1.0 milestone Oct 1, 2018
@kares
Copy link
Member

kares commented Oct 2, 2018

master should be working now, with 1ea6c9b, next we shall review BL API usage in other exts.

@kares kares closed this as completed Oct 2, 2018
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants