Francisco R. Santos created JRUBY-6354: ------------------------------------------
Summary: SyntaxError: (RegexpError) invalid multibyte escape in 1.9 mode in the 50th iteration Key: JRUBY-6354 URL: https://jira.codehaus.org/browse/JRUBY-6354 Project: JRuby Issue Type: Bug Components: Core Classes/Modules, Ruby 1.9.2 Affects Versions: JRuby 1.6.5 Environment: JRuby 1.6.5 Java(TM) SE Runtime Environment (build 1.6.0_26-b03) Ubuntu Oneiric/Debian Lenny Trinidad 1.3.2 Reporter: Francisco R. Santos Attachments: test.rb In a yet to be deployed application, we get the following error trying to connect to external resources (Exchange, GMail): (RegexpError) invalid multibyte escape: /\A(?-mix:[\r\n\t ]+)?((?-mix:[^\x00- ()<>@,;:\\"\/\[\]?={}\x7f]+))(?-mix:[\r\n\t ]+)?\/((?-mix:[^\x00- ()<>@,;:\\"\/\[\]?={}\x7f]+))(?-mix:[\r\n\t ]+)?((?-mix:(?:;(?-mix:[\r\n\t ]+)?(?-mix:[^\x00- ()<>@,;:\\"\/\[\]?={}\x7f]+)(?-mix:[\r\n\t ]+)?=(?-mix:[\r\n\t ]+)?(?:(?-mix:[^\x00- ()<>@,;:\\"\/\[\]?={}\x7f]+)|(?-mix:"(?:[\r\n\t !#-\[\]-~\x80-\xff]|\\[\x00-\x7f])*"))(?-mix:[\r\n\t ]+)?)*))(?:;(?-mix:[\r\n\t ]+)?)?\z/ /opt/jruby/lib/ruby/1.9/open-uri.rb:463:in `content_type_parse' /opt/jruby/lib/ruby/1.9/open-uri.rb:498:in `charset' /opt/jruby/lib/ruby/1.9/open-uri.rb:422:in `meta_setup_encoding' /opt/jruby/lib/ruby/1.9/open-uri.rb:443:in `meta_add_field' /home/bbvaui/app/shared/bundle/jruby/1.9/gems/httpclient-2.2.4/lib/httpclient/http.rb:229:in `set_body_encoding' /home/bbvaui/app/shared/bundle/jruby/1.9/gems/httpclient-2.2.4/lib/httpclient/http.rb:313:in `set_headers' /home/bbvaui/app/shared/bundle/jruby/1.9/gems/httpclient-2.2.4/lib/httpclient.rb:1115:in `do_get_header' /home/bbvaui/app/shared/bundle/jruby/1.9/gems/httpclient-2.2.4/lib/httpclient.rb:1063:in `do_get_block' /home/bbvaui/app/shared/bundle/jruby/1.9/gems/httpclient-2.2.4/lib/httpclient.rb:869:in `do_request' /home/bbvaui/app/shared/bundle/jruby/1.9/gems/httpclient-2.2.4/lib/httpclient.rb:956:in `protect_keep_alive_disconnected' /home/bbvaui/app/shared/bundle/jruby/1.9/gems/httpclient-2.2.4/lib/httpclient.rb:868:in `do_request' /home/bbvaui/app/shared/bundle/jruby/1.9/gems/httpclient-2.2.4/lib/httpclient.rb:756:in `request' This errors starts to happen after some requests, and then, we have to restart the Trinidad server to get rid of it. Some requests later, we get it again. I have reduced the error to a test case, that always fails at the 50th iteration. The test fails with an empty rails application (using only rails 3.1.3 gem in the Gemset). $ jruby --1.9 -v jruby 1.6.5 (ruby-1.9.2-p136) (2011-10-25 9dcd388) (Java HotSpot(TM) Server VM 1.6.0_26) [linux-i386-java] $ jruby -S --1.9 rails r test.rb JRuby limited openssl loaded. http://jruby.org/openssl gem install jruby-openssl for full support. Test #1 Test #2 Test #3 Test #4 Test #5 Test #6 Test #7 Test #8 Test #9 Test #10 Test #11 Test #12 Test #13 Test #14 Test #15 Test #16 Test #17 Test #18 Test #19 Test #20 Test #21 Test #22 Test #23 Test #24 Test #25 Test #26 Test #27 Test #28 Test #29 Test #30 Test #31 Test #32 Test #33 Test #34 Test #35 Test #36 Test #37 Test #38 Test #39 Test #40 Test #41 Test #42 Test #43 Test #44 Test #45 Test #46 Test #47 Test #48 Test #49 Test #50 SyntaxError: (RegexpError) invalid multibyte escape: /\A(?-mix:[\r\n\t ]+)?((?-mix:[^\x00- ()<>@,;:\\"\/\[\]?={}\x7f]+))(?-mix:[\r\n\t ]+)?\/((?-mix:[^\x00- ()<>@,;:\\"\/\[\]?={}\x7f]+))(?-mix:[\r\n\t ]+)?((?-mix:(?:;(?-mix:[\r\n\t ]+)?(?-mix:[^\x00- ()<>@,;:\\"\/\[\]?={}\x7f]+)(?-mix:[\r\n\t ]+)?=(?-mix:[\r\n\t ]+)?(?:(?-mix:[^\x00- ()<>@,;:\\"\/\[\]?={}\x7f]+)|(?-mix:"(?:[\r\n\t !#-\[\]-~\x80-\xff]|\\[\x00-\x7f])*"))(?-mix:[\r\n\t ]+)?)*))(?:;(?-mix:[\r\n\t ]+)?)?\z/ test_regexp at test.rb:8 (root) at test.rb:17 times at org/jruby/RubyFixnum.java:256 (root) at test.rb:11 eval at org/jruby/RubyKernel.java:1093 (root) at /home/frsantos/.rvm/gems/jruby-1.6.5@test/gems/railties-3.1.3/lib/rails/commands/runner.rb:47 require at org/jruby/RubyKernel.java:1047 (root) at /home/frsantos/.rvm/gems/jruby-1.6.5@test/gems/railties-3.1.3/lib/rails/commands/runner.rb:63 require at org/jruby/RubyKernel.java:1047 (root) at script/rails:6 Without rails, it fails at the first iteration. $ jruby --1.9 test.rb Test #1 SyntaxError: (RegexpError) invalid multibyte escape: /\A(?-mix:[\r\n\t ]+)?((?-mix:[^\x00- ()<>@,;:\\"\/\[\]?={}\x7f]+))(?-mix:[\r\n\t ]+)?\/((?-mix:[^\x00- ()<>@,;:\\"\/\[\]?={}\x7f]+))(?-mix:[\r\n\t ]+)?((?-mix:(?:;(?-mix:[\r\n\t ]+)?(?-mix:[^\x00- ()<>@,;:\\"\/\[\]?={}\x7f]+)(?-mix:[\r\n\t ]+)?=(?-mix:[\r\n\t ]+)?(?:(?-mix:[^\x00- ()<>@,;:\\"\/\[\]?={}\x7f]+)|(?-mix:"(?:[\r\n\t !#-\[\]-~\x80-\xff]|\\[\x00-\x7f])*"))(?-mix:[\r\n\t ]+)?)*))(?:;(?-mix:[\r\n\t ]+)?)?\z/ test_regexp at test.rb:8 __file__ at test.rb:17 times at org/jruby/RubyFixnum.java:256 (root) at test.rb:11 Using MRI 1.9.2 or jruby in 1.8 mode, the test does not fail. $ jruby --1.8 test.rb Test #1 Test #2 . . . Test #100 -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators: https://jira.codehaus.org/secure/ContactAdministrators!default.jspa For more information on JIRA, see: http://www.atlassian.com/software/jira --------------------------------------------------------------------- To unsubscribe from this list, please visit: http://xircles.codehaus.org/manage_email