celluloid / reel

UNMAINTAINED: See celluloid/celluloid#779 - Celluloid::IO-powered web server
https://celluloid.io
MIT License
596 stars 87 forks source link

Segmentation Fault upon WebServer launch - ouch #172

Open mistergibson opened 9 years ago

mistergibson commented 9 years ago

https://gist.github.com/mistergibson/39d040abf2a5927940d6

mistergibson commented 9 years ago

update : I upgrade celluloid-io to version 0.16.2 with the exact same result

tarcieri commented 9 years ago

Can you post your code as a git repository? I can't tell what "gxg.rb" is supposed to be, but your snippet requires it.

Preferably a minified reproduction that eliminates the superfluous code would be nice...

digitalextremist commented 9 years ago

I'll put this back in for resolution and release once there's a complete repro.

digitalextremist commented 9 years ago

Btw, @mistergibson can you please move your long piece of output to a gist?

mistergibson commented 9 years ago

update:

I tracked it down to this area of my code: https://gist.github.com/mistergibson/4534209bd043533eba4e

I implement an actor as a logring, multiple loggers subscribing to messages added to a single ring object. When I use my logring - ruby mri dumps on seg fault. When I use a std. logger ruby does not dump, but the request handling actor dies due to multiple simultaneous requests from the client browser for resources (fairly typical for a browser). Is reel able to handle simultaneous requests from a browser?

tarcieri commented 9 years ago

@mistergibson yes, unless something is blocking the event loop

digitalextremist commented 9 years ago

@mistergibson I have your repro now and will take a look at it.