ruby-on-rails-3 - 错误线程错误: Attempt to unlock a mutex which is locked by another thread

标签 ruby-on-rails-3 heroku thread-safety mutex rack

自从我上次部署到应用程序的生产服务器以来,我收到了一个无法重现的奇怪错误:

ERROR ThreadError: Attempt to unlock a mutex which is locked by another thread FATAL
» 11:01:11.996 2013-07-02 09:01:11.895493+00:00 app web.1 - - /app/vendor/bundle/ruby/1.9.1/gems/rack-1.4.5/lib/rack/lock.rb:20:in `unlock'
» 11:01:12.095 2013-07-02 09:01:11.989101+00:00 app web.1 - - /app/vendor/bundle/ruby/1.9.1/gems/rack-1.4.5/lib/rack/lock.rb:20:in `ensure in call'
» 11:01:12.194 2013-07-02 09:01:12.089815+00:00 app web.1 - - /app/vendor/bundle/ruby/1.9.1/gems/rack-1.4.5/lib/rack/lock.rb:21:in `call'
» 11:01:12.276 2013-07-02 09:01:12.182996+00:00 app web.1 - - /app/vendor/bundle/ruby/1.9.1/gems/actionpack-3.2.13/lib/action_dispatch/middleware/static.rb:63:in `call'
» 11:01:12.372 2013-07-02 09:01:12.277529+00:00 app web.1 - - /app/vendor/bundle/ruby/1.9.1/gems/rack-cache-1.2/lib/rack/cache/context.rb:136:in `forward'
» 11:01:12.482 2013-07-02 09:01:12.371598+00:00 app web.1 - - /app/vendor/bundle/ruby/1.9.1/gems/rack-cache-1.2/lib/rack/cache/context.rb:245:in `fetch'
» 11:01:12.565 2013-07-02 09:01:12.467375+00:00 app web.1 - - /app/vendor/bundle/ruby/1.9.1/gems/rack-cache-1.2/lib/rack/cache/context.rb:185:in `lookup'
» 11:01:12.651 2013-07-02 09:01:12.561334+00:00 app web.1 - - /app/vendor/bundle/ruby/1.9.1/gems/rack-cache-1.2/lib/rack/cache/context.rb:66:in `call!'
» 11:01:12.752 2013-07-02 09:01:12.654779+00:00 app web.1 - - /app/vendor/bundle/ruby/1.9.1/gems/rack-cache-1.2/lib/rack/cache/context.rb:51:in `call'
» 11:01:12.850 2013-07-02 09:01:12.748562+00:00 app web.1 - - /app/vendor/bundle/ruby/1.9.1/gems/rack-timeout-0.0.4/lib/rack/timeout.rb:16:in `block in call'
» 11:01:12.942 2013-07-02 09:01:12.841536+00:00 app web.1 - - /app/vendor/ruby-1.9.3/lib/ruby/1.9.1/timeout.rb:69:in `timeout'
» 11:01:13.044 2013-07-02 09:01:12.934504+00:00 app web.1 - - /app/vendor/bundle/ruby/1.9.1/gems/rack-timeout-0.0.4/lib/rack/timeout.rb:16:in `call'
» 11:01:13.146 2013-07-02 09:01:13.028302+00:00 app web.1 - - /app/vendor/bundle/ruby/1.9.1/gems/railties-3.2.13/lib/rails/engine.rb:479:in `call'
» 11:01:13.221 2013-07-02 09:01:13.123097+00:00 app web.1 - - /app/vendor/bundle/ruby/1.9.1/gems/railties-3.2.13/lib/rails/application.rb:223:in `call'
» 11:01:13.335 2013-07-02 09:01:13.219949+00:00 app web.1 - - /app/vendor/bundle/ruby/1.9.1/gems/rack-1.4.5/lib/rack/content_length.rb:14:in `call'
» 11:01:13.418 2013-07-02 09:01:13.316886+00:00 app web.1 - - /app/vendor/bundle/ruby/1.9.1/gems/railties-3.2.13/lib/rails/rack/log_tailer.rb:17:in `call'
» 11:01:13.518 2013-07-02 09:01:13.410892+00:00 app web.1 - - /app/vendor/bundle/ruby/1.9.1/gems/rack-1.4.5/lib/rack/handler/webrick.rb:59:in `service'
» 11:01:13.602 2013-07-02 09:01:13.508204+00:00 app web.1 - - /app/vendor/ruby-1.9.3/lib/ruby/1.9.1/webrick/httpserver.rb:138:in `service'
» 11:01:13.699 2013-07-02 09:01:13.603374+00:00 app web.1 - - /app/vendor/ruby-1.9.3/lib/ruby/1.9.1/webrick/httpserver.rb:94:in `run'
» 11:01:13.799 2013-07-02 09:01:13.696575+00:00 app web.1 - - /app/vendor/ruby-1.9.3/lib/ruby/1.9.1/webrick/server.rb:191:in `block in start_thread'

我在 Heroku 上托管一个 dyno。我正在 Rails 版本 Rails 3.2.13 上运行。

在之前的请求期间,没有并发任务(rake 任务、rails 控制台等)在此 dyno 上运行。

有人知道问题可能出在哪里吗?

谢谢!

问候!

最佳答案

好的。我们通过迁移到另一个网络服务器 (unicorn) 解决了这个问题。

关于ruby-on-rails-3 - 错误线程错误: Attempt to unlock a mutex which is locked by another thread,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17421963/

相关文章:

ruby-on-rails-3 - Ruby on Rails : PdfKit Runtime Error

ruby - 无法使用 facebook 进行身份验证 : undefined method 'web_server' for OAuth2?

ruby-on-rails - Rails : Faye works for me, 但由于某种未知原因仍然在控制台中给出一些 JS 错误,我应该担心吗?

css - RAILS 3.1 中 css 的条件实时编译

ruby-on-rails-3 - 警告:已初始化的常量PDF

虽然我有Heroku,但Heroku在构建期间找不到package.json

php - Heroku 上的 Facebook PHP 应用程序未收到signed_request

android - memcpy()/mktime() 在 iOS 和 Android 上是线程安全的吗?

Java 并发递增值

c++ - 指向用户定义对象的 C++ 指针是否可以线程安全读取?