Comments (7)
@headius Any thoughts on this?
from puma.
While I'm not sure if it can be responsible for that kind of 'malloc' exception, I suspect you really need to set config.threadsafe!
in a rails app used with puma, no? Otherwise puma is going to be sending overlapping concurrent requests to the same rails app instance (right?), but rails is not neccesarily running such that request/action processing is actually threadsafe for this use.
(On the other hand, I'm not entirely sure what config.threadsafe!
actually does under the hood these days, it might not actually do anything important. but it (or the other config variables it triggers, like config.allow_concurrency
) is documented to be neccessary for concurrent overlapping request processing. Search for threadsafe!
in http://guides.rubyonrails.org/configuring.html)
You might want to see if this is still reproducible with config.threadsafe!
. And puma README probably ought to say in the Rails section that you want to config.threadsafe!
(as well as be sure you aren't doing anything in app code that's not threadsafe under concurrent request handling)
from puma.
I saw the malloc error when I used the puma gem direct from github with bundler. After some poking around I realized that bundling using git (gem 'puma', :git => https://github.com/puma/puma.git
) does not build the java extension - it only builds the c extension. Forking the gem myself, building the java extension manually, and pointing bundler at my local path (gem 'puma', :path => ~/stuff/puma
) resolved the issue. I'm guessing that Jruby's experimental c compilation stuff actually kinda worked, and that's why the error isn't consistent?
When puma 1.0 was released, the java platform gem was not pushed right away (#49) so a re-install of the gem may be all you need.
from puma.
Would be nice for someone to file a separate bug for either Puma or Bundler to get the git repo to build the java version properly under that Gemfile setup.
from puma.
Re-opened issue #42 I had closed previously: #42
from puma.
Was this issue essentially covered by issue #42 ? If so can this be closed?
from puma.
Closing since it seems to be stale.
from puma.
Related Issues (20)
- Puma and Puma Dev Linux issue
- Phased-Restart Causes Action Cable Connection Loss on Rails App Restart HOT 3
- Add a hook for "before shutdown" HOT 6
- Systemd watchdog kills puma during hot restart. HOT 4
- NoMethodError: undefined method `release' for Rack:Module error at "rails s" initialization time HOT 5
- Staging environment, request.ENV['HTTP_HOST'] displays 2 urls when it should be a single url HOT 1
- HttpParserError raised when body (chunk) exceeds 4096 bytes does not end with "\r\n" HOT 4
- undefined method `log_writer' for #<Puma::Launcher on usin plugin :solid_queue in puma HOT 1
- `TestWorkerGemIndependence#test_changing_nio4r_version_during_phased_restart` fails in head builds
- Option to restrict cipher suites for TLS1.3
- Requests with a caret (`<` or `>`) in a query parameter raise a `Puma::HttpParserError` HOT 10
- Random freezes in dev mode
- Puma doesn't start the Rails app after run
- "undefined method `on_booted` for nil:NilClass" on "pumactl start" HOT 2
- Large number of workers are booting too long or not booting the first time HOT 4
- What options are not available when using `rails s`? HOT 1
- MAX_CHUNK_HEADER_SIZE = 4096 is too small for podman HOT 6
- Puma config get evaluated twice with pumactl HOT 3
- question about puma architecture
- Windows - Puma compiled without ssl support HOT 6
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from puma.