Skip to content
This repository has been archived by the owner on May 17, 2021. It is now read-only.

UTF-8 error #64

Closed
michaelmior opened this issue Apr 16, 2014 · 8 comments
Closed

UTF-8 error #64

michaelmior opened this issue Apr 16, 2014 · 8 comments
Assignees
Labels

Comments

@michaelmior
Copy link

When trying to access the Hub, I just get a blank screen. It seems all.js throws a 500. If I request it directly, I get the following error message:

{"error":"U+00C2 from UTF-8 to US-ASCII"}

Any thoughts on what could be causing this?

@jamesrwhite
Copy link
Owner

Interesting, what OS version and Ruby version are you running?

@jamesrwhite jamesrwhite self-assigned this Apr 16, 2014
@jamesrwhite
Copy link
Owner

Also could you stop the server minicron server stop and start it again using minicron server start --debug --trace and see if you get a stack trace?

@michaelmior
Copy link
Author

Aha! The problem seems to occur only when starting minicron via Upstart. I suspect there's some environment variables set up in shell that aren't exported when running via Upstart.

@jamesrwhite
Copy link
Owner

Oh weird, could you still send over that info if possible so I can reproduce and make sure it's definitely not a bug?

@michaelmior
Copy link
Author

Yup. Just needed to figure out how to recover the logs. Here's the relevant piece.

U+00C2 from UTF-8 to US-ASCII
/var/lib/gems/2.0.0/gems/sinatra-assetpack-0.3.2/lib/sinatra/assetpack/package.rb:112:in `encode'
/var/lib/gems/2.0.0/gems/sinatra-assetpack-0.3.2/lib/sinatra/assetpack/package.rb:112:in `block in combined'
/var/lib/gems/2.0.0/gems/sinatra-assetpack-0.3.2/lib/sinatra/assetpack/package.rb:108:in `map'
/var/lib/gems/2.0.0/gems/sinatra-assetpack-0.3.2/lib/sinatra/assetpack/package.rb:108:in `combined'
/var/lib/gems/2.0.0/gems/sinatra-assetpack-0.3.2/lib/sinatra/assetpack/package.rb:94:in `minify'
/var/lib/gems/2.0.0/gems/sinatra-assetpack-0.3.2/lib/sinatra/assetpack/class_methods.rb:32:in `block (3 levels) in add_compressed_routes!'
/var/lib/gems/2.0.0/gems/tilt-1.4.1/lib/tilt.rb:127:in `fetch'
/var/lib/gems/2.0.0/gems/sinatra-assetpack-0.3.2/lib/sinatra/assetpack/class_methods.rb:31:in `block (2 levels) in add_compressed_routes!'
/var/lib/gems/2.0.0/gems/sinatra-1.4.4/lib/sinatra/base.rb:1593:in `call'
/var/lib/gems/2.0.0/gems/sinatra-1.4.4/lib/sinatra/base.rb:1593:in `block in compile!'
/var/lib/gems/2.0.0/gems/sinatra-1.4.4/lib/sinatra/base.rb:957:in `[]'
/var/lib/gems/2.0.0/gems/sinatra-1.4.4/lib/sinatra/base.rb:957:in `block (3 levels) in route!'
/var/lib/gems/2.0.0/gems/sinatra-1.4.4/lib/sinatra/base.rb:976:in `route_eval'
/var/lib/gems/2.0.0/gems/sinatra-1.4.4/lib/sinatra/base.rb:957:in `block (2 levels) in route!'
/var/lib/gems/2.0.0/gems/sinatra-1.4.4/lib/sinatra/base.rb:997:in `block in process_route'
/var/lib/gems/2.0.0/gems/sinatra-1.4.4/lib/sinatra/base.rb:995:in `catch'
/var/lib/gems/2.0.0/gems/sinatra-1.4.4/lib/sinatra/base.rb:995:in `process_route'
/var/lib/gems/2.0.0/gems/sinatra-1.4.4/lib/sinatra/base.rb:955:in `block in route!'
/var/lib/gems/2.0.0/gems/sinatra-1.4.4/lib/sinatra/base.rb:954:in `each'
/var/lib/gems/2.0.0/gems/sinatra-1.4.4/lib/sinatra/base.rb:954:in `route!'
/var/lib/gems/2.0.0/gems/sinatra-1.4.4/lib/sinatra/base.rb:1067:in `block in dispatch!'
/var/lib/gems/2.0.0/gems/sinatra-1.4.4/lib/sinatra/base.rb:1049:in `block in invoke'
/var/lib/gems/2.0.0/gems/sinatra-1.4.4/lib/sinatra/base.rb:1049:in `catch'
/var/lib/gems/2.0.0/gems/sinatra-1.4.4/lib/sinatra/base.rb:1049:in `invoke'
/var/lib/gems/2.0.0/gems/sinatra-1.4.4/lib/sinatra/base.rb:1064:in `dispatch!'
/var/lib/gems/2.0.0/gems/sinatra-1.4.4/lib/sinatra/base.rb:889:in `block in call!'
/var/lib/gems/2.0.0/gems/sinatra-1.4.4/lib/sinatra/base.rb:1049:in `block in invoke'
/var/lib/gems/2.0.0/gems/sinatra-1.4.4/lib/sinatra/base.rb:1049:in `catch'
/var/lib/gems/2.0.0/gems/sinatra-1.4.4/lib/sinatra/base.rb:1049:in `invoke'
/var/lib/gems/2.0.0/gems/sinatra-1.4.4/lib/sinatra/base.rb:889:in `call!'
/var/lib/gems/2.0.0/gems/sinatra-1.4.4/lib/sinatra/base.rb:877:in `call'
/var/lib/gems/2.0.0/gems/rack-protection-1.5.1/lib/rack/protection/xss_header.rb:18:in `call'
/var/lib/gems/2.0.0/gems/rack-protection-1.5.1/lib/rack/protection/path_traversal.rb:16:in `call'
/var/lib/gems/2.0.0/gems/rack-protection-1.5.1/lib/rack/protection/json_csrf.rb:18:in `call'
/var/lib/gems/2.0.0/gems/rack-protection-1.5.1/lib/rack/protection/base.rb:50:in `call'
/var/lib/gems/2.0.0/gems/rack-protection-1.5.1/lib/rack/protection/base.rb:50:in `call'
/var/lib/gems/2.0.0/gems/rack-protection-1.5.1/lib/rack/protection/frame_options.rb:31:in `call'
/var/lib/gems/2.0.0/gems/rack-1.5.2/lib/rack/nulllogger.rb:9:in `call'
/var/lib/gems/2.0.0/gems/rack-1.5.2/lib/rack/head.rb:11:in `call'
/var/lib/gems/2.0.0/gems/sinatra-1.4.4/lib/sinatra/base.rb:180:in `call'
/var/lib/gems/2.0.0/gems/sinatra-1.4.4/lib/sinatra/base.rb:2004:in `call'
/var/lib/gems/2.0.0/gems/minicron-0.4/lib/minicron/hub/app.rb:130:in `call'
/var/lib/gems/2.0.0/gems/rack-1.5.2/lib/rack/builder.rb:138:in `call'
/var/lib/gems/2.0.0/gems/rack-1.5.2/lib/rack/urlmap.rb:65:in `block in call'
/var/lib/gems/2.0.0/gems/rack-1.5.2/lib/rack/urlmap.rb:50:in `each'
/var/lib/gems/2.0.0/gems/rack-1.5.2/lib/rack/urlmap.rb:50:in `call'
/var/lib/gems/2.0.0/gems/rack-1.5.2/lib/rack/showexceptions.rb:24:in `call'
/var/lib/gems/2.0.0/gems/rack-1.5.2/lib/rack/commonlogger.rb:33:in `call'
/var/lib/gems/2.0.0/gems/sinatra-1.4.4/lib/sinatra/base.rb:217:in `call'
/var/lib/gems/2.0.0/gems/thin-1.6.1/lib/thin/connection.rb:82:in `block in pre_process'
/var/lib/gems/2.0.0/gems/thin-1.6.1/lib/thin/connection.rb:80:in `catch'
/var/lib/gems/2.0.0/gems/thin-1.6.1/lib/thin/connection.rb:80:in `pre_process'
/var/lib/gems/2.0.0/gems/thin-1.6.1/lib/thin/connection.rb:55:in `process'
/var/lib/gems/2.0.0/gems/faye-websocket-0.7.2/lib/faye/adapters/thin.rb:40:in `process'
/var/lib/gems/2.0.0/gems/thin-1.6.1/lib/thin/connection.rb:41:in `receive_data'
/var/lib/gems/2.0.0/gems/faye-websocket-0.7.2/lib/faye/adapters/thin.rb:44:in `receive_data'
/var/lib/gems/2.0.0/gems/eventmachine-1.0.3/lib/eventmachine.rb:187:in `run_machine'
/var/lib/gems/2.0.0/gems/eventmachine-1.0.3/lib/eventmachine.rb:187:in `run'
/var/lib/gems/2.0.0/gems/thin-1.6.1/lib/thin/backends/base.rb:73:in `start'
/var/lib/gems/2.0.0/gems/thin-1.6.1/lib/thin/server.rb:162:in `start'
/var/lib/gems/2.0.0/gems/minicron-0.4/lib/minicron/transport/server.rb:49:in `start!'
/var/lib/gems/2.0.0/gems/minicron-0.4/lib/minicron/cli/commands.rb:84:in `block (3 levels) in add_server_cli_command'
/var/lib/gems/2.0.0/gems/insidious-0.3/lib/insidious.rb:108:in `call'
/var/lib/gems/2.0.0/gems/insidious-0.3/lib/insidious.rb:108:in `run_daemon!'
/var/lib/gems/2.0.0/gems/insidious-0.3/lib/insidious.rb:28:in `start!'
/var/lib/gems/2.0.0/gems/minicron-0.4/lib/minicron/cli/commands.rb:78:in `block (2 levels) in add_server_cli_command'
/var/lib/gems/2.0.0/gems/commander-4.1.6/lib/commander/command.rb:180:in `call'
/var/lib/gems/2.0.0/gems/commander-4.1.6/lib/commander/command.rb:180:in `call'
/var/lib/gems/2.0.0/gems/commander-4.1.6/lib/commander/command.rb:155:in `run'
/var/lib/gems/2.0.0/gems/commander-4.1.6/lib/commander/runner.rb:422:in `run_active_command'
/var/lib/gems/2.0.0/gems/commander-4.1.6/lib/commander/runner.rb:82:in `run!'
/var/lib/gems/2.0.0/gems/minicron-0.4/lib/minicron/cli.rb:84:in `run'
/var/lib/gems/2.0.0/gems/minicron-0.4/bin/minicron:14:in `block in <top (required)>'
/var/lib/gems/2.0.0/gems/minicron-0.4/lib/minicron.rb:129:in `capture_output'
/var/lib/gems/2.0.0/gems/minicron-0.4/bin/minicron:12:in `<top (required)>'
/usr/local/bin/minicron:23:in `load'
/usr/local/bin/minicron:23:in `<main>'

@michaelmior
Copy link
Author

Changing the start command to the following solved it for me. Although it seems like assetpack shouldn't depend on whatever locale happens to be set.

LANG=en_US.UTF-8 minicron server start

@jamesrwhite
Copy link
Owner

Ha, I literally just found this rstacruz/sinatra-assetpack#76 (comment) which says exactly the same thing. It doesn't look like assetpack is going to fix it any time soon so I may just force Encoding.default_external to be UTF-8 on the minicron side. Thanks for reporting this 👍

@michaelmior
Copy link
Author

Yes, I noticed that as well. Seems like forcing the encoding would be safe for minicron. Thanks!

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
Projects
None yet
Development

No branches or pull requests

2 participants