Symbol not found: _ruby_current_thread #16

Closed
ylluminate opened this Issue Feb 2, 2012 · 6 comments

Projects

None yet

2 participants

@ylluminate

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:inblock 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:innew_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:inrequire'
/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:innew'
/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:innew'
/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:inbuild'
/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:ineach'
/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:inbuild'
/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:inblock 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:inrun'
/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:ineach'
/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:ininitialize!'
/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:inblock 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:innew_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:inrequire'
/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:inblock (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:inblock 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:inexecute'
/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:inmon_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:inblock 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:ininvoke_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:inmon_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:ininvoke'
/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:inblock (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:inblock 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:intop_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:instandard_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

'

@bhb
Owner
bhb commented Feb 2, 2012

It looks like it's a problem with perftools.rb, unfortunately.

tmm1/perftools.rb#26

Hopefully it'll get fixed soon.

@bhb bhb closed this Feb 2, 2012
@ylluminate

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.

tmm1/perftools.rb#26

Hopefully it'll get fixed soon.


Reply to this email directly or view it on GitHub:
#16 (comment)

@ylluminate

Very quick fix: tmm1/perftools.rb#39

@bhb
Owner
bhb commented Feb 7, 2012

Very cool. Thanks for posting that here!

@ylluminate

@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

@bhb
Owner
bhb commented Feb 12, 2012

"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&times=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.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment