{"action":"created","issue":{"url":"https://api.github.com/repos/berkshelf/berkshelf-api/issues/112","labels_url":"https://api.github.com/repos/berkshelf/berkshelf-api/issues/112/labels{/name}","comments_url":"https://api.github.com/repos/berkshelf/berkshelf-api/issues/112/comments","events_url":"https://api.github.com/repos/berkshelf/berkshelf-api/issues/112/events","html_url":"https://github.com/berkshelf/berkshelf-api/issues/112","id":32175497,"number":112,"title":"Can't process certain cookbooks","user":{"login":"stuartphilp","id":2964961,"avatar_url":"https://avatars.githubusercontent.com/u/2964961?v=3","gravatar_id":"","url":"https://api.github.com/users/stuartphilp","html_url":"https://github.com/stuartphilp","followers_url":"https://api.github.com/users/stuartphilp/followers","following_url":"https://api.github.com/users/stuartphilp/following{/other_user}","gists_url":"https://api.github.com/users/stuartphilp/gists{/gist_id}","starred_url":"https://api.github.com/users/stuartphilp/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/stuartphilp/subscriptions","organizations_url":"https://api.github.com/users/stuartphilp/orgs","repos_url":"https://api.github.com/users/stuartphilp/repos","events_url":"https://api.github.com/users/stuartphilp/events{/privacy}","received_events_url":"https://api.github.com/users/stuartphilp/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/berkshelf/berkshelf-api/labels/Bug","name":"Bug","color":"F01A00"}],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":42,"created_at":"2014-04-24T18:53:54Z","updated_at":"2015-02-25T23:37:35Z","closed_at":null,"body":"Occasionally the cache builder will fail to process cookbooks with invalid characters in their metadata.json:\r\n\r\n``` \r\nProcessing metadata for 500 cookbooks with 5278 remaining on opscode\r\n2014-04-24_18:38:09.38282 I, [2014-04-24T13:38:00.353518 #8728]  INFO -- : Saving the cache to: /etc/berkshelf/api-server/cerch\r\n2014-04-24_18:38:09.38283 I, [2014-04-24T13:38:00.353977 #8728]  INFO -- : Cache saved!\r\n2014-04-24_18:38:09.38284 E, [2014-04-24T13:38:09.381809 #8728] ERROR -- : Actor crashed!\r\n2014-04-24_18:38:09.38285 Encoding::InvalidByteSequenceError: \"\\xE2\" on US-ASCII\r\n2014-04-24_18:38:09.38285       /opt/berkshelf-api/v1.3.1/vendor/bundle/ruby/1.9.1/gems/json-1.8.1/lib/json/common.rb:155:in `encode'\r\n2014-04-24_18:38:09.38285       /opt/berkshelf-api/v1.3.1/vendor/bundle/ruby/1.9.1/gems/json-1.8.1/lib/json/common.rb:155:in `initialize'\r\n2014-04-24_18:38:09.38285       /opt/berkshelf-api/v1.3.1/vendor/bundle/ruby/1.9.1/gems/json-1.8.1/lib/json/common.rb:155:in `new'\r\n2014-04-24_18:38:09.38285       /opt/berkshelf-api/v1.3.1/vendor/bundle/ruby/1.9.1/gems/json-1.8.1/lib/json/common.rb:155:in `parse'\r\n2014-04-24_18:38:09.38286       /opt/berkshelf-api/v1.3.1/vendor/bundle/ruby/1.9.1/gems/ridley-3.1.0/lib/ridley/chef/cookbook/metadata.rb:458:in `from_json'\r\n2014-04-24_18:38:09.38286       /opt/berkshelf-api/v1.3.1/vendor/bundle/ruby/1.9.1/gems/ridley-3.1.0/lib/ridley/chef/cookbook/metadata.rb:29:in `from_json'\r\n2014-04-24_18:38:09.38286       /opt/berkshelf-api/v1.3.1/lib/berkshelf/api/cache_builder/worker/opscode.rb:59:in `load_metadata'\r\n2014-04-24_18:38:09.38286       /opt/berkshelf-api/v1.3.1/lib/berkshelf/api/cache_builder/worker/opscode.rb:39:in `block in metadata'\r\n2014-04-24_18:38:09.38287       /opt/chef/embedded/lib/ruby/1.9.1/tmpdir.rb:83:in `mktmpdir'\r\n2014-04-24_18:38:09.38287       /opt/berkshelf-api/v1.3.1/lib/berkshelf/api/cache_builder/worker/opscode.rb:37:in `metadata'\r\n2014-04-24_18:38:09.38287       /opt/berkshelf-api/v1.3.1/vendor/bundle/ruby/1.9.1/gems/celluloid-0.16.0.pre/lib/celluloid/calls.rb:26:in `public_send'\r\n2014-04-24_18:38:09.38287       /opt/berkshelf-api/v1.3.1/vendor/bundle/ruby/1.9.1/gems/celluloid-0.16.0.pre/lib/celluloid/calls.rb:26:in `dispatch'\r\n2014-04-24_18:38:09.38288       /opt/berkshelf-api/v1.3.1/vendor/bundle/ruby/1.9.1/gems/celluloid-0.16.0.pre/lib/celluloid/calls.rb:63:in `dispatch'\r\n2014-04-24_18:38:09.38288       /opt/berkshelf-api/v1.3.1/vendor/bundle/ruby/1.9.1/gems/celluloid-0.16.0.pre/lib/celluloid/cell.rb:60:in `block in invoke'\r\n2014-04-24_18:38:09.38288       /opt/berkshelf-api/v1.3.1/vendor/bundle/ruby/1.9.1/gems/celluloid-0.16.0.pre/lib/celluloid/cell.rb:71:in `block in task'\r\n2014-04-24_18:38:09.38288       /opt/berkshelf-api/v1.3.1/vendor/bundle/ruby/1.9.1/gems/celluloid-0.16.0.pre/lib/celluloid/actor.rb:362:in `block in task'\r\n2014-04-24_18:38:09.38289       /opt/berkshelf-api/v1.3.1/vendor/bundle/ruby/1.9.1/gems/celluloid-0.16.0.pre/lib/celluloid/tasks.rb:55:in `block in initialize'\r\n2014-04-24_18:38:09.38289       /opt/berkshelf-api/v1.3.1/vendor/bundle/ruby/1.9.1/gems/celluloid-0.16.0.pre/lib/celluloid/tasks/task_fiber.rb:15:in `block in create'\r\n```\r\n\r\nPerhaps the [opscode worker](https://github.com/berkshelf/berkshelf-api/blob/master/lib/berkshelf/api/cache_builder/worker/opscode.rb#L60) could handle this more gracefully"},"comment":{"url":"https://api.github.com/repos/berkshelf/berkshelf-api/issues/comments/76085789","html_url":"https://github.com/berkshelf/berkshelf-api/issues/112#issuecomment-76085789","issue_url":"https://api.github.com/repos/berkshelf/berkshelf-api/issues/112","id":76085789,"user":{"login":"reset","id":54036,"avatar_url":"https://avatars.githubusercontent.com/u/54036?v=3","gravatar_id":"","url":"https://api.github.com/users/reset","html_url":"https://github.com/reset","followers_url":"https://api.github.com/users/reset/followers","following_url":"https://api.github.com/users/reset/following{/other_user}","gists_url":"https://api.github.com/users/reset/gists{/gist_id}","starred_url":"https://api.github.com/users/reset/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/reset/subscriptions","organizations_url":"https://api.github.com/users/reset/orgs","repos_url":"https://api.github.com/users/reset/repos","events_url":"https://api.github.com/users/reset/events{/privacy}","received_events_url":"https://api.github.com/users/reset/received_events","type":"User","site_admin":false},"created_at":"2015-02-25T23:37:35Z","updated_at":"2015-02-25T23:37:35Z","body":"@jkeiser @lamont-granquist which gem is Chef using now?"}}