jekyll serve fails with "No live threads left" - rvm

I was doing the Quick Start guide on the jekyll site, but when I get to
~/myblog $ jekyll serve
It crashes immediately with
/home/myuser/.rvm/gems/ruby-head/gems/jekyll-3.0.0/lib/jekyll/liquid_renderer/file.rb:2:in `<module:Jekyll>': No live threads left. Deadlock? (fatal)
As you can see, I'm using rvm with ruby-head as my default. Also, this is a recently built Ubuntu 15.10 machine. There is very little cruft, and I've just done the default installs for both rvm and jekyll (from their respective site pages, not apt-get).
How can I fix this?

Apparently this is a bug. I solved it by doing
$ rvm use ruby-2.2
...
$ gem install jekyll

Related

redmine.org not running after updated the ruby

Ruby updated to version 1.8.7 and the redmine display at the top right side "Not Running" The issue that I found is that doesn't send mailing alerts to users when the status of one task change.
The redmine save tasks normally.
Do you know why I get "Not running"?
Do you know how can I found what is not running?
Do you know how the mail alerts will work as before?
Also the redmine is hosted in cPanel.
First of all your Ruby version is very old and non-maintaned, you should look for 2.4.x versions.
I recommend that you install new ruby via rvm or rbenv
So if you are to proceed with RVM, it's easy to install via console, it first imports the key
gpg --keyserver hkp://keys.gnupg.net --recv-keys 409B6B1796C275462A1703113804BB82D39DC0E3 7D2BAF1CF37B13E2069D6956105BD0E739499BDB
And then installs via curl and bash (your should ask for permission to use bash, because often with cpanel, the only shell users can use is some kind of jailshell)
\curl -sSL https://get.rvm.io | bash -s stable
Once RVM is installed, you will be able to install new ruby for that particular user, by typing rvm install rubyversion replace rubyversion with one of your choice.
And then proceed with Redmine upgrade, as explained in manual
http://www.redmine.org/projects/redmine/wiki/RedmineUpgrade
Once you are done with that, you must figure out, how is your redmine being served, I assume it's served as fcgi module, since it's old version of ruby, so you might have to seek for a way to run your Redmine with new ruby, I recommend to try this approach first How to get rvm running inside fcgi?
There are several ways to deploy rails app like Redmine on a web-server, however running under cpanel gives you little or no choices, alternative would be to run some server like thin, or webrick, and proxy it thru apache, which should be possible with cpanel.

How to install mod_cloudflare for easyapache 4

I am trying to install mod_cloudflare for Apache using easyapache 4 on cPanel Server. I am running CentOS 7.2.
I have installed mod_cloudflare for EasyApache4 following the instructions under Option 2 here. After running the installer it said "Done. Please restart EasyApache 4". I then went into WHM -> EasyApache 4 and tried to find the server module, but it is not to be found. I clicked the "run system update" button and tried again, to no avail. Is there an easyapache service that needs to be restarted via the command line?
I am not a hosting provider so I have not tried the Cloudflare plugin for CPanel.
* Edit 4/9/2019 *
Changing accepted answer to EasyCo's, as the original solution no longer works.
Figured I'd throw my solution into the mix using Centos 6.9 with WHM/cPanel.
bash <(curl -s https://raw.githubusercontent.com/cloudflare/mod_cloudflare/master/EasyApache/installer.sh)
wget https://raw.githubusercontent.com/cloudflare/mod_cloudflare/master/mod_cloudflare.c
yum install ea-apache24-devel
apxs -a -i -c mod_cloudflare.c
rm /etc/apache2/conf.modules.d/mod_cloudflare.conf
service httpd restart
What's happening?
We're using the cPanel installer.sh as suggested by Cloudflare but the compiled mod_cloudflare.so throws an error if you then run service httpd restart. Lets fix this.
Download the source mod_cloudflare file.
Ensure we have the correct EasyApache4 developer tools to build the mod_cloudflare module.
Build and install extension module.
Remove the new mod_cloudfare.conf file since we prefer the one that was generated and installed in step 1.
Restart apache.
Note: The mod_cloudflare module will not show in EasyApache4. You can see it's enabled by running httpd -M | grep cloudflare and you should see something like cloudflare_module (shared).
References:
https://www.cloudflare.com/technical-resources/
https://community.cloudflare.com/t/help-installing-mod-cloudflare/1747/12
http://www.marathon-studios.com/blog/issues-installing-mod_cloudflare-on-centos-7/
https://forums.cpanel.net/threads/install-httpd-devel.594631/#post-2405975
I found a solution that worked perfectly.
This github project installs the module and adds it into EasyApache so that future rebuilds keep the module active. This was the only solution I found that actually works for EasyApache 4. Everything else seems to be for EasyApache 3.
CloudFlare was not much help with this either, as they had suggested I contact my hosting provider for assistance.
I know this is a bit old now, but it's the first answer that shows up in google.
The official cloudflare answer does work, it just doesn't show up in the EA4 list of modules. However it is installed and working.
Just for others like me that reached here recently, mod_cloudflare module is deprecated and there is a native module for apache [mod_remoteip]. I can see it in EasyApache (apache module section). Also There is a manual here to install & config :
https://support.cloudflare.com/hc/en-us/articles/200170786-Restoring-original-visitor-IPs
with this module you can see Client IP through
$_SERVER['REMOTE_ADDR']
And there is no need to
$_SERVER['HTTP_CF_CONNECTING_IP']
Instructions for installing mod_cloudflare on cPanel with EasyApache4 can be found here:
https://support.cloudflare.com/hc/en-us/articles/206175737-How-do-I-restore-original-visitor-IP-with-EasyApache-cPanel-
bash <(curl -s https://raw.githubusercontent.com/cloudflare/mod_cloudflare/master/EasyApache/installer.sh)

Passenger throws Bundler::GemfileError after "gem update --system"

Background
On my local machine, I tried installing the 'bullet' gem via my gemfile, and bundle seemed to go without incident, however upon restarting my app passenger began throwing the error Invalid gemspec for uniform_notifier. It seems someone else had this issue and the suggested resolution on StackOverflow said to update RubyGems by running:
The issue
gem update --system
This produced no error messages upon running, however now none of apps will start. They all give the same vague Passenger error:
PhusionPassenger::UnknownError
There was an error in your Gemfile, and Bundler cannot continue. (Bundler::GemfileError)
I removed 'bullet' from my gemfile so it's now back in a state when it was working yesterday, so I don't think there can be an error in my gemfile. Furthermore, all of my other apps are now broken and their gemfiles haven't changed at all.
For reference:
ruby -v
ruby 1.9.2p0 (2010-08-18 revision 29036) [x86_64-darwin10.5.0]
rails -v
Rails 3.2.6
rvm --version
rvm 1.1.4 by Wayne E. Seguin
And when I do gem list for the global and local gemsets, it shows bundler 1.1.0 installed.
Edit: I should also mention that running rails s starts up a WEBrick server just fine and I can access my apps at localhost:3000, so it's only under Passenger that this error crops up.
Have you committed your Gemfile.lock?
I was able to fix this by rolling back rubygems-update to the previously installed version by running
gem update --system 1.8.11
At which point all of my apps began working again. I'm still not sure what the problem was, and will gladly switch the accepted answer from my own to someone who can provide more insight into why updating rubygems-update would break Passenger integration.
I wish someone from Phusion Passenger would give a definitive answer but just wanted to say that I've experienced the same thing. Updating rubygems has broken passenger-nginx integration for us and requires recompiling the passenger-nginx module. Not sure why this would be. My speculation is that the module is somehow compiled with a hard reference to a specific version of rubygems.

Which type of rvm install do I do if I want to use it with phusion passanger

I am on ubuntu 12.04.1 LTS.
I have installed apache2 running as www-data.
I want to use ruby 1.9.3.
I need to install passanger.
The question is which installation method should I use to install rvm. Should I use the single-user or the multi-user installation.
If I have to use the single-user installation, do I install it as my user or as www-data.
On my production systems, I install RVM system-wide. That way I can log in (or anyone else can login) and pull up a console on the system using the same ruby and gemsets. I am sure there are ways to do that with single user, but this has always been the least complicated for me.
However, for Passenger, I recommend installing that against the system ruby. The reason for that is because every time you change or upgrade your ruby, it would blow up your passenger installation and you would need to change your Apache configuration and rerun the passenger installation. This works because passenger and your application do not need to run on the same ruby installation.

Cannot call method 'charAt' of undefined - only on server

I have a rails application which is running well in local (OsX, WEBrick).
I've cloned the repo on a server (Ubuntu 10.04, Apache, Passenger), setted up passenger, but now when i try to connect to every page i get
Less::ParseError in Pages#home
Showing /var/www/MYAPP/app/views/layouts/application.html.erb where line #5 raised:
Cannot call method 'charAt' of undefined
(in /usr/lib/ruby/gems/1.8/gems/twitter-bootstrap-rails-2.0.2/vendor/assets/stylesheets/twitter/bootstrap.css.less)
the content of bootstrap.css.less is:
#import "twitter/bootstrap/bootstrap";
line 5 of application.html.erb is:
<%= stylesheet_link_tag "application" %>
ruby 1.8.7 on both machines
solved upgrading to ruby 1.9.3
Upgrading less worked for me on Ubuntu server 10.04
For system wide:
sudo npm -g install less
For user only:
npm install less
I believe this has something to do with the Ruby less gem not compiling it correctly. I had this problem locally on mac as well. Somewhere I saw a suggestion to use the node version of less (1.3) instead of the ruby gem, which you can install with npm install less.
However, most of the gems that hook up bootstrap to rails use the ruby gem version, so it seemed like a no go, esp on heroku etc. After a very frustrating couple of days on this I gave up and switch to the sass version of bootstrap: https://github.com/thomas-mcdonald/bootstrap-sass
It was simpler to integrate with rails, but unfortunate to be off the official version of bootstrap. I later went to integrate bootswatch but this doesn't play well with sass either. So I'm back to the plain old css version of bootswatch for now until a better way to handle this comes out :/