Why is Ruby throwing a Segmentation fault on only my system, and only in this Rails application?
Ok, I've fixed this on my machine. I'm not sure exactly why, but downgrading the ruby-debug gem to version 0.10.0 solves the problem for me.
The specific fix is running the following commands:
sudo gem uninstall ruby-debug
sudo gem install ruby-debug --version 0.10.0
Segmentation fault with Rails 5 app with Mongoid
Solved. This is a bug affecting Ruby 2.4:
https://jira.mongodb.org/browse/RUBY-1202
Rails Script Segmentation Fault with RVM
There's a problem with you RVM installation. which
should return
/Users/maletor/.rvm/rubies/ruby-1.9.2-p0/bin/ruby
Upgrade to the latest RVM installation. There was a bug in the 1.0 release with "shell path caching".
$ rvm get head
$ rvm reload
$ rvm repair all
$ rvm use 1.9.2
Segfault when calling OpenProcessToken via Ruby/DL
This bug is not due to ruby but to your code.
You used the inappropriate method ref on a variable of DL::CPtr type in the open_process_token method.
The method open_process_token
def self.open_process_token
token_handle = DL::CPtr.malloc(DL::SIZEOF_VOIDP, DL::RUBY_FREE)
OpenProcessToken(Win.GetCurrentProcess, 0x8, token_handle.ref)
end
Should be
def self.open_process_token
ptoken_handle = DL::CPtr.malloc(DL::SIZEOF_VOIDP, DL::RUBY_FREE)
OpenProcessToken(Win.GetCurrentProcess, 0x8, ptoken_handle)
token_handle = ptoken_handle.ptr.to_i
end
(Thanks to Heesob Park on this non-issue.)
Creating Ruby time object causing garbage collection problem
Sounds like an interesting project.
You only need one Time object per interval, since you can do arithmetic operations with times. For example:
t0 = Time.new
while(1) do
if ( Time.new - t0 >= 60 ) # test using one minute
# poll inverters, update database
t0 = Time.new
end
end
Then you don't need to worry about GC issues.
PS. +1 for using delayed_job or some other way of putting this in its own thread, or cron if you can run it as its own process, since a loop like this or using sleep() will block everything else.
Related Topics
Approach for Installing System Service Implemented as Ruby Gem
Sinatra - How to Get the Server's Domain Name
Colon in the Front: Yaml Syntax
Ruby on Rails Collection Select - How to Pre-Select the Right Value
Working with a Large Data Object Between Ruby Processes
Ruby Array Concat Versus + Speed
Benefits of Using 'Hash#Fetch' Over 'Hash#[]'
Ip Range to Cidr in Ruby/Rails
"Error: Sql.H Not Found" When Installing Ruby-Odbc Gem on Ubuntu
Why Does Ruby Use Nil to Name the Null Object
Get Time from Datetime Variable in Ruby
How to Run Ruby in Haml in JavaScript Definition
What Exactly Is a Gem Native Extension
Unwanted Form Parameters Being Appended to Pagination Links
How to "Nest" the Inclusion of Modules When Using the Ruby on Rails Activesupport::Concern Feature