Skip to content
This repository has been archived by the owner on Jun 20, 2023. It is now read-only.

mark all as complete時のバグ #68

Open
junsumida opened this issue Apr 10, 2014 · 4 comments
Open

mark all as complete時のバグ #68

junsumida opened this issue Apr 10, 2014 · 4 comments
Labels

Comments

@junsumida
Copy link
Contributor

5個程度以上のtodoに対して、mark all as completeをやるとsqliteにロックがかかって、500になります。

D, [2014-04-10T11:39:27.145103 #69308] DEBUG -- :    (0.0ms)  begin transaction
E, [2014-04-10T11:39:27.145163 #69308] ERROR -- : ArgumentError: prepare called on a closed database: rollback transaction
ActiveRecord::StatementInvalid - ArgumentError: prepare called on a closed database: rollback transaction:
    /Users/jun.sumida/.rvm/gems/ruby-2.1.0/gems/sqlite3-1.3.9/lib/sqlite3/database.rb:91:in `initialize'
    /Users/jun.sumida/.rvm/gems/ruby-2.1.0/gems/sqlite3-1.3.9/lib/sqlite3/database.rb:91:in `new'
    /Users/jun.sumida/.rvm/gems/ruby-2.1.0/gems/sqlite3-1.3.9/lib/sqlite3/database.rb:91:in `prepare'
    /Users/jun.sumida/.rvm/gems/ruby-2.1.0/gems/sqlite3-1.3.9/lib/sqlite3/database.rb:134:in `execute'
    /Users/jD, [2014-04-10T11:39:27.150677 #69308] DEBUG -- :    (5.4ms)  commit transaction
127.0.0.1 - - [10/Apr/2014 11:39:27] "PUT /api/todos/55 HTTP/1.1" 200 55 0.0480
D, [2014-04-10T11:39:27.151999 #69308] DEBUG -- :    (0.1ms)  commit transaction
127.0.0.1 - - [10/Apr/2014 11:39:27] "PUT /api/todos/54 HTTP/1.1" 200 51 0.0262
un.sumida/.rvm/gems/ruby-2.1.0/gems/sqlite3-1.3.9/lib/sqlite3/database.rb:526:in `rollback'
    /Users/jun.sumida/.rvm/gems/ruby-2.1.0/gems/activerecord-4.0.4/lib/active_record/connection_adapters/sqlite3_adapter.rb:375:in `block in rollback_db_transaction'
    /Users/jun.sumida/.rvm/gems/ruby-2.1.0/gems/activerecord-4.0.4/lib/active_record/connection_adapters/abstract_adapter.rb:442:in `block in log'
    /Users/jun.sumida/.rvm/gems/ruby-2.1.0/gems/activesupport-4.0.4/lib/active_support/notifications/instrumenter.rb:20:in `instrument'
    /Users/jun.sumida/.rvm/gems/ruby-2.1.0/gems/activerecord-4.0.4/lib/active_record/connection_adapters/abstract_adapter.rb:437:in `log'
    /Users/jun.sumida/.rvm/gems/ruby-2.1.0/gems/activerecord-4.0.4/lib/active_record/connection_adapters/sqlite3_adapter.rb:375:in `rollback_db_transaction'
    /Users/jun.sumida/.rvm/gems/ruby-2.1.0/gems/activerecord-4.0.4/lib/active_record/connection_adapters/abstract/transaction.rb:175:in `perform_rollback'
    /Users/jun.sumida/.rvm/gems/ruby-2.1.0/gems/activerecord-4.0.4/lib/active_record/connection_adapters/abstract/transaction.rb:114:in `rollback'
    /Users/jun.sumida/.rvm/gems/ruby-2.1.0/gems/activerecord-4.0.4/lib/active_record/connection_adapters/abstract/database_statements.rb:251:in `rollback_transaction'
    /Users/jun.sumida/.rvm/gems/ruby-2.1.0/gems/activerecord-4.0.4/lib/active_record/connection_adapters/abstract/database_statements.rb:229:in `rescue in within_new_transaction'
    /Users/jun.sumida/.rvm/gems/ruby-2.1.0/gems/activerecord-4.0.4/lib/active_record/connection_adapters/abstract/database_statements.rb:226:in `within_new_transaction'
    /Users/jun.sumida/.rvm/gems/ruby-2.1.0/gems/activerecord-4.0.4/lib/active_record/connection_adapters/abstract/database_statements.rb:213:in `transaction'
    /Users/jun.sumida/.rvm/gems/ruby-2.1.0/gems/activerecord-4.0.4/lib/active_record/transactions.rb:209:in `transaction'
    /Users/jun.sumida/.rvm/gems/ruby-2.1.0/gems/activerecord-4.0.4/lib/active_record/transactions.rb:327:in `with_transaction_returning_status'
    /Users/jun.sumida/.rvm/gems/ruby-2.1.0/gems/activerecord-4.0.4/lib/active_record/transactions.rb:275:in `save!'
    /Users/jun.sumida/github/mosscow/app/app.rb:83:in `block in <class:Mosscow>'
    /Users/jun.sumida/.rvm/gems/ruby-2.1.0/gems/sinatra-1.4.4/lib/sinatra/base.rb:1593:in `call'
    /Users/jun.sumida/.rvm/gems/ruby-2.1.0/gems/sinatra-1.4.4/lib/sinatra/base.rb:1593:in `block in compile!'
    /Users/jun.sumida/.rvm/gems/ruby-2.1.0/gems/sinatra-1.4.4/lib/sinatra/base.rb:957:in `[]'
    /Users/jun.sumida/.rvm/gems/ruby-2.1.0/gems/sinatra-1.4.4/lib/sinatra/base.rb:957:in `block (3 levels) in route!'
    /Users/jun.sumida/.rvm/gems/ruby-2.1.0/gems/sinatra-1.4.4/lib/sinatra/base.rb:976:in `route_eval'
    /Users/jun.sumida/.rvm/gems/ruby-2.1.0/gems/sinatra-1.4.4/lib/sinatra/base.rb:957:in `block (2 levels) in route!'
    /Users/jun.sumida/.rvm/gems/ruby-2.1.0/gems/sinatra-1.4.4/lib/sinatra/base.rb:997:in `block in process_route'
    /Users/jun.sumida/.rvm/gems/ruby-2.1.0/gems/sinatra-1.4.4/lib/sinatra/base.rb:995:in `catch'
    /Users/jun.sumida/.rvm/gems/ruby-2.1.0/gems/sinatra-1.4.4/lib/sinatra/base.rb:995:in `process_route'
    /Users/jun.sumida/.rvm/gems/ruby-2.1.0/gems/sinatra-1.4.4/lib/sinatra/base.rb:955:in `block in route!'
    /Users/jun.sumida/.rvm/gems/ruby-2.1.0/gems/sinatra-1.4.4/lib/sinatra/base.rb:954:in `each'
    /Users/jun.sumida/.rvm/gems/ruby-2.1.0/gems/sinatra-1.4.4/lib/sinatra/base.rb:954:in `route!'
    /Users/jun.sumida/.rvm/gems/ruby-2.1.0/gems/sinatra-1.4.4/lib/sinatra/base.rb:1067:in `block in dispatch!'
    /Users/jun.sumida/.rvm/gems/ruby-2.1.0/gems/sinatra-1.4.4/lib/sinatra/base.rb:1049:in `block in invoke'
    /Users/jun.sumida/.rvm/gems/ruby-2.1.0/gems/sinatra-1.4.4/lib/sinatra/base.rb:1049:in `catch'
    /Users/jun.sumida/.rvm/gems/ruby-2.1.0/gems/sinatra-1.4.4/lib/sinatra/base.rb:1049:in `invoke'
    /Users/jun.sumida/.rvm/gems/ruby-2.1.0/gems/sinatra-1.4.4/lib/sinatra/base.rb:1064:in `dispatch!'
    /Users/jun.sumida/.rvm/gems/ruby-2.1.0/gems/sinatra-1.4.4/lib/sinatra/base.rb:889:in `block in call!'
    /Users/jun.sumida/.rvm/gems/ruby-2.1.0/gems/sinatra-1.4.4/lib/sinatra/base.rb:1049:in `block in invoke'
    /Users/jun.sumida/.rvm/gems/ruby-2.1.0/gems/sinatra-1.4.4/lib/sinatra/base.rb:1049:in `catch'
    /Users/jun.sumida/.rvm/gems/ruby-2.1.0/gems/sinatra-1.4.4/lib/sinatra/base.rb:1049:in `invoke'
    /Users/jun.sumida/.rvm/gems/ruby-2.1.0/gems/sinatra-1.4.4/lib/sinatra/base.rb:889:in `call!'
    /Users/jun.sumida/.rvm/gems/ruby-2.1.0/gems/sinatra-1.4.4/lib/sinatra/base.rb:877:in `call'
    /Users/jun.sumida/.rvm/gems/ruby-2.1.0/gems/rack-protection-1.5.2/lib/rack/protection/xss_header.rb:18:in `call'
    /Users/jun.sumida/.rvm/gems/ruby-2.1.0/gems/rack-protection-1.5.2/lib/rack/protection/path_traversal.rb:16:in `call'
    /Users/jun.sumida/.rvm/gems/ruby-2.1.0/gems/rack-protection-1.5.2/lib/rack/protection/json_csrf.rb:18:in `call'
    /Users/jun.sumida/.rvm/gems/ruby-2.1.0/gems/rack-protection-1.5.2/lib/rack/protection/base.rb:50:in `call'
    /Users/jun.sumida/.rvm/gems/ruby-2.1.0/gems/rack-protection-1.5.2/lib/rack/protection/base.rb:50:in `call'
    /Users/jun.sumida/.rvm/gems/ruby-2.1.0/gems/rack-protection-1.5.2/lib/rack/protection/frame_options.rb:31:in `call'
    /Users/jun.sumida/.rvm/gems/ruby-2.1.0/gems/rack-1.5.2/lib/rack/nulllogger.rb:9:in `call'
    /Users/jun.sumida/.rvm/gems/ruby-2.1.0/gems/rack-1.5.2/lib/rack/head.rb:11:in `call'
    /Users/jun.sumida/.rvm/gems/ruby-2.1.0/gems/sinatra-1.4.4/lib/sinatra/show_exceptions.rb:21:in `call'
    /Users/jun.sumida/.rvm/gems/ruby-2.1.0/gems/sinatra-1.4.4/lib/sinatra/base.rb:180:in `call'
    /Users/jun.sumida/.rvm/gems/ruby-2.1.0/gems/sinatra-1.4.4/lib/sinatra/base.rb:2004:in `call'
    /Users/jun.sumida/.rvm/gems/ruby-2.1.0/gems/sinatra-1.4.4/lib/sinatra/base.rb:1469:in `block in call'
    /Users/jun.sumida/.rvm/gems/ruby-2.1.0/gems/sinatra-1.4.4/lib/sinatra/base.rb:1778:in `synchronize'
    /Users/jun.sumida/.rvm/gems/ruby-2.1.0/gems/sinatra-1.4.4/lib/sinatra/base.rb:1469:in `call'
    /Users/jun.sumida/.rvm/gems/ruby-2.1.0/bundler/gems/rack-camel_snake-e43ca4bb6d2d/lib/rack/camel_snake.rb:12:in `call'
    /Users/jun.sumida/.rvm/gems/ruby-2.1.0/bundler/gems/rack-server_errors-04e677890e3f/lib/rack/server_errors.rb:8:in `call'
    /Users/jun.sumida/.rvm/gems/ruby-2.1.0/gems/rack-1.5.2/lib/rack/lint.rb:49:in `_call'
    /Users/jun.sumida/.rvm/gems/ruby-2.1.0/gems/rack-1.5.2/lib/rack/lint.rb:37:in `call'
    /Users/jun.sumida/.rvm/gems/ruby-2.1.0/gems/rack-1.5.2/lib/rack/showexceptions.rb:24:in `call'
    /Users/jun.sumida/.rvm/gems/ruby-2.1.0/gems/rack-1.5.2/lib/rack/commonlogger.rb:33:in `call'
    /Users/jun.sumida/.rvm/gems/ruby-2.1.0/gems/sinatra-1.4.4/lib/sinatra/base.rb:217:in `call'
    /Users/jun.sumida/.rvm/gems/ruby-2.1.0/gems/rack-1.5.2/lib/rack/chunked.rb:43:in `call'
    /Users/jun.sumida/.rvm/gems/ruby-2.1.0/gems/rack-1.5.2/lib/rack/content_length.rb:14:in `call'
    /Users/jun.sumida/.rvm/gems/ruby-2.1.0/gems/rack-1.5.2/lib/rack/handler/webrick.rb:60:in `service'
    /Users/jun.sumida/.rvm/rubies/ruby-2.1.0/lib/ruby/2.1.0/webrick/httpserver.rb:138:in `service'
    /Users/jun.sumida/.rvm/rubies/ruby-2.1.0/lib/ruby/2.1.0/webrick/httpserver.rb:94:in `run'
    /Users/jun.sumida/.rvm/rubies/ruby-2.1.0/lib/ruby/2.1.0/webrick/server.rb:295:in `block in start_thread'
127.0.0.1 - - [10/Apr/2014 11:39:27] "PUT /api/todos/56 HTTP/1.1" 500 200506 0.1000

@junsumida junsumida added the bug label Apr 10, 2014
@junsumida
Copy link
Contributor Author

ttps://github.com/rails/rails/issues/11118 railsのバグ?

@junsumida
Copy link
Contributor Author

http://alco.dk/blogs/dodge_nomethoderror 別Threadでコネクション張らないといけないぽい

@junsumida
Copy link
Contributor Author

無限loopに陥る可能性があるので酷いコードですけど、こんな感じにrescue書いても、大丈夫でした。

    def transaction(todo)
      if todo.valid?
        begin
          yield
        rescue
          transaction(todo){ yield }
        end
      else
        json_halt 400, message: todo.errors.messages
      end
    end

で、

    transaction(todo) do
      todo.save!
      response.status = 200
      json todo
    end

@junsumida
Copy link
Contributor Author

このパターンもあった 😱 timeoutの時間を長くすると、こっちが出る。

ActiveRecord::StatementInvalid - SQLite3::BusyException: database is locked: UPDATE "todos" SET "is_done" = ? WHERE "todos"."id" = 55:
    /Users/jun.sumida/.rvm/gems/ruby-2.1.0/gems/sqlite3-1.3.9/lib/sqlite3/statement.rb:108:in `step'
    /Users/jun.sumida/.rvm/gems/ruby-2.1.0/gems/sqlite3-1.3.9/lib/sqlite3/statement.rb:108:in `block in each'
    /Users/jun.sumida/.rvm/gems/ruby-2.1.0/gems/sqlite3-1.3.9/lib/sqlite3/statement.rb:107:in `loop'
    /Users/jun.sumida/.rvm/gems/ruby-2.1.0/gems/sqlite3-1.3.9/lib/sqlite3/staD, [2014-04-14T19:12:47.907110 #26705] DEBUG -- :    (0.1ms)  rollback transaction
tement.rb:107:in `each'
    /Users/jun.sumida/.rvm/gems/ruby-2.1.0/gems/activerecord-4.1.0/lib/active_record/connection_adapters/sqlite3_adapter.rb:316:in `to_a'
    /Users/jun.sumida/.rvm/gems/ruby-2.1.0/gems/activerecord-4.1.0/lib/active_record/connection_adapters/sqlite3_adapter.rb:316:in `block in exec_query'
    /Users/jun.sumida/.rvm/gems/ruby-2.1.0/gems/activerecord-4.1.0/lib/active_record/connection_adapters/abstract_adapter.rb:373:in `block in log'
    /Users/jun.sumida/.rvm/gems/ruby-2.1.0/gems/activesupport-ActiveRecord::StatementInvalid - SQLite3::BusyException: database is locked: UPDATE "todos" SET "is_done" = ? WHERE "todos"."id" = 56:
    /Users/jun.sumida/.rvm/gems/ruby-2.1.0/gems/sqlite3-1.3.9/lib/sqlite3/statement.rb:108:in `step'
    /Users/jun.sumida/.rvm/gems/ruby-2.1.0/gems/sqlite3-1.3.9/lib/sqlite3/statement.rb:108:in `block in each'
    /Users/jun.sumida/.rvm/gems/ruby-2.1.0/gems/sqlite3-1.3.9/lib/sqlite3/statement.rb:107:in `loop'
    /Users/jun.sumida/.rvm/gems/ruby-2.1.0/gems/sqlite3-1.3.9/lib/sqlite3/statement.rb:107:in `each'
    /Users/jun.sumida/.rvm/gems/ruby-2.1.0/gems/activerecord-4.1.0/lib/active_record/connection_adapters/sqlite3_adapter.rb:316:in `to_a'
    /Users/jun.sumida/.rvm/gems/ruby-2.1.0/gems/activerecord-4.1.0/lib/active_record/connection_adapters/sqlite3_adapter.rb:316:in `block in exec_query'
    /Users/jun.sumida/.rvm/gems/ruby-2.1.0/gems/activerecord-4.1.0/lib/active_record/connection_adapters/abstract_adapter.rb:373:in `block in log'
    /Users/jun.sumida/.rvm/gems/ruby-2.1.0/gems/activesupport-D, [2014-04-14T19:12:47.907769 #26705] DEBUG -- :    (0.3ms)  rollback transaction
ActiveRecord::StatementInvalid - SQLite3::BusyException: database is locked: commit transaction:
    /Users/jun.sumida/.rvm/gems/ruby-2.1.0/gems/sqlite3-1.3.9/lib/sqlite3/statement.rb:108:in `step'
    /Users/jun.sumida/.rvm/gems/ruby-2.1.0/gems/sqlite3-1.3.9/lib/sqlite3/statement.rb:108:in `block in each'
    /Users/jun.sumida/.rvm/gems/ruby-2.1.0/gems/sqlite3-1.3.9/lib/sqlite3/statement.rb:107:in `loop'
    /Users/jun.sumida/.rvm/gems/ruby-2.1.0/gems/sqlite3-1.3.9/lib/sqlite3/statement.rb:107:in `each'
    /Users/jun.sumida/.rvm/gems/ruby-2.1.0/gems/sqlite3-1.3.9/lib/sqlite3/database.rb:149:in `map'
    /Users/jun.sumida/.rvm/gems/ruby-2.1.0/gems/sqlite3-1.3.9/lib/sqlite3/database.rb:149:in `block in execute'
    /Users/jun.sumida/.rvm/gems/ruby-2.1.0/gems/sqlite3-1.3.9/lib/sqlite3/database.rb:95:in `prepare'
    /Users/jun.sumida/.rvm/gems/ruby-2.1.0/gems/sqlite3-1.3.9/lib/sqlite3/database.rb:134:in `execute'
    /Users/jun.sumida/.rvm/gems/ruby-2.1.0/gems/sqlite3-1.3.9/lib/sqlite3/database.rb:517:in `commit'
    /Users/jun.sumida/.rvm4.1.0/lib/active_support/notifications/instrumenter.rb:20:in `instrument'
    /Users/jun.sumida/.rvm/gems/ruby-2.1.0/gems/activerecord-4.1.0/lib/active_record/connection_adapters/abstract_adapter.rb:367:in `log'
    /Users/jun.sumida/.rvm/gems/ruby-2.1.0/gems/activerecord-4.1.0/lib/active_record/connection_adapters/sqlite3_adapter.rb:298:in `exec_query'
    /Users/jun.sumida/.rvm/gems/ruby-2.1.0/gems/activerecord-4.1.0/lib/active_record/connection_adapters/sqlite3_adapter.rb:321:in `exec_delete'
    /Users/jun/gems/ruby-2.1.0/gems/activerecord-4.1.0/lib/active_record/connection_adapters/sqlite3_adapter.rb:359:in `block in commit_db_transaction'
    /Users/jun.sumida/.rvm/gems/ruby-2.1.0/gems/activerecord-4.1.0/lib/active_record/connection_adapters/abstract_adapter.rb:373:in `block in log'
    /Users/jun.sumida/.rvm/gems/ruby-2.1.0/gems/activesupport-4.1.0/lib/active_support/notifications/instrumenter.rb:20:in `instrument'
    /Users/jun.sumida/.rvm/gems/ruby-2.1.0/gems/activerecord-4.1.0/lib/active_record/connection_adap.sumida/.4.1.0/lib/active_support/notifications/instrumenter.rb:20:in `instrument'
    /Users/jun.sumida/.rvm/gems/ruby-2.1.0/gems/activerecord-4.1.0/lib/active_record/connection_adapters/abstract_adapter.rb:367:in `log'
    /Users/jun.sumida/.rvm/gems/ruby-2.1.0/gems/activerecord-4.1.0/lib/active_record/connection_adapters/sqlite3_adapter.rb:298:in `exec_query'
    /Users/jun.sumida/.rvm/gems/ruby-2.1.0/gems/activerecord-4.1.0/lib/active_record/connection_adapters/sqlite3_adapter.rb:321:in `exec_delete'
    /Users/jun.sumida/.rvm/gems/ruby-2.1.0/gems/activerecord-4.1.0/lib/active_record/connection_adapters/abstract/database_statements.rb:111:in `update'
    /Users/jun.sumida/.rvm/gems/ruby-2.1.0/gems/activerecord-4.1.0/lib/active_record/connection_adapters/abstract/query_cache.rb:14:in `update'
    /Users/jun.sumida/.rvm/gems/ruby-2.1.0/gems/activerecord-4.1.0/lib/active_record/relation.rb:77:in `update_record'
    /Users/jun.sumida/.rvm/gems/ruby-2.1.0/gems/activerecord-4.1.0/lib/active_record/persistence.rb:493:in `update_record'
    /Uservm/gems/ruby-2.1.0/gems/activerecord-4.1.0/lib/active_record/connection_adapters/abstract/database_statements.rb:111:in `update'
    /Users/jun.sumida/.rvm/gems/ruby-2.1.0/gems/activerecord-4.1.0/lib/active_record/connection_adapters/abstract/query_cache.rb:14:in `update'
    /Users/jun.sumida/.rvm/gems/ruby-2.1.0/gems/activerecord-4.1.0/lib/active_record/relation.rb:77:in `update_record'
    /Users/jun.sumida/.rvm/gems/ruby-2.1.0/gems/activerecord-4.1.0/lib/active_record/persistence.rb:493:in `update_record'
    /Useters/abstract_adapter.rb:367:in `log'
    /Users/jun.sumida/.rvm/gems/ruby-2.1.0/gems/activerecord-4.1.0/lib/active_record/connection_adapters/sqlite3_adapter.rb:359:in `commit_db_transaction'
    /Users/jun.sumida/.rvm/gems/ruby-2.1.0/gems/activerecord-4.1.0/lib/active_record/connection_adapters/abstract/transaction.rb:180:in `perform_commit'
    /Users/jun.sumida/.rvm/gems/ruby-2.1.0/gems/activerecord-4.1.0/lib/active_record/connection_adapters/abstract/transaction.rb:120:in `commit'
    /Users/jun.sumida/.rvm/gems/rrs/jun.sumida/.rvm/gems/ruby-2.1.0/gems/activerecord-4.1.0/lib/active_record/locking/optimistic.rb:70:in `update_record'
    /Users/jun.sumida/.rvm/gems/ruby-2.1.0/gems/activerecord-4.1.0/lib/active_record/attribute_methods/dirty.rb:83:in `update_record'
    /Users/jun.sumida/.rvm/gems/ruby-2.1.0/gems/activerecord-4.1.0/lib/active_record/callbacks.rb:310:in `block in update_record'
    /Users/jun.sumida/.rvm/gems/ruby-2.1.0/gems/activesupport-4.1.0/lib/active_support/callbacks.rb:82:in `run_callbacks'
    /Users/jun.surs/jun.sumida/.rvm/gems/ruby-2.1.0/gems/activerecord-4.1.0/lib/active_record/locking/optimistic.rb:70:in `update_record'
    /Users/jun.sumida/.rvm/gems/ruby-2.1.0/gems/activerecord-4.1.0/lib/active_record/attribute_methods/dirty.rb:83:in `update_record'
    /Users/jun.sumida/.rvm/gems/ruby-2.1.0/gems/activerecord-4.1.0/lib/active_record/callbacks.rb:310:in `block in update_record'
    /Users/jun.sumida/.rvm/gems/ruby-2.1.0/gems/activesupport-4.1.0/lib/active_support/callbacks.rb:82:in `run_callbacks'
    /Users/jun.suuby-2.1.0/gems/activerecord-4.1.0/lib/active_record/connection_adapters/abstract/database_statements.rb:245:in `commit_transaction'
    /Users/jun.sumida/.rvm/gems/ruby-2.1.0/gems/activerecord-4.1.0/lib/active_record/connection_adapters/abstract/database_statements.rb:225:in `within_new_transaction'
    /Users/jun.sumida/.rvm/gems/ruby-2.1.0/gems/activerecord-4.1.0/lib/active_record/connection_adapters/abstract/database_statements.rb:211:in `transaction'
    /Users/jun.sumida/.rvm/gems/ruby-2.1.0/gems/activerecord-4.1.0/lib/active_record/transactions.rb:208:in `transaction'
    /Users/jun.sumida/.rvm/gems/ruby-2.1.0/gems/activerecord-4.1.0/lib/active_record/transactions.rb:326:in `with_transaction_returning_status'
    /Users/jun.sumida/.rvm/gems/ruby-2.1.0/gems/activerecord-4.1.0/lib/active_record/transactions.rb:273:in `save!'
    /Users/jun.sumida/github/mosscow/app/app.rb:83:in `block in <class:Mosscow>'
    /Users/jun.sumida/.rvm/gems/ruby-2.1.0/gems/sinatra-1.4.5/lib/sinatra/base.rb:1603:in `call'
    /Users/jun.sumida/.rvm/gemida/.rvm/gems/ruby-2.1.0/gems/activerecord-4.1.0/lib/active_record/callbacks.rb:310:in `update_record'
    /Users/jun.sumida/.rvm/gems/ruby-2.1.0/gems/activerecord-4.1.0/lib/active_record/timestamp.rb:70:in `update_record'
    /Users/jun.sumida/.rvm/gems/ruby-2.1.0/gems/activerecord-4.1.0/lib/active_record/persistence.rb:482:in `create_or_update'
    /Users/jun.sumida/.rvm/gems/ruby-2.1.0/gems/activerecord-4.1.0/lib/active_record/callbacks.rb:302:in `block in create_or_update'
    /Users/jun.sumida/.rvm/gems/ruby-2.1.mida/.rvm/gems/ruby-2.1.0/gems/activerecord-4.1.0/lib/active_record/callbacks.rb:310:in `update_record'
    /Users/jun.sumida/.rvm/gems/ruby-2.1.0/gems/activerecord-4.1.0/lib/active_record/timestamp.rb:70:in `update_record'
    /Users/jun.sumida/.rvm/gems/ruby-2.1.0/gems/activerecord-4.1.0/lib/active_record/persistence.rb:482:in `create_or_update'
    /Users/jun.sumida/.rvm/gems/ruby-2.1.0/gems/activerecord-4.1.0/lib/active_record/callbacks.rb:302:in `block in create_or_update'
    /Users/jun.sumida/.rvm/gems/ruby-2.1.ms/ruby-2.1.0/gems/sinatra-1.4.5/lib/sinatra/base.rb:1603:in `block in compile!'
    /Users/jun.sumida/.rvm/gems/ruby-2.1.0/gems/sinatra-1.4.5/lib/sinatra/base.rb:966:in `[]'
    /Users/jun.sumida/.rvm/gems/ruby-2.1.0/gems/sinatra-1.4.5/lib/sinatra/base.rb:966:in `block (3 levels) in route!'
    /Users/jun.sumida/.rvm/gems/ruby-2.1.0/gems/sinatra-1.4.5/lib/sinatra/base.rb:985:in `route_eval'
    /Users/jun.sumida/.rvm/gems/ruby-2.1.0/gems/sinatra-1.4.5/lib/sinatra/base.rb:966:in `block (2 levels) in route!'
    /Users/jun0/gems/activesupport-4.1.0/lib/active_support/callbacks.rb:82:in `run_callbacks'
    /Users/jun.sumida/.rvm/gems/ruby-2.1.0/gems/activerecord-4.1.0/lib/active_record/callbacks.rb:302:in `create_or_update'
    /Users/jun.sumida/.rvm/gems/ruby-2.1.0/gems/activerecord-4.1.0/lib/active_record/persistence.rb:125:in `save!'
    /Users/jun.sumida/.rvm/gems/ruby-2.1.0/gems/activerecord-4.1.0/lib/active_record/validations.rb:57:in `save!'
    /Users/jun.sumida/.rvm/gems/ruby-2.1.0/gems/activerecord-4.1.0/lib/active_record/attri0/gems/activesupport-4.1.0/lib/active_support/callbacks.rb:82:in `run_callbacks'
    /Users/jun.sumida/.rvm/gems/ruby-2.1.0/gems/activerecord-4.1.0/lib/active_record/callbacks.rb:302:in `create_or_update'
    /Users/jun.sumida/.rvm/gems/ruby-2.1.0/gems/activerecord-4.1.0/lib/active_record/persistence.rb:125:in `save!'
    /Users/jun.sumida/.rvm/gems/ruby-2.1.0/gems/activerecord-4.1.0/lib/active_record/validations.rb:57:in `save!'
    /Users/jun.sumida/.rvm/gems/ruby-2.1.0/gems/activerecord-4.1.0/lib/active_record/attri.sumida/.rvm/gems/ruby-2.1.0/gems/sinatra-1.4.5/lib/sinatra/base.rb:1006:in `block in process_route'
    /Users/jun.sumida/.rvm/gems/ruby-2.1.0/gems/sinatra-1.4.5/lib/sinatra/base.rb:1004:in `catch'
    /Users/jun.sumida/.rvm/gems/ruby-2.1.0/gems/sinatra-1.4.5/lib/sinatra/base.rb:1004:in `process_route'
    /Users/jun.sumida/.rvm/gems/ruby-2.1.0/gems/sinatra-1.4.5/lib/sinatra/base.rb:964:in `block in route!'
    /Users/jun.sumida/.rvm/gems/ruby-2.1.0/gems/sinatra-1.4.5/lib/sinatra/base.rb:963:in `each'
    /Users/jun.sumibute_methods/dirty.rb:29:in `save!'
    /Users/jun.sumida/.rvm/gems/ruby-2.1.0/gems/activerecord-4.1.0/lib/active_record/transactions.rb:273:in `block in save!'
    /Users/jun.sumida/.rvm/gems/ruby-2.1.0/gems/activerecord-4.1.0/lib/active_record/transactions.rb:329:in `block in with_transaction_returning_status'
    /Users/jun.sumida/.rvm/gems/ruby-2.1.0/gems/activerecord-4.1.0/lib/active_record/connection_adapters/abstract/database_statements.rb:211:in `block in transaction'
    /Users/jun.sumida/.rvm/gems/ruby-2.1.0/gems/activerecord-4.1.0/lib/active_record/connection_adapters/abstract/database_statements.rb:219:in `within_new_transaction'
    /Users/jun.sumida/.rvm/gems/ruby-2.1.0/gems/activerecord-4.1.0/lib/active_record/connection_adapters/abstract/database_statements.rb:211:in `transaction'
    /Users/jun.sumida/.rvm/gems/ruby-2.1.0/gems/activerecord-4.1.0/lib/active_record/transactions.rb:208:in `transaction'
    /Users/jun.sumida/.rvm/gems/ruby-2.1.0/gems/activerecord-4.1.0/lib/active_record/transactions.rb:326:in `with_tda/.rvm/gems/ruby-2.1.0/gems/sinatra-1.4.5/lib/sinatra/base.rb:963:in `route!'
    /Users/jun.sumida/.rvm/gems/ruby-2.1.0/gems/sinatra-1.4.5/lib/sinatra/base.rb:1076:in `block in dispatch!'
    /Users/jun.sumida/.rvm/gems/ruby-2.1.0/gems/sinatra-1.4.5/lib/sinatra/base.rb:1058:in `block in invoke'
    /Users/jun.sumida/.rvm/gems/ruby-2.1.0/gems/sinatra-1.4.5/lib/sinatra/base.rb:1058:in `catch'
    /Users/jun.sumida/.rvm/gems/ruby-2.1.0/gems/sinatra-1.4.5/lib/sinatra/base.rb:1058:in `invoke'
    /Users/jun.sumida/.rransaction_returning_status'
    /Users/jun.sumida/.rvm/gems/ruby-2.1.0/gems/activerecord-4.1.0/lib/active_record/transactions.rb:273:in `save!'
    /Users/jun.sumida/github/mosscow/app/app.rb:83:in `block in <class:Mosscow>'
    /Users/jun.sumida/.rvm/gems/ruby-2.1.0/gems/sinatra-1.4.5/lib/sinatra/base.rb:1603:in `call'
    /Users/jun.sumida/.rvm/gems/ruby-2.1.0/gems/sinatra-1.4.5/lib/sinatra/base.rb:1603:in `block in compile!'
    /Users/jun.sumida/.rvm/gems/ruby-2.1.0/gems/sinatra-1.4.5/lib/sinatra/base.rb:966:in `[]'
vm/gems/bute_methods/dirty.rb:29:in `save!'
    /Users/jun.sumida/.rvm/gems/ruby-2.1.0/gems/activerecord-4.1.0/lib/active_record/transactions.rb:273:in `block in save!'
    /Users/jun.sumida/.rvm/gems/ruby-2.1.0/gems/activerecord-4.1.0/lib/active_record/transactions.rb:329:in `block in with_transaction_returning_status'
    /Users/jun.sumida/.rvm/gems/ruby-2.1.0/gems/activerecord-4.1.0/lib/active_record/connection_adapters/abstract/database_statements.rb:211:in `block in transaction'
    /Users/jun.sumida/.rvm/gems/ruby-2.1.0/ /Users/jun.sumida/.rvm/gems/ruby-2.1.0/gems/sinatra-1.4.5/lib/sinatra/base.rb:966:in `block (3 levels) in route!'
    /Users/jun.sumida/.rvm/gems/ruby-2.1.0/gems/sinatra-1.4.5/lib/sinatra/base.rb:985:in `route_eval'
    /Users/jun.sumida/.rvm/gems/ruby-2.1.0/gems/sinatra-1.4.5/lib/sinatra/base.rb:966:in `block (2 levels) in route!'
    /Users/jun.sumida/.rvm/gems/ruby-2.1.0/gems/sinatra-1.4.5/lib/sinatra/base.rb:1006:in `block in process_route'
    /Users/jun.sumida/.rvm/gems/ruby-2.1.0/gems/sinatra-1.4.5/lib/sinatra/ruby-2.1.0/gems/sinatra-1.4.5/lib/sinatra/base.rb:1073:in `dispatch!'
    /Users/jun.sumida/.rvm/gems/ruby-2.1.0/gems/sinatra-1.4.5/lib/sinatra/base.rb:898:in `block in call!'
    /Users/jun.sumida/.rvm/gems/ruby-2.1.0/gems/sinatra-1.4.5/lib/sinatra/base.rb:1058:in `block in invoke'
    /Users/jun.sumida/.rvm/gems/ruby-2.1.0/gems/sinatra-1.4.5/lib/sinatra/base.rb:1058:in `catch'
    /Users/jun.sumida/.rvm/gems/ruby-2.1.0/gems/sinatra-1.4.5/lib/sinatra/base.rb:1058:in `invoke'
    /Users/jun.sumida/.rvm/gems/ruby-2.1.0/gemgems/activerecord-4.1.0/lib/active_record/connection_adapters/abstract/database_statements.rb:219:in `within_new_transaction'
    /Users/jun.sumida/.rvm/gems/ruby-2.1.0/gems/activerecord-4.1.0/lib/active_record/connection_adapters/abstract/database_statements.rb:211:in `transaction'
    /Users/jun.sumida/.rvm/gems/ruby-2.1.0/gems/activerecord-4.1.0/lib/active_record/transactions.rb:208:in `transaction'
    /Users/jun.sumida/.rvm/gems/ruby-2.1.0/gems/activerecord-4.1.0/lib/active_record/transactions.rb:326:inbase.rb:1004:in `catch'
    /Users/jun.sumida/.rvm/gems/ruby-2.1.0/gems/sinatra-1.4.5/lib/sinatra/base.rb:1004:in `process_route'
    /Users/jun.sumida/.rvm/gems/ruby-2.1.0/gems/sinatra-1.4.5/lib/sinatra/base.rb:964:in `block in route!'
    /Users/jun.sumida/.rvm/gems/ruby-2.1.0/gems/sinatra-1.4.5/lib/sinatra/base.rb:963:in `each'
    /Users/jun.sumida/.rvm/gems/ruby-2.1.0/gems/sinatra-1.4.5/lib/sinatra/base.rb:963:in `route!'
    /Users/jun.sumida/.rvm/gems/ruby-2.1.0/gems/sinatra-1.4.5/lib/sinatra/base.rb:1076:in `block `with_transaction_returning_status'
    /Users/jun.sumida/.rvm/gems/ruby-2.1.0/gems/activerecord-4.1.0/lib/active_record/transactions.rb:273:in `save!'
    /Users/jun.sumida/github/mosscow/app/app.rb:83:in `block in <class:Mosscow>'
    /Users/jun.sumida/.rvm/gems/ruby-2.1.0/gems/sinatra-1.4.5/lib/sinatra/base.rb:1603:in `call'
    /Users/jun.sumida/.rvm/gems/ruby-2.1.0/gems/sinatra-1.4.5/lib/sinatra/base.rb:1603:in `block in compile!'
    /Users/jun.sumida/.rvm/gems/ruby-2.1.0/gems/sinatra-1.4.5/lib/sinatra/base.rb:966:in `[]'
s/sinatra-1.4.5/lib/sinatra/base.rb:898:in `call!'
    /Users/jun.sumida/.rvm/gems/ruby-2.1.0/gems/sinatra-1.4.5/lib/sinatra/base.rb:886:in `call'
    /Users/jun.sumida/.rvm/gems/ruby-2.1.0/gems/rack-protection-1.5.3/lib/rack/protection/xss_header.rb:18:in `call'
    /Users/jun.sumida/.rvm/gems/ruby-2.1.0/gems/rack-protection-1.5.3/lib/rack/protection/path_traversal.rb:16:in `call'
    /Users/jun.sumida/.rvm/gems/ruby-2.1.0/gems/rack-protection-1.5.3/lib/rack/protection/json_csrf.rb:18:in `call'
    /Users/jun. in dispatch!'
    /Users/jun.sumida/.rvm/gems/ruby-2.1.0/gems/sinatra-1.4.5/lib/sinatra/base.rb:1058:in `block in invoke'
    /Users/jun.sumida/.rvm/gems/ruby-2.1.0/gems/sinatra-1.4.5/lib/sinatra/base.rb:1058:in `catch'
    /Users/jun.sumida/.rvm/gems/ruby-2.1.0/gems/sinatra-1.4.5/lib/sinatra/base.rb:1058:in `invoke'
    /Users/jun.sumida/.rvm/gems/ruby-2.1.0/gems/sinatra-1.4.5/lib/sinatra/base.rb:1073:in `dispatch!'
    /Users/jun.sumida/.rvm/gems/ruby-2.1.0/gems/sinatra-1.4.5/lib/sinatra/base.rb:898:in `block in call!'sumida/.rvm
    /Users/jun.sumida/.rvm/gems/ruby-2.1.0/gems/sinatra-1.4.5/lib/sinatra/base.rb:1058:in `block in invoke'
    /Users/jun.sumida/.rvm/gems/ruby-2.1.0/gems/sinatra-1.4.5/lib/sinatra/base.rb:1058:in `catch'
    /Users/jun.sumida/.rvm/gems/ruby-2.1.0/gems/sinatra-1.4.5/lib/sinatra/base.rb:1058:in `invoke'
    /Users/jun.sumida/.rvm/gems/ruby-2.1.0/gems/sinatra-1.4.5/lib/sinatra/base.rb:898:in `call!'
    /Users/jun.sumida/.rvm/gems/ruby-2.1.0/gems/sinatra-1.4.5/lib/sinatra/base.rb:886:in `call'
    /Users/jun.sumida/.rvm/gems /Users/jun.sumida/.rvm/gems/ruby-2.1.0/gems/sinatra-1.4.5/lib/sinatra/base.rb:966:in `block (3 levels) in route!'
    /Users/jun.sumida/.rvm/gems/ruby-2.1.0/gems/sinatra-1.4.5/lib/sinatra/base.rb:985:in `route_eval'
    /Users/jun.sumida/.rvm/gems/ruby-2.1.0/gems/sinatra-1.4.5/lib/sinatra/base.rb:966:in `block (2 levels) in route!'
    /Users/jun.sumida/.rvm/gems/ruby-2.1.0/gems/sinatra-1.4.5/lib/sinatra/base.rb:1006:in `block in process_route'
    /Users/jun.sumida/.rvm/gems/ruby-2.1.0/gems/sinatra-1.4.5/li/gems/ruby-2.1.0/gems/rack-protection-1.5.3/lib/rack/protection/base.rb:49:in `call'
    /Users/jun.sumida/.rvm/gems/ruby-2.1.0/gems/rack-protection-1.5.3/lib/rack/protection/base.rb:49:in `call'
    /Users/jun.sumida/.rvm/gems/ruby-2.1.0/gems/rack-protection-1.5.3/lib/rack/protection/frame_options.rb:31:in `call'
    /Users/jun.sumida/.rvm/gems/ruby-2.1.0/gems/rack-1.5.2/lib/rack/nulllogger.rb:9:in `call'
    /Users/jun.sumida/.rvm/gems/ruby-2.1.0/gems/rack-1.5.2/lib/rack/head.rb:11:in `call'
    /Users/jun.sumida/.rvm/gb/sinatra/ems/ruby-2.1.0/gems/sinatra-1.4.5/lib/sinatra/show_exceptions.rb:21:in `call'
    /Users/jun.sumida/.rvm/gems/ruby-2.1.0/gems/sinatra-1.4.5/lib/sinatra/base.rb:180:in `call'
    /Users/jun.sumida/.rvm/gems/ruby-2.1.0/gems/sinatra-1.4.5/lib/sinatra/base.rb:2014:in `call'
    /Users/jun.sumida/.rvm/gems/ruby-2.1.0/gems/sinatra-1.4.5/lib/sinatra/base.rb:1478:in `block in call'
    /Users/jun.sumida/.rvm/gems/ruby-2.1.0/gems/sinatra-1.4.5/lib/sinatra/base.rb:1788:in `synchronize'
    /Users/jun.sumida/.rvm/gems/ruby-2.1.0/gem/ruby-2.1.0/gems/rack-protection-1.5.3/lib/rack/protection/xss_header.rb:18:in `call'
    /Users/jun.sumida/.rvm/gems/ruby-2.1.0/gems/rack-protection-1.5.3/lib/rack/protection/path_traversal.rb:16:in `call'
    /Users/jun.sumida/.rvm/gems/ruby-2.1.0/gems/rack-protection-1.5.3/lib/rack/protection/json_csrf.rb:18:in `call'
    /Users/jun.sumida/.rvm/gems/ruby-2.1.0/gems/rack-protection-1.5.3/lib/rack/protection/base.rb:49:in `call'
    /Users/jun.sumida/.rvm/gems/ruby-2.1.0/gems/rack-protection-1.5.3/lib/rack/protection/base.rb:49:in `call'
    /Users/jun.sumida/.rvm/gems/ruby-2.1.0/gems/rack-protection-1.5.3/lib/rack/protection/frame_options.rb:31:in `call'
    /Users/jun.sumida/.rvm/gems/ruby-2.1.0/gems/rack-1.5.2/lib/rack/nulllogger.rb:9:in `call'
    /Users/jun.sumida/.rvm/gems/ruby-2.1.0/gems/rack-1.5.2/lib/rack/head.rb:11:in `call'
    /Users/jun.sumida/.rvm/gems/ruby-2.1.0/gems/sinatra-1.4.5/lib/sinatra/show_exceptions.rb:21:in `call'
    /Users/jun.sumida/.rvm/gems/ruby-2.1.0/gems/sinatra-1.4.5/lib/sinatra/base.rb:180:in `call'
    s/sinatra-1.4.5/lib/sinatra/base.rb:1478:in `call'
    /Users/jun.sumida/.rvm/gems/ruby-2.1.0/bundler/gems/rack-camel_snake-d34cdebda35f/lib/rack/camel_snake.rb:15:in `call'
    /Users/jun.sumida/.rvm/gems/ruby-2.1.0/bundler/gems/rack-server_errors-df9c6c2b5720/lib/rack/server_errors.rb:8:in `call'
    /Users/jun.sumida/.rvm/gems/ruby-2.1.0/gems/rack-1.5.2/lib/rack/lint.rb:49:in `_call'
    /Users/jun.sumida/.rvm/gems/ruby-2.1.0/gems/rack-1.5.2/lib/rack/lint.rb:37:in `call'
    /Users/jun.sumida/.rvm/gems/ruby-2.1.0/gems/base.rb:1004:in `catch'
    /Users/jun.sumida/.rvm/gems/ruby-2.1.0/gems/sinatra-1.4.5/lib/sinatra/base.rb:1004:in `process_route'
    /Users/jun.sumida/.rvm/gems/ruby-2.1.0/gems/sinatra-1.4.5/lib/sinatra/base.rb:964:in `block in route!'
    /Users/jun.sumida/.rvm/gems/ruby-2.1.0/gems/sinatra-1.4.5/lib/sinatra/base.rb:963:in `each'
    /Users/jun.sumida/.rvm/gems/ruby-2.1.0/gems/sinatra-1.4.5/lib/sinatra/base.rb:963:in `route!'
    /Users/jun.sumida/.rvm/gems/ruby-2.1.0/gems/sinatra-1.4.5/lib/sinatra/base.rb:1076:in `block/Users/jun.sumida/.rvm/gems/ruby-2.1.0/gems/sinatra-1.4.5/lib/sinatra/base.rb:2014:in `call'
    /Users/jun.sumida/.rvm/gems/ruby-2.1.0/gems/sinatra-1.4.5/lib/sinatra/base.rb:1478:in `block in call'
    /Users/jun.sumida/.rvm/gems/ruby-2.1.0/gems/sinatra-1.4.5/lib/sinatra/base.rb:1788:in `synchronize'
    /Users/jun.sumida/.rvm/gems/ruby-2.1.0/gems/sinatra-1.4.5/lib/sinatra/base.rb:1478:in `call'
    /Users/jun.sumida/.rvm/gems/ruby-2.1.0/bundler/gems/rack-camel_snake-d34cdebda35f/lib/rack/camel_snake.rb:15:in `call'
    rack-1.5.2/lib/rack/showexceptions.rb:24:in `call'
    /Users/jun.sumida/.rvm/gems/ruby-2.1.0/gems/rack-1.5.2/lib/rack/commonlogger.rb:33:in `call'
    /Users/jun.sumida/.rvm/gems/ruby-2.1.0/gems/sinatra-1.4.5/lib/sinatra/base.rb:217:in `call'
    /Users/jun.sumida/.rvm/gems/ruby-2.1.0/gems/rack-1.5.2/lib/rack/chunked.rb:43:in `call'
    /Users/jun.sumida/.rvm/gems/ruby-2.1.0/gems/rack-1.5.2/lib/rack/content_length.rb:14:in `call'
    /Users/jun.sumida/.rvm/gems/ruby-2.1.0/gems/rack-1.5.2/lib/rack/handler/webrick.rb:60:in in dispatch!'
    /Users/jun.sumida/.rvm/gems/ruby-2.1.0/gems/sinatra-1.4.5/lib/sinatra/base.rb:1058:in `block in invoke'
    /Users/jun.sumida/.rvm/gems/ruby-2.1.0/gems/sinatra-1.4.5/lib/sinatra/base.rb:1058:in `catch'
    /Users/jun.sumida/.rvm/gems/ruby-2.1.0/gems/sinatra-1.4.5/lib/sinatra/base.rb:1058:in `invoke'
    /Users/jun.sumida/.rvm/gems/ruby-2.1.0/gems/sinatra-1.4.5/lib/sinatra/base.rb:1073:in `dispatch!'
    /Users/jun.sumida/.rvm/gems/ruby-2.1.0/gems/sinatra-1.4.5/lib/sinatra/base.rb:898:in `block in call!' `service'
    /Users/jun.sumida/.rvm/rubies/ruby-2.1.0/lib/ruby/2.1.0/webrick/httpserver.rb:138:in `service'
    /Users/jun.sumida/.rvm/rubies/ruby-2.1.0/lib/ruby/2.1.0/webrick/httpserver.rb:94:in `run'
    /Users/jun.sumida/.rvm/rubies/ruby-2.1.0/lib/ruby/2.1.0/webrick/server.rb:295:in `block in start_thread'

    /Users/jun.sumida/.rvm/gems/ruby-2.1.0/gems/sinatra-1.4.5/lib/sinatra/base.rb:1058:in `block in invoke'
    /Users/jun.sumida/.rvm/gems/ruby-2.1.0/gems/sinatra-1.4.5/lib/sinatra/base.rb:1058:in `catch'
    /Users/jun.sumida/.rvm/gems/ruby-2.1.0/gems/sinatra-1.4.5/lib/sinatra/base.rb:1058:in `invoke'
    /Users/jun.sumida/.rvm/gems/ruby-2.1.0/gems/sinatra-1.4.5/lib/sinatra/base.rb:898:in `call!'
    /Users/jun.sumida/.rvm/gems/ruby-2.1.0/gems/sinatra-1.4.5/lib/sinatra/base.rb:886:in `call'
    /Users/jun.sumida/.rvm/gems/Users/jun.sumida/.rvm/gems/ruby-2.1.0/bundler/gems/rack-server_errors-df9c6c2b5720/lib/rack/server_errors.rb:8:in `call'
    /Users/jun.sumida/.rvm/gems/ruby-2.1.0/gems/rack-1.5.2/lib/rack/lint.rb:49:in `_call'
    /Users/jun.sumida/.rvm/gems/ruby-2.1.0/gems/rack-1.5.2/lib/rack/lint.rb:37:in `call'
    /Users/jun.sumida/.rvm/gems/ruby-2.1.0/gems/rack-1.5.2/lib/rack/showexceptions.rb:24:in `call'
    /Users/jun.sumida/.rvm/gems/ruby-2.1.0/gems/rack-1.5.2/lib/rack/commonlogger.rb:33:in `call'
    /Users/jun.sumida/.rvm/gems/ruby-2.1.0/gems/sinatra-1.4.5/lib/sinatra/base.rb:217:in `call'
    /Users/jun.sumida/.rvm/gems/ruby-2.1.0/gems/rack-1.5.2/lib/rack/chunked.rb:43:in `call'
    /Users/jun.sumida/.rvm/gems/ruby-2.1.0/gems/rack-1.5.2/lib/rack/content_length.rb:14:in `call'
    /Users/jun.sumida/.rvm/gems/ruby-2.1.0/gems/rack-1.5.2/lib/rack/handler/webrick.rb:60:in `service'
    /Users/jun.sumida/.rvm/rubies/ruby-2.1.0/lib/ruby/2.1.0/webrick/httpserver.rb:138:in `service'
    /Users/jun.sumida/.rvm/rubies/ruby-2.1.0/lib/ruby/2.1.0/webrick//ruby-2.1.0/gems/rack-protection-1.5.3/lib/rack/protection/xss_header.rb:18:in `call'
    /Users/jun.sumida/.rvm/gems/ruby-2.1.0/gems/rack-protection-1.5.3/lib/rack/protection/path_traversal.rb:16:in `call'
    /Users/jun.sumida/.rvm/gems/ruby-2.1.0/gems/rack-protection-1.5.3/lib/rack/protection/json_csrf.rb:18:in `call'
    /Users/jun.sumida/.rvm/gems/ruby-2.1.0/gems/rack-protection-1.5.3/lib/rack/protection/base.rb:49:in `call'
    /Users/jun.sumida/.rvm/gems/ruby-2.1.0/gems/rack-protection-1.5.3/lib/rack/protection/httpserver.rb:94:in `run'
    /Users/jun.sumida/.rvm/rubies/ruby-2.1.0/lib/ruby/2.1.0/webrick/server.rb:295:in `block in start_thread'base.rb:49:in `call'
    /Users/jun.sumida/.rvm/gems/ruby-2.1.0/gems/rack-protection-1.5.3/lib/rack/protection/frame_options.rb:31:in `call'
    /Users/jun.sumida/.rvm/gems/ruby-2.1.0/gems/rack-1.5.2/lib/rack/nulllogger.rb:9:in `call'
    /Users/jun.sumida/.rvm/gems/ruby-2.1.0/gems/rack-1.5.2/lib/rack/head.rb:11:in `call'
    /Users/jun.sumida/.rvm/gems/ruby-2.1.0/gems/sinatra-1.4.5/lib/sinatra/show_exceptions.rb:21:in `call'
    /Users/jun.sumida/.rvm/gems/ruby-2.1.0/gems/sinatra-1.4.5/lib/sinatra/base.rb:180:in `call'

/Users/jun.sumida/.rvm/gems/ruby-2.1.0/gems/sinatra-1.4.5/lib/sinatra/base.rb:2014:in `call'
    /Users/jun.sumida/.rvm/gems/ruby-2.1.0/gems/sinatra-1.4.5/lib/sinatra/base.rb:1478:in `block in call'
    /Users/jun.sumida/.rvm/gems/ruby-2.1.0/gems/sinatra-1.4.5/lib/sinatra/base.rb:1788:in `synchronize'
    /Users/jun.sumida/.rvm/gems/ruby-2.1.0/gems/sinatra-1.4.5/lib/sinatra/base.rb:1478:in `call'
    /Users/jun.sumida/.rvm/gems/ruby-2.1.0/bundler/gems/rack-camel_snake-d34cdebda35f/lib/rack/camel_snake.rb:15:in `call'
    /Users/jun.sumida/.rvm/gems/ruby-2.1.0/bundler/gems/rack-server_errors-df9c6c2b5720/lib/rack/server_errors.rb:8:in `call'
    /Users/jun.sumida/.rvm/gems/ruby-2.1.0/gems/rack-1.5.2/lib/rack/lint.rb:49:in `_call'
    /Users/jun.sumida/.rvm/gems/ruby-2.1.0/gems/rack-1.5.2/lib/rack/lint.rb:37:in `call'
    /Users/jun.sumida/.rvm/gems/ruby-2.1.0/gems/rack-1.5.2/lib/rack/showexceptions.rb:24:in `call'
    /Users/jun.sumida/.rvm/gems/ruby-2.1.0/gems/rack-1.5.2/lib/rack/commonlogger.rb:33:in `call'
    /Users/jun.sumida/.rvm/gems/ruby-2.1.0/gems/sinatra-1.4.5/lib/sinatra/base.rb:217:in `call'
    /Users/jun.sumida/.rvm/gems/ruby-2.1.0/gems/rack-1.5.2/lib/rack/chunked.rb:43:in `call'
    /Users/jun.sumida/.rvm/gems/ruby-2.1.0/gems/rack-1.5.2/lib/rack/content_length.rb:14:in `call'
    /Users/jun.sumida/.rvm/gems/ruby-2.1.0/gems/rack-1.5.2/lib/rack/handler/webrick.rb:60:in `service'
    /Users/jun.sumida/.rvm/rubies/ruby-2.1.0/lib/ruby/2.1.0/webrick/httpserver.rb:138:in `service'
    /Users/jun.sumida/.rvm/rubies/ruby-2.1.0/lib/ruby/2.1.0/webrick/httpserver.rb:94:in `run'
    /Users/jun.sumida/.rvm/rubies/ruby-2.1.0/lib/ruby/2.1.0/webrick/server.rb:295:in `block in start_thread'
127.0.0.1 - - [14/Apr/2014 19:12:48] "PUT /api/todos/53 HTTP/1.1" 500 207853 20.0450

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

1 participant