apache/openwhisk-runtime-ruby

rack 2.1 breaks ruby v2.5 action

dgrove-oss opened this issue · 0 comments

version 2.1.0 of rack (released 26 days ago) breaks the ruby 2.5 action for openwhisk.

The symptom of the error is output like shown below (obtained by running the action-v2.5 container locally when built with rack 2.1.2 and curling /init with the payload {})

XXX_THE_END_OF_A_WHISK_ACTIVATION_XXX
{"error":"Missing main/no code to execute."}
XXX_THE_END_OF_A_WHISK_ACTIVATION_XXX
2020-02-06 18:14:07 +0000: Rack app error handling request { POST /init }
#<NoMethodError: undefined method `to_i' for #<ErrorResponse:0x000055b5aed34e10>
Did you mean?  to_s
               to_a>
/usr/local/bundle/gems/puma-4.3.1/lib/puma/server.rb:685:in `handle_request'
/usr/local/bundle/gems/puma-4.3.1/lib/puma/server.rb:472:in `process_client'
/usr/local/bundle/gems/puma-4.3.1/lib/puma/server.rb:328:in `block in run'
/usr/local/bundle/gems/puma-4.3.1/lib/puma/thread_pool.rb:134:in `block in spawn_thread'

PR #43 hacks around this by adding a version requirement to keep us on rack 2.0.x until someone who actually knows Ruby has time to adjust our code for rack 2.1.x.