thin start stop abnormaly
Reported by Sylvain | April 9th, 2008 @ 04:42 PM | in 1.0
I'm trying to use Thin as my rails webserver on a Synology NAS.
the server is put on a chrooted debian.
When the server is started, I have the following error:
>> Using rails adapter
>> Thin web server (v0.8.0 codename Dodgy Dentist)
>> Threaded mode OFF
>> Maximum connections set to 1024
>> Listening on 0.0.0.0:3000, CTRL+C to stop
terminate called after throwing an instance of 'std::runtime_error'
what(): unable to create epoll descriptor: Function not implemented
Aborted
uname -a:
Linux DiskStation 2.6.15 #571 Sat Feb 2 01:53:35 CST 2008 ppc GNU/Linux
debian version:
lenny/sid
Comments and changes to this ticket
-
macournoyer April 9th, 2008 @ 04:52 PM
- → Milestone changed from to 0.8.1
- → State changed from new to open
that is weird, looks like epoll is not available or something.
Can you try to install latest version of eventmachine?
sudo gem install eventmachine --source http://code.macournoyer.com
-

Sylvain April 10th, 2008 @ 03:51 PM
I installed eventmachine 0.10 but still the same issue.
Is it because I'm chrooted?
what is supposed to give epoll? glib?
-
macournoyer April 10th, 2008 @ 04:24 PM
Doing
sudo gem install eventmachine --source http://code.macournoyer.comshould install EventMachine 0.11.0
check you have 0.11.0:
gem list -l eventmachineAre the thin and EM gems under the new root? I don't know a lot about chroot, but I think you need to link all required libraries under the new root. But epoll is built inside the kernel.
Maybe you have an old kernel, epoll was added in 2.6, what's your kernel version? run:
uname -rIf that's the problem, I can add an option to disable epoll and fallback to poll which is not as fast but is implemented since a long time I think.
-

Sylvain April 11th, 2008 @ 02:17 AM
Oops, sorry, didn't see the " --source http://code.macournoyer.com" first time.
The chroot is "complete" because it's a complete debian, except the Kernel which is retrieved from the underlying system.
But my Kernel is a 2.6.15.
I don't know if epoll() is an option to this kernel, so I'll try to see that.
-

Sylvain April 18th, 2008 @ 11:43 AM
Hi,
sorry for the delay
It doesn't work even with the last version of eventmachine
I have "epoll.h" in the chrooted environment but because I use the non-chrooted kernel, it's pretty useless.
I've sent a email to know if epoll is supported by the kernel.
Regards
-
macournoyer April 18th, 2008 @ 10:44 PM
Can you try applying this patch that disable epoll.
Go to your Thin gem installation dir (something like /usr/local/lib/ruby/gems/1.8/gems/thin-*
then
patch -p0 < disable-epoll.diffLet me know if this fix it
-
-

-
macournoyer April 20th, 2008 @ 08:02 PM
- → Milestone changed from 0.8.1 to 0.8.2
cool! I'll add an option to disable epoll then
-
macournoyer July 1st, 2008 @ 09:44 AM
- → Tag changed from to error rails
- → Milestone changed from 0.8.2 to 1.0
-
macournoyer July 13th, 2008 @ 11:43 PM
- → State changed from open to resolved
(from [37fbf1d50876315d94865e6ad44c4ac4d9840599]) Add --no-epoll option to disable epoll usage on Linux [#61 state:resolved]
Please Login or create a free account to add a new comment.
You can update this ticket by sending an email to from your email client. (help)
Create your profile
Help contribute to this project by taking a few moments to create your personal profile. Create your profile »
