embulk/embulk-output-bigquery

[embulk 0.8.8, 0.8.9] java.lang.ArrayIndexOutOfBoundsException at org.jcodings.specific.BaseUTF8Encoding.mbcCaseFold(BaseUTF8Encoding.java:167)

sonots opened this issue · 3 comments

jruby 9.0.5.0 has this issue > jruby/jruby#3670.
Downgrading to jruby 9.0.4.0 resolves for now.

Below is the log which I encountered:

java.lang.ArrayIndexOutOfBoundsException: 18
    at org.jcodings.specific.BaseUTF8Encoding.mbcCaseFold(BaseUTF8Encoding.java:167)
    at org.jcodings.specific.UTF8Encoding.mbcCaseFold(UTF8Encoding.java:24)
    at org.joni.SearchAlgorithm$SLOW_IC.lowerCaseMatch(SearchAlgorithm.java:238)
    at org.joni.SearchAlgorithm$SLOW_IC.search(SearchAlgorithm.java:206)
    at org.joni.Matcher.forwardSearchRange(Matcher.java:140)
    at org.joni.Matcher.searchInterruptible(Matcher.java:465)
    at org.jruby.RubyRegexp$SearchMatchTask.run(RubyRegexp.java:271)
    at org.jruby.RubyThread.executeBlockingTask(RubyThread.java:1337)
    at org.jruby.RubyRegexp.matcherSearch(RubyRegexp.java:233)
    at org.jruby.RubyRegexp.search19(RubyRegexp.java:1129)
    at org.jruby.RubyRegexp.search19(RubyRegexp.java:1084)
    at org.jruby.RubyRegexp.matchPos(RubyRegexp.java:1060)
    at org.jruby.RubyRegexp.op_match19(RubyRegexp.java:999)
    at org.jruby.RubyRegexp$INVOKER$i$1$0$op_match19.call(RubyRegexp$INVOKER$i$1$0$op_match19.gen)
    at org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:161)
    at vendor.bundle.jruby.$2_dot_2_dot_0.gems.httpclient_minus_2_dot_7_dot_1.lib.httpclient.jruby_ssl_socket.invokeOther26:=~(vendor/bundle/jruby/2.2.0/gems/httpclient-2.7.1/lib/httpclient/jruby_ssl_socket.rb)
    at vendor.bundle.jruby.$2_dot_2_dot_0.gems.httpclient_minus_2_dot_7_dot_1.lib.httpclient.jruby_ssl_socket.RUBY$method$match_identify$0(vendor/bundle/jruby/2.2.0/gems/httpclient-2.7.1/lib/httpclient/jruby_ssl_socket.rb:408)

To downgrade built-in jruby of embulk, modify https://github.com/embulk/embulk/blob/672e16978c25adb82d697b8f5261ebf0c00948a4/build.gradle#L22, and rebuild with ./gradlew cli and get pkg/embulk-VERSION.jar.

jruby 9.1.0.0 is released, and this problem looks to be fixed.

embulk 0.8.10 is released with jruby 9.1.2.0, this problem should be fixed.
Please note that embulk 0.8.10 has another issue #55, please use 0.8.11