Symbol not found: _ruby_current_thread
Closed this issue · 6 comments
Running into an error on running the server.
bundle install
seemed to work fine with Rails 3.1.x and Ruby 1.9.3-p0 with rvm 1.9.2. I did run the gem install perftools.rb -v '0.5.6'
prior to bundling.
The error is as follows:
dlopen(/Users/username/.rvm/gems/ruby-1.9.3-p0@default/gems/perftools.rb-0.5.6/lib/perftools.bundle, 9): Symbol not found: _ruby_current_thread
Referenced from: /Users/username/.rvm/gems/ruby-1.9.3-p0@default/gems/perftools.rb-0.5.6/lib/perftools.bundle
Expected in: flat namespace
in /Users/username/.rvm/gems/ruby-1.9.3-p0@default/gems/perftools.rb-0.5.6/lib/perftools.bundle - /Users/username/.rvm/gems/ruby-1.9.3-p0@default/gems/perftools.rb-0.5.6/lib/perftools.bundle
/Users/username/.rvm/gems/ruby-1.9.3-p0@default/gems/activesupport-3.1.3/lib/active_support/dependencies.rb:240:in require' /Users/username/.rvm/gems/ruby-1.9.3-p0@default/gems/activesupport-3.1.3/lib/active_support/dependencies.rb:240:in
block in require'
/Users/username/.rvm/gems/ruby-1.9.3-p0@default/gems/activesupport-3.1.3/lib/active_support/dependencies.rb:223:in block in load_dependency' /Users/username/.rvm/gems/ruby-1.9.3-p0@default/gems/activesupport-3.1.3/lib/active_support/dependencies.rb:640:in
new_constants_in'
/Users/username/.rvm/gems/ruby-1.9.3-p0@default/gems/activesupport-3.1.3/lib/active_support/dependencies.rb:223:in load_dependency' /Users/username/.rvm/gems/ruby-1.9.3-p0@default/gems/activesupport-3.1.3/lib/active_support/dependencies.rb:240:in
require'
/Users/username/.rvm/gems/ruby-1.9.3-p0@default/gems/rack-perftools_profiler-0.5.1/lib/rack/perftools_profiler/profiler.rb:43:in initialize' /Users/username/.rvm/gems/ruby-1.9.3-p0@default/gems/rack-perftools_profiler-0.5.1/lib/rack/perftools_profiler/profiler_middleware.rb:20:in
new'
/Users/username/.rvm/gems/ruby-1.9.3-p0@default/gems/rack-perftools_profiler-0.5.1/lib/rack/perftools_profiler/profiler_middleware.rb:20:in initialize' /Users/username/.rvm/gems/ruby-1.9.3-p0@default/gems/rack-perftools_profiler-0.5.1/lib/rack/perftools_profiler.rb:20:in
new'
/Users/username/.rvm/gems/ruby-1.9.3-p0@default/gems/rack-perftools_profiler-0.5.1/lib/rack/perftools_profiler.rb:20:in new' /Users/username/.rvm/gems/ruby-1.9.3-p0@default/gems/actionpack-3.1.3/lib/action_dispatch/middleware/stack.rb:43:in
build'
/Users/username/.rvm/gems/ruby-1.9.3-p0@default/gems/actionpack-3.1.3/lib/action_dispatch/middleware/stack.rb:112:in block in build' /Users/username/.rvm/gems/ruby-1.9.3-p0@default/gems/actionpack-3.1.3/lib/action_dispatch/middleware/stack.rb:112:in
each'
/Users/username/.rvm/gems/ruby-1.9.3-p0@default/gems/actionpack-3.1.3/lib/action_dispatch/middleware/stack.rb:112:in inject' /Users/username/.rvm/gems/ruby-1.9.3-p0@default/gems/actionpack-3.1.3/lib/action_dispatch/middleware/stack.rb:112:in
build'
/Users/username/.rvm/gems/ruby-1.9.3-p0@default/gems/railties-3.1.3/lib/rails/engine.rb:447:in app' /Users/username/.rvm/gems/ruby-1.9.3-p0@default/gems/railties-3.1.3/lib/rails/application/finisher.rb:37:in
block in module:Finisher'
/Users/username/.rvm/gems/ruby-1.9.3-p0@default/gems/railties-3.1.3/lib/rails/initializable.rb:30:in instance_exec' /Users/username/.rvm/gems/ruby-1.9.3-p0@default/gems/railties-3.1.3/lib/rails/initializable.rb:30:in
run'
/Users/username/.rvm/gems/ruby-1.9.3-p0@default/gems/railties-3.1.3/lib/rails/initializable.rb:55:in block in run_initializers' /Users/username/.rvm/gems/ruby-1.9.3-p0@default/gems/railties-3.1.3/lib/rails/initializable.rb:54:in
each'
/Users/username/.rvm/gems/ruby-1.9.3-p0@default/gems/railties-3.1.3/lib/rails/initializable.rb:54:in run_initializers' /Users/username/.rvm/gems/ruby-1.9.3-p0@default/gems/railties-3.1.3/lib/rails/application.rb:96:in
initialize!'
/Users/username/.rvm/gems/ruby-1.9.3-p0@default/gems/railties-3.1.3/lib/rails/railtie/configurable.rb:30:in method_missing' /Volumes/Users/username/Documents/Development/ruby/rails/AppName/config/environment.rb:5:in
<top (required)>'
/Users/username/.rvm/gems/ruby-1.9.3-p0@default/gems/activesupport-3.1.3/lib/active_support/dependencies.rb:240:in require' /Users/username/.rvm/gems/ruby-1.9.3-p0@default/gems/activesupport-3.1.3/lib/active_support/dependencies.rb:240:in
block in require'
/Users/username/.rvm/gems/ruby-1.9.3-p0@default/gems/activesupport-3.1.3/lib/active_support/dependencies.rb:223:in block in load_dependency' /Users/username/.rvm/gems/ruby-1.9.3-p0@default/gems/activesupport-3.1.3/lib/active_support/dependencies.rb:640:in
new_constants_in'
/Users/username/.rvm/gems/ruby-1.9.3-p0@default/gems/activesupport-3.1.3/lib/active_support/dependencies.rb:223:in load_dependency' /Users/username/.rvm/gems/ruby-1.9.3-p0@default/gems/activesupport-3.1.3/lib/active_support/dependencies.rb:240:in
require'
/Users/username/.rvm/gems/ruby-1.9.3-p0@default/gems/railties-3.1.3/lib/rails/application.rb:83:in require_environment!' /Users/username/.rvm/gems/ruby-1.9.3-p0@default/gems/railties-3.1.3/lib/rails/application.rb:193:in
block (2 levels) in initialize_tasks'
/Users/username/.rvm/gems/ruby-1.9.3-p0@default/gems/rake-0.9.2.2/lib/rake/task.rb:205:in call' /Users/username/.rvm/gems/ruby-1.9.3-p0@default/gems/rake-0.9.2.2/lib/rake/task.rb:205:in
block in execute'
/Users/username/.rvm/gems/ruby-1.9.3-p0@default/gems/rake-0.9.2.2/lib/rake/task.rb:200:in each' /Users/username/.rvm/gems/ruby-1.9.3-p0@default/gems/rake-0.9.2.2/lib/rake/task.rb:200:in
execute'
/Users/username/.rvm/gems/ruby-1.9.3-p0@default/gems/rake-0.9.2.2/lib/rake/task.rb:158:in block in invoke_with_call_chain' /Users/username/.rvm/rubies/ruby-1.9.3-p0/lib/ruby/1.9.1/monitor.rb:211:in
mon_synchronize'
/Users/username/.rvm/gems/ruby-1.9.3-p0@default/gems/rake-0.9.2.2/lib/rake/task.rb:151:in invoke_with_call_chain' /Users/username/.rvm/gems/ruby-1.9.3-p0@default/gems/rake-0.9.2.2/lib/rake/task.rb:176:in
block in invoke_prerequisites'
/Users/username/.rvm/gems/ruby-1.9.3-p0@default/gems/rake-0.9.2.2/lib/rake/task.rb:174:in each' /Users/username/.rvm/gems/ruby-1.9.3-p0@default/gems/rake-0.9.2.2/lib/rake/task.rb:174:in
invoke_prerequisites'
/Users/username/.rvm/gems/ruby-1.9.3-p0@default/gems/rake-0.9.2.2/lib/rake/task.rb:157:in block in invoke_with_call_chain' /Users/username/.rvm/rubies/ruby-1.9.3-p0/lib/ruby/1.9.1/monitor.rb:211:in
mon_synchronize'
/Users/username/.rvm/gems/ruby-1.9.3-p0@default/gems/rake-0.9.2.2/lib/rake/task.rb:151:in invoke_with_call_chain' /Users/username/.rvm/gems/ruby-1.9.3-p0@default/gems/rake-0.9.2.2/lib/rake/task.rb:144:in
invoke'
/Users/username/.rvm/gems/ruby-1.9.3-p0@default/gems/rake-0.9.2.2/lib/rake/application.rb:116:in invoke_task' /Users/username/.rvm/gems/ruby-1.9.3-p0@default/gems/rake-0.9.2.2/lib/rake/application.rb:94:in
block (2 levels) in top_level'
/Users/username/.rvm/gems/ruby-1.9.3-p0@default/gems/rake-0.9.2.2/lib/rake/application.rb:94:in each' /Users/username/.rvm/gems/ruby-1.9.3-p0@default/gems/rake-0.9.2.2/lib/rake/application.rb:94:in
block in top_level'
/Users/username/.rvm/gems/ruby-1.9.3-p0@default/gems/rake-0.9.2.2/lib/rake/application.rb:133:in standard_exception_handling' /Users/username/.rvm/gems/ruby-1.9.3-p0@default/gems/rake-0.9.2.2/lib/rake/application.rb:88:in
top_level'
/Users/username/.rvm/gems/ruby-1.9.3-p0@default/gems/rake-0.9.2.2/lib/rake/application.rb:66:in block in run' /Users/username/.rvm/gems/ruby-1.9.3-p0@default/gems/rake-0.9.2.2/lib/rake/application.rb:133:in
standard_exception_handling'
/Users/username/.rvm/gems/ruby-1.9.3-p0@default/gems/rake-0.9.2.2/lib/rake/application.rb:63:in run' /Users/username/.rvm/gems/ruby-1.9.3-p0@default/gems/rake-0.9.2.2/bin/rake:33:in
<top (required)>'
/Users/username/.rvm/gems/ruby-1.9.3-p0@default/bin/rake:19:in load' /Users/username/.rvm/gems/ruby-1.9.3-p0@default/bin/rake:19:in
It looks like it's a problem with perftools.rb, unfortunately.
Hopefully it'll get fixed soon.
Thanks for that. Sad it seems that that has been hanging around for so long.
On Feb 2, 2012, at 3:58 PM, Ben Brinckerhoff wrote:
It looks like it's a problem with perftools.rb, unfortunately.
Hopefully it'll get fixed soon.
Reply to this email directly or view it on GitHub:
#16 (comment)
Very quick fix: tmm1/perftools.rb#39
Very cool. Thanks for posting that here!
@bhb no problem! I am curious, execution did seem to work okay, however I did end up with the following output while running it on my dev server (http://devel.mydomain.tld/some-page?profile=true) vs something more meaningful as expected and was hopeful for your help in interpreting this output:
Running the command 'bundle exec pprof.rb --gif /private/var/folders/65/l2_dsbdd2hd26hfqqbv9brnw0000gn/T/rack_perftools_profiler.prof' exited with status 1
Standard error:
/Users/username/.rvm/gems/ruby-1.9.3-p0/gems/perftools.rb-0.5.6/bin/pprof.rb:3: Use RbConfig instead of obsolete and deprecated Config.
Using local file /Users/username/.rvm/rubies/ruby-1.9.3-p0/bin/ruby.
Using local file /private/var/folders/65/l2_dsbdd2hd26hfqqbv9brnw0000gn/T/rack_perftools_profiler.prof.
No nodes to print
"No nodes to print" just means that the page completed so quickly, the profiler didn't get a chance to sample anything? You can try running more times (e.g. http://devel.mydomain.tld/some-page?profile=true×=10
or increase the frequency when configuring the middleware.
Admittedly, it's a terrible error message. My intent was to give the error message from perftools.rb directly, so it is easy to debug problems, but in the case of this error message (which is common), it'd be good to explain what it means.