Migrating to ruby 1.9 and getting an invalid multibyte escape error

222 views
Skip to first unread message

Tim Uckun

unread,
May 21, 2009, 12:23:38 AM5/21/09
to soa...@googlegroups.com
Hey all.

I am trying to migrate my rails app to ruby 1.9.1 and am getting the following error.

invalid multibyte escape: /\A(?:[\x9\xa\xd\x20-\x7F]|(?:[\x8E\xA1-\xFE][\xA1-\xFE])|(?:\x8F[\xA1-\xFE][\xA1-\xFE]))*\z/

The full stacktrace is at the bottom. This is working fine in ruby 1.8.7

What can I do get past this problem?

Thanks.

----------Stacktrace----------------

rake aborted!
invalid multibyte escape: /\A(?:[\x9\xa\xd\x20-\x7F]|(?:[\x8E\xA1-\xFE][\xA1-\xFE])|(?:\x8F[\xA1-\xFE][\xA1-\xFE]))*\z/
/usr/local/lib/ruby19/gems/1.9.1/gems/soap4r-1.5.8/lib/xsd/charset.rb:137:in `initialize'
/usr/local/lib/ruby19/gems/1.9.1/gems/soap4r-1.5.8/lib/xsd/charset.rb:137:in `new'
/usr/local/lib/ruby19/gems/1.9.1/gems/soap4r-1.5.8/lib/xsd/charset.rb:137:in `<module:Charset>'
/usr/local/lib/ruby19/gems/1.9.1/gems/soap4r-1.5.8/lib/xsd/charset.rb:12:in `<module:XSD>'
/usr/local/lib/ruby19/gems/1.9.1/gems/soap4r-1.5.8/lib/xsd/charset.rb:9:in `<top (required)>'
/home/tim/source/nova/branches/ruby19/vendor/rails/activesupport/lib/active_support/dependencies.rb:156:in `require'
/home/tim/source/nova/branches/ruby19/vendor/rails/activesupport/lib/active_support/dependencies.rb:156:in `block in require'
/home/tim/source/nova/branches/ruby19/vendor/rails/activesupport/lib/active_support/dependencies.rb:521:in `new_constants_in'
/home/tim/source/nova/branches/ruby19/vendor/rails/activesupport/lib/active_support/dependencies.rb:156:in `require'
/usr/local/lib/ruby19/gems/1.9.1/gems/soap4r-1.5.8/lib/soap/soap.rb:10:in `<top (required)>'
/home/tim/source/nova/branches/ruby19/vendor/rails/activesupport/lib/active_support/dependencies.rb:156:in `require'
/home/tim/source/nova/branches/ruby19/vendor/rails/activesupport/lib/active_support/dependencies.rb:156:in `block in require'
/home/tim/source/nova/branches/ruby19/vendor/rails/activesupport/lib/active_support/dependencies.rb:521:in `new_constants_in'
/home/tim/source/nova/branches/ruby19/vendor/rails/activesupport/lib/active_support/dependencies.rb:156:in `require'
/usr/local/lib/ruby19/gems/1.9.1/gems/soap4r-1.5.8/lib/soap/rpc/driver.rb:9:in `<top (required)>'
/home/tim/source/nova/branches/ruby19/vendor/rails/activesupport/lib/active_support/dependencies.rb:156:in `require'
/home/tim/source/nova/branches/ruby19/vendor/rails/activesupport/lib/active_support/dependencies.rb:156:in `block in require'
/home/tim/source/nova/branches/ruby19/vendor/rails/activesupport/lib/active_support/dependencies.rb:521:in `new_constants_in'
/home/tim/source/nova/branches/ruby19/vendor/rails/activesupport/lib/active_support/dependencies.rb:156:in `require'
/home/tim/source/nova/branches/ruby19/vendor/gems/datanoise-actionwebservice-2.3.2/lib/action_web_service/client/soap_client.rb:1:in `<top (required)>'
/home/tim/source/nova/branches/ruby19/vendor/rails/activesupport/lib/active_support/dependencies.rb:156:in `require'
/home/tim/source/nova/branches/ruby19/vendor/rails/activesupport/lib/active_support/dependencies.rb:156:in `block in require'
/home/tim/source/nova/branches/ruby19/vendor/rails/activesupport/lib/active_support/dependencies.rb:521:in `new_constants_in'
/home/tim/source/nova/branches/ruby19/vendor/rails/activesupport/lib/active_support/dependencies.rb:156:in `require'
/home/tim/source/nova/branches/ruby19/vendor/gems/datanoise-actionwebservice-2.3.2/lib/action_web_service/client.rb:2:in `<top (required)>'
/home/tim/source/nova/branches/ruby19/vendor/rails/activesupport/lib/active_support/dependencies.rb:156:in `require'
/home/tim/source/nova/branches/ruby19/vendor/rails/activesupport/lib/active_support/dependencies.rb:156:in `block in require'
/home/tim/source/nova/branches/ruby19/vendor/rails/activesupport/lib/active_support/dependencies.rb:521:in `new_constants_in'
/home/tim/source/nova/branches/ruby19/vendor/rails/activesupport/lib/active_support/dependencies.rb:156:in `require'
/home/tim/source/nova/branches/ruby19/vendor/gems/datanoise-actionwebservice-2.3.2/lib/action_web_service.rb:40:in `<top (required)>'
/home/tim/source/nova/branches/ruby19/vendor/rails/activesupport/lib/active_support/dependencies.rb:156:in `require'
/home/tim/source/nova/branches/ruby19/vendor/rails/activesupport/lib/active_support/dependencies.rb:156:in `block in require'
/home/tim/source/nova/branches/ruby19/vendor/rails/activesupport/lib/active_support/dependencies.rb:521:in `new_constants_in'
/home/tim/source/nova/branches/ruby19/vendor/rails/activesupport/lib/active_support/dependencies.rb:156:in `require'
/home/tim/source/nova/branches/ruby19/vendor/gems/datanoise-actionwebservice-2.3.2/lib/actionwebservice.rb:1:in `<top (required)>'
/home/tim/source/nova/branches/ruby19/vendor/rails/activesupport/lib/active_support/dependencies.rb:156:in `require'
/home/tim/source/nova/branches/ruby19/vendor/rails/activesupport/lib/active_support/dependencies.rb:156:in `block in require'
/home/tim/source/nova/branches/ruby19/vendor/rails/activesupport/lib/active_support/dependencies.rb:521:in `new_constants_in'
/home/tim/source/nova/branches/ruby19/vendor/rails/activesupport/lib/active_support/dependencies.rb:156:in `require'
/home/tim/source/nova/branches/ruby19/vendor/rails/railties/lib/rails/gem_dependency.rb:179:in `load'
/home/tim/source/nova/branches/ruby19/vendor/rails/railties/lib/initializer.rb:305:in `block in load_gems'
/home/tim/source/nova/branches/ruby19/vendor/rails/railties/lib/initializer.rb:305:in `each'
/home/tim/source/nova/branches/ruby19/vendor/rails/railties/lib/initializer.rb:305:in `load_gems'
/home/tim/source/nova/branches/ruby19/vendor/rails/railties/lib/initializer.rb:162:in `process'
/home/tim/source/nova/branches/ruby19/vendor/rails/railties/lib/initializer.rb:113:in `run'
/home/tim/source/nova/branches/ruby19/config/environment.rb:14:in `<top (required)>'
/home/tim/source/nova/branches/ruby19/vendor/rails/activesupport/lib/active_support/dependencies.rb:156:in `require'
/home/tim/source/nova/branches/ruby19/vendor/rails/activesupport/lib/active_support/dependencies.rb:156:in `block in require'
/home/tim/source/nova/branches/ruby19/vendor/rails/activesupport/lib/active_support/dependencies.rb:521:in `new_constants_in'
/home/tim/source/nova/branches/ruby19/vendor/rails/activesupport/lib/active_support/dependencies.rb:156:in `require'
/home/tim/source/nova/branches/ruby19/vendor/rails/railties/lib/tasks/misc.rake:4:in `block in <top (required)>'
/usr/local/lib/ruby19/1.9.1/rake.rb:613:in `call'
/usr/local/lib/ruby19/1.9.1/rake.rb:613:in `block in execute'
/usr/local/lib/ruby19/1.9.1/rake.rb:608:in `each'
/usr/local/lib/ruby19/1.9.1/rake.rb:608:in `execute'
/usr/local/lib/ruby19/1.9.1/rake.rb:574:in `block in invoke_with_call_chain'
/usr/local/lib/ruby19/1.9.1/monitor.rb:190:in `mon_synchronize'
/usr/local/lib/ruby19/1.9.1/rake.rb:567:in `invoke_with_call_chain'
/usr/local/lib/ruby19/1.9.1/rake.rb:584:in `block in invoke_prerequisites'
/usr/local/lib/ruby19/1.9.1/rake.rb:581:in `each'
/usr/local/lib/ruby19/1.9.1/rake.rb:581:in `invoke_prerequisites'
/usr/local/lib/ruby19/1.9.1/rake.rb:573:in `block in invoke_with_call_chain'
/usr/local/lib/ruby19/1.9.1/monitor.rb:190:in `mon_synchronize'
/usr/local/lib/ruby19/1.9.1/rake.rb:567:in `invoke_with_call_chain'
/usr/local/lib/ruby19/1.9.1/rake.rb:584:in `block in invoke_prerequisites'
/usr/local/lib/ruby19/1.9.1/rake.rb:581:in `each'
/usr/local/lib/ruby19/1.9.1/rake.rb:581:in `invoke_prerequisites'
/usr/local/lib/ruby19/1.9.1/rake.rb:573:in `block in invoke_with_call_chain'
/usr/local/lib/ruby19/1.9.1/monitor.rb:190:in `mon_synchronize'
/usr/local/lib/ruby19/1.9.1/rake.rb:567:in `invoke_with_call_chain'
/usr/local/lib/ruby19/1.9.1/rake.rb:584:in `block in invoke_prerequisites'
/usr/local/lib/ruby19/1.9.1/rake.rb:581:in `each'
/usr/local/lib/ruby19/1.9.1/rake.rb:581:in `invoke_prerequisites'
/usr/local/lib/ruby19/1.9.1/rake.rb:573:in `block in invoke_with_call_chain'
/usr/local/lib/ruby19/1.9.1/monitor.rb:190:in `mon_synchronize'
/usr/local/lib/ruby19/1.9.1/rake.rb:567:in `invoke_with_call_chain'
/usr/local/lib/ruby19/1.9.1/rake.rb:584:in `block in invoke_prerequisites'
/usr/local/lib/ruby19/1.9.1/rake.rb:581:in `each'
/usr/local/lib/ruby19/1.9.1/rake.rb:581:in `invoke_prerequisites'
/usr/local/lib/ruby19/1.9.1/rake.rb:573:in `block in invoke_with_call_chain'
/usr/local/lib/ruby19/1.9.1/monitor.rb:190:in `mon_synchronize'
/usr/local/lib/ruby19/1.9.1/rake.rb:567:in `invoke_with_call_chain'
/usr/local/lib/ruby19/1.9.1/rake.rb:560:in `invoke'
/usr/local/lib/ruby19/1.9.1/rake.rb:2012:in `invoke_task'
/usr/local/lib/ruby19/1.9.1/rake.rb:1990:in `block (2 levels) in top_level'
/usr/local/lib/ruby19/1.9.1/rake.rb:1990:in `each'
/usr/local/lib/ruby19/1.9.1/rake.rb:1990:in `block in top_level'
/usr/local/lib/ruby19/1.9.1/rake.rb:2029:in `standard_exception_handling'
/usr/local/lib/ruby19/1.9.1/rake.rb:1984:in `top_level'
/usr/local/lib/ruby19/1.9.1/rake.rb:1963:in `block in run'
/usr/local/lib/ruby19/1.9.1/rake.rb:2029:in `standard_exception_handling'
/usr/local/lib/ruby19/1.9.1/rake.rb:1960:in `run'
/usr/local/bin/rake19:31:in `<main>'

Keith Bennett

unread,
May 21, 2009, 7:47:55 AM5/21/09
to soa...@googlegroups.com
Tim -

I don't know for sure, but it may have something to do with the fact
that 1.9 introduced changes in character encodings (google "ruby 1.9
character encoding" for some hits).

If you don't get an answer here, I'd suggest asking on a general Ruby
discussion group -- it sounds like something they could answer.

Good luck.

- Keith

---
Keith R. Bennett
Senior Software Consultant
Business: http://www.bbsinc.biz
Linked In: http://www.linkedin.com/in/keithrbennett
Blogs: http://krbtech.wordpress.com, http://keithrbennett.wordpress.com

> /usr/local/lib/ruby19/gems/1.9.1/gems/soap4r-1.5.8/lib/soap/rpc/
> driver.rb:9:in `<top (required)>'
> /home/tim/source/nova/branches/ruby19/vendor/rails/activesupport/lib/
> active_support/dependencies.rb:156:in `require'
> /home/tim/source/nova/branches/ruby19/vendor/rails/activesupport/lib/

> active_support/dependencies.rb:156:in `block in require'
> /home/tim/source/nova/branches/ruby19/vendor/rails/activesupport/lib/
> active_support/dependencies.rb:521:in `new_constants_in'
> /home/tim/source/nova/branches/ruby19/vendor/rails/activesupport/lib/
> active_support/dependencies.rb:156:in `require'

> /home/tim/source/nova/branches/ruby19/vendor/gems/datanoise-
> actionwebservice-2.3.2/lib/action_web_service/client/soap_client.rb:
> 1:in `<top (required)>'
> /home/tim/source/nova/branches/ruby19/vendor/rails/activesupport/lib/
> active_support/dependencies.rb:156:in `require'
> /home/tim/source/nova/branches/ruby19/vendor/rails/activesupport/lib/

> active_support/dependencies.rb:156:in `block in require'
> /home/tim/source/nova/branches/ruby19/vendor/rails/activesupport/lib/
> active_support/dependencies.rb:521:in `new_constants_in'
> /home/tim/source/nova/branches/ruby19/vendor/rails/activesupport/lib/
> active_support/dependencies.rb:156:in `require'

> /home/tim/source/nova/branches/ruby19/vendor/gems/datanoise-
> actionwebservice-2.3.2/lib/action_web_service/client.rb:2:in `<top
> (required)>'
> /home/tim/source/nova/branches/ruby19/vendor/rails/activesupport/lib/
> active_support/dependencies.rb:156:in `require'
> /home/tim/source/nova/branches/ruby19/vendor/rails/activesupport/lib/

> active_support/dependencies.rb:156:in `block in require'
> /home/tim/source/nova/branches/ruby19/vendor/rails/activesupport/lib/
> active_support/dependencies.rb:521:in `new_constants_in'
> /home/tim/source/nova/branches/ruby19/vendor/rails/activesupport/lib/
> active_support/dependencies.rb:156:in `require'

> /home/tim/source/nova/branches/ruby19/vendor/gems/datanoise-
> actionwebservice-2.3.2/lib/action_web_service.rb:40:in `<top
> (required)>'
> /home/tim/source/nova/branches/ruby19/vendor/rails/activesupport/lib/
> active_support/dependencies.rb:156:in `require'
> /home/tim/source/nova/branches/ruby19/vendor/rails/activesupport/lib/

> active_support/dependencies.rb:156:in `block in require'
> /home/tim/source/nova/branches/ruby19/vendor/rails/activesupport/lib/
> active_support/dependencies.rb:521:in `new_constants_in'
> /home/tim/source/nova/branches/ruby19/vendor/rails/activesupport/lib/
> active_support/dependencies.rb:156:in `require'

> /home/tim/source/nova/branches/ruby19/vendor/gems/datanoise-
> actionwebservice-2.3.2/lib/actionwebservice.rb:1:in `<top (required)>'
> /home/tim/source/nova/branches/ruby19/vendor/rails/activesupport/lib/
> active_support/dependencies.rb:156:in `require'
> /home/tim/source/nova/branches/ruby19/vendor/rails/activesupport/lib/

> active_support/dependencies.rb:156:in `block in require'
> /home/tim/source/nova/branches/ruby19/vendor/rails/activesupport/lib/
> active_support/dependencies.rb:521:in `new_constants_in'
> /home/tim/source/nova/branches/ruby19/vendor/rails/activesupport/lib/
> active_support/dependencies.rb:156:in `require'

> /home/tim/source/nova/branches/ruby19/vendor/rails/railties/lib/
> rails/gem_dependency.rb:179:in `load'
> /home/tim/source/nova/branches/ruby19/vendor/rails/railties/lib/

> initializer.rb:305:in `block in load_gems'
> /home/tim/source/nova/branches/ruby19/vendor/rails/railties/lib/
> initializer.rb:305:in `each'
> /home/tim/source/nova/branches/ruby19/vendor/rails/railties/lib/
> initializer.rb:305:in `load_gems'
> /home/tim/source/nova/branches/ruby19/vendor/rails/railties/lib/
> initializer.rb:162:in `process'
> /home/tim/source/nova/branches/ruby19/vendor/rails/railties/lib/
> initializer.rb:113:in `run'
> /home/tim/source/nova/branches/ruby19/config/environment.rb:14:in
> `<top (required)>'
> /home/tim/source/nova/branches/ruby19/vendor/rails/activesupport/lib/
> active_support/dependencies.rb:156:in `require'
> /home/tim/source/nova/branches/ruby19/vendor/rails/activesupport/lib/

> active_support/dependencies.rb:156:in `block in require'
> /home/tim/source/nova/branches/ruby19/vendor/rails/activesupport/lib/
> active_support/dependencies.rb:521:in `new_constants_in'
> /home/tim/source/nova/branches/ruby19/vendor/rails/activesupport/lib/
> active_support/dependencies.rb:156:in `require'

> /home/tim/source/nova/branches/ruby19/vendor/rails/railties/lib/

NAKAMURA, Hiroshi

unread,
May 21, 2009, 8:01:53 AM5/21/09
to soa...@googlegroups.com
Hi all,

I'm getting back to soap4r very slowly. Now I'm working on new release
or httpclient (*1). Soap4r/1.5.9 should come next (*2).

Character encoding support of 1.9 is incompatible with one of soap4r.
Soap4r uses UTF-8 as a pivot for converting CES by itself so it needs
rather big rewriting of soap4r. I'll give it a try after soap4r/1.5.9.

(*1) http://dev.ctor.org/http-access2/milestone/2.1.5
(*2) http://dev.ctor.org/soap4r/milestone/1.5.9

Regards,
// NaHi

On Thu, May 21, 2009 at 20:47, Keith Bennett <keithr...@gmail.com> wrote:
> I don't know for sure, but it may have something to do with the fact that
> 1.9 introduced changes in character encodings (google "ruby 1.9 character
> encoding" for some hits).

[snip]

Tim Uckun

unread,
May 21, 2009, 8:21:56 AM5/21/09
to soa...@googlegroups.com

I'm getting back to soap4r very slowly. Now I'm working on new release
or httpclient (*1). Soap4r/1.5.9 should come next (*2).

Character encoding support of 1.9 is incompatible with one of soap4r.
Soap4r uses UTF-8 as a pivot for converting CES by itself so it needs
rather big rewriting of soap4r. I'll give it a try after soap4r/1.5.9.

Ok thanks.

I wonder if you could leverage the work of other people such as libxml-ruby, nokogiri or whatever rails is using.  I think as of rails 2.3 their XML processing has switchable back ends.

Just a suggestion.

 

Reply all
Reply to author
Forward
0 new messages