Skip to content

Creating apps with emoji names results in a 500 #1375

Open
@Gerg

Description

@Gerg

Reproduction Steps

cf curl -X POST /v3/apps -d '{ "name": "🍹", "relationships": { "space": { "data": { "guid": "f868de95-bc7e-4f84-9801-9d6814bfadb2" } } } }'
{
   "errors": [
      {
         "title": "UnknownError",
         "detail": "An unknown error occurred.",
         "code": 10001
      }
   ]
}

Underlying Error

{"timestamp":1560447860.1173868,"message":"Started POST \"/v3/apps\" for user: 1ed2b38b-b2c1-42d7-b215-53fe1963bbbe, ip: 204.15.0.254 with vcap-request-id:
ff290444-7249-4730-46df-cb94f634c8f2::04326664-6982-477d-8a46-eaeae0be4cc6 at 2019-06-13 17:44:20 UTC","log_level":"info","source":"cc.api","data":{"request
_guid":"ff290444-7249-4730-46df-cb94f634c8f2::04326664-6982-477d-8a46-eaeae0be4cc6"},"thread_id":47336992099800,"fiber_id":47336969711680,"process_id":10,"f
ile":"/var/vcap/data/packages/cloud_controller_ng/99354e5d7e82f66e339fef9896e88c216da371b4/cloud_controller_ng/middleware/request_logs.rb","lineno":12,"meth
od":"call"}
{"timestamp":1560447860.1438572,"message":"Request failed: 500: {\"errors\"=>[{\"title\"=>\"UnknownError\", \"detail\"=>\"An unknown error occurred.\", \"code\"=>10001, \"test_mode_info\"=>{\"detail\"=>\"uninitialized constant VCAP::CloudController::AnnotationsUpdate::TooManyAnnotations\", \"title\"=>\"CF-TooManyAnnotations\", \"backtrace\"=>[\"/var/vcap/data/packages/cloud_controller_ng/99354e5d7e82f66e339fef9896e88c216da371b4/cloud_controller_ng/app/controllers/v3/apps_controller.rb:97:in `rescue in create'\", \"/var/vcap/data/packages/cloud_controller_ng/99354e5d7e82f66e339fef9896e88c216da371b4/cloud_controller_ng/app/controllers/v3/apps_controller.rb:80:in `create'\", \"/var/vcap/data/packages/cloud_controller_ng/99354e5d7e82f66e339fef9896e88c216da371b4/gem_home/ruby/2.5.0/gems/actionpack-5.2.2.1/lib/action_controller/metal/basic_implicit_render.rb:6:in `send_action'\", \"/var/vcap/data/packages/cloud_controller_ng/99354e5d7e82f66e339fef9896e88c216da371b4/gem_home/ruby/2.5.0/gems/actionpack-5.2.2.1/lib/abstract_controller/base.rb:194:in `process_action'\", \"/var/vcap/data/packages/cloud_controller_ng/99354e5d7e82f66e339fef9896e88c216da371b4/gem_home/ruby/2.5.0/gems/actionpack-5.2.2.1/lib/action_controller/metal/rendering.rb:30:in `process_action'\", \"/var/vcap/data/packages/cloud_controller_ng/99354e5d7e82f66e339fef9896e88c216da371b4/gem_home/ruby/2.5.0/gems/actionpack-5.2.2.1/lib/abstract_controller/callbacks.rb:42:in `block in process_action'\", \"/var/vcap/data/packages/cloud_controller_ng/99354e5d7e82f66e339fef9896e88c216da371b4/gem_home/ruby/2.5.0/gems/activesupport-5.2.2.1/lib/active_support/callbacks.rb:132:in `run_callbacks'\", \"/var/vcap/data/packages/cloud_controller_ng/99354e5d7e82f66e339fef9896e88c216da371b4/gem_home/ruby/2.5.0/gems/actionpack-5.2.2.1/lib/abstract_controller/callbacks.rb:41:in `process_action'\", \"/var/vcap/data/packages/cloud_controller_ng/99354e5d7e82f66e339fef9896e88c216da371b4/gem_home/ruby/2.5.0/gems/actionpack-5.2.2.1/lib/action_controller/metal/rescue.rb:22:in `process_action'\", \"/var/vcap/data/packages/cloud_controller_ng/99354e5d7e82f66e339fef9896e88c216da371b4/gem_home/ruby/2.5.0/gems/actionpack-5.2.2.1/lib/action_controller/metal/instrumentation.rb:34:in `block in process_action'\", \"/var/vcap/data/packages/cloud_controller_ng/99354e5d7e82f66e339fef9896e88c216da371b4/gem_home/ruby/2.5.0/gems/activesupport-5.2.2.1/lib/active_support/notifications.rb:168:in `block in instrument'\", \"/var/vcap/data/packages/cloud_controller_ng/99354e5d7e82f66e339fef9896e88c216da371b4/gem_home/ruby/2.5.0/gems/activesupport-5.2.2.1/lib/active_support/notifications/instrumenter.rb:23:in `instrument'\", \"/var/vcap/data/packages/cloud_controller_ng/99354e5d7e82f66e339fef9896e88c216da371b4/gem_home/ruby/2.5.0/gems/activesupport-5.2.2.1/lib/active_support/notifications.rb:168:in `instrument'\", \"/var/vcap/data/packages/cloud_controller_ng/99354e5d7e82f66e339fef9896e88c216da371b4/gem_home/ruby/2.5.0/gems/actionpack-5.2.2.1/lib/action_controller/metal/instrumentation.rb:32:in `process_action'\", \"/var/vcap/data/packages/cloud_controller_ng/99354e5d7e82f66e339fef9896e88c216da371b4/gem_home/ruby/2.5.0/gems/actionpack-5.2.2.1/lib/action_controller/metal/params_wrapper.rb:256:in `process_action'\", \"/var/vcap/data/packages/cloud_controller_ng/99354e5d7e82f66e339fef9896e88c216da371b4/gem_home/ruby/2.5.0/gems/actionpack-5.2.2.1/lib/abstract_controller/base.rb:134:in `process'\", \"/var/vcap/data/packages/cloud_controller_ng/99354e5d7e82f66e339fef9896e88c216da371b4/gem_home/ruby/2.5.0/gems/actionview-5.2.2.1/lib/action_view/rendering.rb:32:in `process'\", \"/var/vcap/data/packages/cloud_controller_ng/99354e5d7e82f66e339fef9896e88c216da371b4/gem_home/ruby/2.5.0/gems/actionpack-5.2.2.1/lib/action_controller/metal.rb:191:in `dispatch'\", \"/var/vcap/data/packages/cloud_controller_ng/99354e5d7e82f66e339fef9896e88c216da371b4/gem_home/ruby/2.5.0/gems/actionpack-5.2.2.1/lib/action_controller/metal.rb:252:in `dispatch'\", \"/var/vcap/data/packages/cloud_controller_ng/99354e5d7e82f66e339fef9896e88c216da371b4/gem_home/ruby/2.5.0/gems/actionpack-5.2.2.1/lib/action_dispatch/routing/route_set.rb:52:in `dispatch'\", \"/var/vcap/data/packages/cloud_controller_ng/99354e5d7e82f66e339fef9896e88c216da371b4/gem_home/ruby/2.5.0/gems/actionpack-5.2.2.1/lib/action_dispatch/routing/route_set.rb:34:in `serve'\", \"/var/vcap/data/packages/cloud_controller_ng/99354e5d7e82f66e339fef9896e88c216da371b4/gem_home/ruby/2.5.0/gems/actionpack-5.2.2.1/lib/action_dispatch/journey/router.rb:52:in `block in serve'\", \"/var/vcap/data/packages/cloud_controller_ng/99354e5d7e82f66e339fef9896e88c216da371b4/gem_home/ruby/2.5.0/gems/actionpack-5.2.2.1/lib/action_dispatch/journey/router.rb:35:in `each'\", \"/var/vcap/data/packages/cloud_controller_ng/99354e5d7e82f66e339fef9896e88c216da371b4/gem_home/ruby/2.5.0/gems/actionpack-5.2.2.1/lib/action_dispatch/journey/router.rb:35:in `serve'\", \"/var/vcap/data/packages/cloud_controller_ng/99354e5d7e82f66e339fef9896e88c216da371b4/gem_home/ruby/2.5.0/gems/actionpack-5.2.2.1/lib/action_dispatch/routing/route_set.rb:840:in `call'\", \"/var/vcap/data/packages/cloud_controller_ng/99354e5d7e82f66e339fef9896e88c216da371b4/gem_home/ruby/2.5.0/gems/rack-2.0.7/lib/rack/tempfile_reaper.rb:15:in `call'\", \"/var/vcap/data/packages/cloud_controller_ng/99354e5d7e82f66e339fef9896e88c216da371b4/gem_home/ruby/2.5.0/gems/actionpack-5.2.2.1/lib/action_dispatch/http/content_security_policy.rb:18:in `call'\", \"/var/vcap/data/packages/cloud_controller_ng/99354e5d7e82f66e339fef9896e88c216da371b4/gem_home/ruby/2.5.0/gems/actionpack-5.2.2.1/lib/action_dispatch/middleware/callbacks.rb:28:in `block in call'\", \"/var/vcap/data/packages/cloud_controller_ng/99354e5d7e82f66e339fef9896e88c216da371b4/gem_home/ruby/2.5.0/gems/activesupport-5.2.2.1/lib/active_support/callbacks.rb:98:in `run_callbacks'\", \"/var/vcap/data/packages/cloud_controller_ng/99354e5d7e82f66e339fef9896e88c216da371b4/gem_home/ruby/2.5.0/gems/actionpack-5.2.2.1/lib/action_dispatch/middleware/callbacks.rb:26:in `call'\", \"/var/vcap/data/packages/cloud_controller_ng/99354e5d7e82f66e339fef9896e88c216da371b4/gem_home/ruby/2.5.0/gems/actionpack-5.2.2.1/lib/action_dispatch/middleware/debug_exceptions.rb:61:in `call'\", \"/var/vcap/data/packages/cloud_controller_ng/99354e5d7e82f66e339fef9896e88c216da371b4/gem_home/ruby/2.5.0/gems/actionpack-5.2.2.1/lib/action_dispatch/middleware/show_exceptions.rb:33:in `call'\", \"/var/vcap/data/packages/cloud_controller_ng/99354e5d7e82f66e339fef9896e88c216da371b4/gem_home/ruby/2.5.0/gems/actionpack-5.2.2.1/lib/action_dispatch/middleware/remote_ip.rb:81:in `call'\", \"/var/vcap/data/packages/cloud_controller_ng/99354e5d7e82f66e339fef9896e88c216da371b4/gem_home/ruby/2.5.0/gems/rack-2.0.7/lib/rack/runtime.rb:22:in `call'\", \"/var/vcap/data/packages/cloud_controller_ng/99354e5d7e82f66e339fef9896e88c216da371b4/gem_home/ruby/2.5.0/gems/activesupport-5.2.2.1/lib/active_support/cache/strategy/local_cache_middleware.rb:29:in `call'\", \"/var/vcap/data/packages/cloud_controller_ng/99354e5d7e82f66e339fef9896e88c216da371b4/gem_home/ruby/2.5.0/gems/actionpack-5.2.2.1/lib/action_dispatch/middleware/executor.rb:14:in `call'\", \"/var/vcap/data/packages/cloud_controller_ng/99354e5d7e82f66e339fef9896e88c216da371b4/gem_home/ruby/2.5.0/gems/rack-2.0.7/lib/rack/sendfile.rb:111:in `call'\", \"/var/vcap/data/packages/cloud_controller_ng/99354e5d7e82f66e339fef9896e88c216da371b4/gem_home/ruby/2.5.0/gems/rack-2.0.7/lib/rack/urlmap.rb:68:in `block in call'\", \"/var/vcap/data/packages/cloud_controller_ng/99354e5d7e82f66e339fef9896e88c216da371b4/gem_home/ruby/2.5.0/gems/rack-2.0.7/lib/rack/urlmap.rb:53:in `each'\", \"/var/vcap/data/packages/cloud_controller_ng/99354e5d7e82f66e339fef9896e88c216da371b4/gem_home/ruby/2.5.0/gems/rack-2.0.7/lib/rack/urlmap.rb:53:in `call'\", \"/var/vcap/data/packages/cloud_controller_ng/99354e5d7e82f66e339fef9896e88c216da371b4/cloud_controller_ng/middleware/request_logs.rb:22:in `call'\", \"/var/vcap/data/packages/cloud_controller_ng/99354e5d7e82f66e339fef9896e88c216da371b4/cloud_controller_ng/middleware/security_context_setter.rb:19:in `call'\", \"/var/vcap/data/packages/cloud_controller_ng/99354e5d7e82f66e339fef9896e88c216da371b4/cloud_controller_ng/middleware/vcap_request_id.rb:15:in `call'\", \"/var/vcap/data/packages/cloud_controller_ng/99354e5d7e82f66e339fef9896e88c216da371b4/cloud_controller_ng/middleware/cors.rb:49:in `call_app'\", \"/var/vcap/data/packages/cloud_controller_ng/99354e5d7e82f66e339fef9896e88c216da371b4/cloud_controller_ng/middleware/cors.rb:14:in `call'\", \"/var/vcap/data/packages/cloud_controller_ng/99354e5d7e82f66e339fef9896e88c216da371b4/cloud_controller_ng/middleware/request_metrics.rb:12:in `call'\", \"/var/vcap/data/packages/cloud_controller_ng/99354e5d7e82f66e339fef9896e88c216da371b4/gem_home/ruby/2.5.0/gems/rack-2.0.7/lib/rack/builder.rb:153:in `call'\", \"/var/vcap/data/packages/cloud_controller_ng/99354e5d7e82f66e339fef9896e88c216da371b4/gem_home/ruby/2.5.0/gems/thin-1.7.2/lib/thin/connection.rb:86:in `block in pre_process'\", \"/var/vcap/data/packages/cloud_controller_ng/99354e5d7e82f66e339fef9896e88c216da371b4/gem_home/ruby/2.5.0/gems/thin-1.7.2/lib/thin/connection.rb:84:in `catch'\", \"/var/vcap/data/packages/cloud_controller_ng/99354e5d7e82f66e339fef9896e88c216da371b4/gem_home/ruby/2.5.0/gems/thin-1.7.2/lib/thin/connection.rb:84:in `pre_process'\", \"/var/vcap/data/packages/cloud_controller_ng/99354e5d7e82f66e339fef9896e88c216da371b4/gem_home/ruby/2.5.0/gems/thin-1.7.2/lib/thin/connection.rb:50:in `block in process'\", \"/var/vcap/data/packages/cloud_controller_ng/99354e5d7e82f66e339fef9896e88c216da371b4/gem_home/ruby/2.5.0/gems/eventmachine-1.0.9.1/lib/eventmachine.rb:1067:in `block in spawn_threadpool'\"]}}]}","log_level":"error","source":"cc.api","data":{"request_guid":"ff290444-7249-4730-46df-cb94f634c8f2::04326664-6982-477d-8a46-eaeae0be4cc6"},"thread_id":47336992099800,"fiber_id":47336969711680,"process_id":10,"file":"/var/vcap/data/packages/cloud_controller_ng/99354e5d7e82f66e339fef9896e88c216da371b4/cloud_controller_ng/app/controllers/v3/errors_controller.rb","lineno":11,"method":"internal_error"}
{"timestamp":1560447860.1453018,"message":"Completed 500 vcap-request-id: ff290444-7249-4730-46df-cb94f634c8f2::04326664-6982-477d-8a46-eaeae0be4cc6","log_level":"info","source":"cc.api","data":{"request_guid":"ff290444-7249-4730-46df-cb94f634c8f2::04326664-6982-477d-8a46-eaeae0be4cc6"},"thread_id":47336992099800,"fiber_id":47336969711680,"process_id":10,"file":"/var/vcap/data/packages/cloud_controller_ng/99354e5d7e82f66e339fef9896e88c216da371b4/cloud_controller_ng/middleware/request_logs.rb","lineno":24,"method":"call"}

Expected Behavior

This request should either succeed or return a human-readable error letting me know why I'm not allowed to have fun app names.

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions