Where communities thrive


  • Join over 1.5M+ people
  • Join over 100K+ communities
  • Free without limits
  • Create your own community
People
Repo info
Activity
  • Dec 01 09:39
    jdelStrother commented #2756
  • Dec 01 09:39
    jdelStrother commented #2756
  • Dec 01 09:39
    jdelStrother commented #2756
  • Dec 01 09:38
    jdelStrother commented #2756
  • Dec 01 09:38
    jdelStrother commented #2756
  • Nov 25 18:19
    jacobherrington opened #2761
  • Nov 24 17:39

    MSP-Greg on master

    [CI] OpenSSL 3.0 - Fix error me… (compare)

  • Nov 24 17:39
    MSP-Greg closed #2760
  • Nov 24 17:06
    MSP-Greg labeled #2760
  • Nov 24 17:06
    MSP-Greg labeled #2760
  • Nov 24 17:04
    lucaskanashiro commented #2760
  • Nov 24 17:03
    lucaskanashiro synchronize #2760
  • Nov 24 16:09
    MSP-Greg ready_for_review #2751
  • Nov 24 16:07
    MSP-Greg commented #2760
  • Nov 24 15:59
    lucaskanashiro commented #2760
  • Nov 24 15:58
    lucaskanashiro synchronize #2760
  • Nov 24 14:46
    MSP-Greg commented #2760
  • Nov 24 14:40
    brauliobo commented #1280
  • Nov 24 14:40
    lucaskanashiro commented #2760
  • Nov 24 14:38
    brauliobo commented #1280
Blane Dabney
@raelik
But if you start doing odd things (like say... handling persistent websocket requests), you shouldn't need to use the worker model
Technically, in the case of setting workers, 0 and 1 are effectively the same
0 means you're disabling the worker model entirely.
Chris
@ipatch
ohhh, that i didn’t know, thanks for the explanation 👍
Blane Dabney
@raelik
But setting it to 1 means you're only using 1 worker... so you aren't taking advantage of the worker model. But you also aren't actually disabling it entirely.
Chris
@ipatch
interesting, so the worker model works in conjuction with the threading nature of ruby?
Blane Dabney
@raelik
Pretty sure of that anyway. It's been so long since I've used the worker model
The worker model is actually a way to work around the limited threading in MRI
since it spins up multiple processes.
Chris
@ipatch
hmmm, so workers are new system processes spawned by puma?
Blane Dabney
@raelik
But that became less necessary in ruby 1.9
yes.
Chris
@ipatch
ahhh, that makes sense
Blane Dabney
@raelik
jRuby uses native Java threads, so the worker model is actually permanently disabled if you're using jRuby and Puma (which is my typical use case)
Chris
@ipatch
thanks for the explanation i’ll buy you a cup of ☕️ or 🍺 next time your in town.
Blane Dabney
@raelik
:+1:
Johnathon E Wright
@mustmodify
Just FYI, I had an invalid path for the second argument to stdout_redirect and puma was failing silenty. Quitting silently, I guess.
Blane Dabney
@raelik
@mustmodify what puma version?
you should have seen Cannot redirect STDERR to <your invalid path> in the puma error log
Blane Dabney
@raelik
Oh, I think I see what might be the issue there. That exception will get swallowed depending on how you start Puma
Brian Purgert
@BrianPurgert
Starting puma automatically?
I
How do
L
Brian Purgert
@BrianPurgert
**How do I start puma automatically, aka what is the recommended method? Ive just been running puma in a screen session.
Blane Dabney
@raelik
@BrianPurgert that's completely dependent on your system, deployment strategy, etc.
You might make an init.d script, or a systemd service, or could be a monit config, a line in /etc/rc.local, a launch daemon plist file (for OS X), etc etc
adamjbradley
@adamjbradley
Howdy all!
Emba Moussa
@embasbm
hi, anyone hit the wall with ubuntu 16.04?
Blane Dabney
@raelik
?
Jonathan Boler
@jboler_gitlab
Does anyone run puma on jRuby using JVM server mode?
As far as I can tell puma defaults to running in JVM client mode and I can't find anything online about running it in server mode
Something like jruby --server $(which puma)
Jonathan Boler
@jboler_gitlab
After further research it looks like everything on 64bit is run in server mode these days
David Blewett
@davidblewett
I'm having trouble configuring Puma to accept connections from rust client code (using the rustls crate). No matter what I try, I end up with: #<Puma::MiniSSL::SSLError: OpenSSL error: error:1408A0C1:SSL routines:ssl3_get_client_hello:no shared cipher - 336109761>
Blane Dabney
@raelik
I believe this is a long-standing issue: puma/puma#1339
most folks resort to using a separate reverse proxy to handle SSL
David Blewett
@davidblewett
Blerg.
Blane Dabney
@raelik
Though, it might have something to do with SNI
if your Puma SSL works otherwise, but not when connecting with Rust, that may be the issue
David Blewett
@davidblewett
hmm; I turned SNI off in the rust client request and it still fails
I think it might be something to do with the signature_algorithms in the request
Blane Dabney
@raelik
that's possible too
Tomas Ruzicka
@LeZuse
Anybody here has any experience with debugging timed out workers in puma on heroku?
It might not be an issue with puma itself, but it is kinda difficult to dig more information from the runtime to repro the case
Essentially from time to time a worker gets stuck and times out the internal ping check timeout:
955422512366379010    2018-07-16T07:55:00    2018-07-16T07:55:00Z    47022513    pb-com    50.17.80.51    Local7    Info    app/web.2    [3] ! Terminating timed out worker: 14459
955422516652969998    2018-07-16T07:55:01    2018-07-16T07:55:01Z    47022513    pb-com    54.92.176.105    Local7    Info    app/web.2    I, [2018-07-16T07:55:01.116331 #14500]  INFO -- : Installing Puma worker loop.
955422516787187716    2018-07-16T07:55:01    2018-07-16T07:55:01Z    47022513    pb-com    54.92.176.105    Local7    Info    app/web.2    [3] - Worker 0 (pid: 14500) booted, phase: 0
We have mitigated the issue a little bit by setting a lower worker_timeout so that the check is more frequent, but that doesn't help us solve the root cause :(
Tomas Ruzicka
@LeZuse
We have also tried changing the config to puma single mode with more threads. We're seeing weird restart problems with that config.
When we try to restart the stuck dyno with heroku ps:restart it times out even the restart phase and Heroku issues SIGKILL:
Sep 12 10:27:23 pb-com heroku/web.3: Stopping all processes with SIGTERM 
Sep 12 10:27:53 pb-com heroku/web.3:  Error R12 (Exit timeout) -> At least one process failed to exit within 30 seconds of SIGTERM 
Sep 12 10:27:53 pb-com heroku/web.3:  Stopping remaining processes with SIGKILL 
Sep 12 10:27:53 pb-com heroku/web.3:  Process exited with status 137
SleepySecurityNinja
@SleepySecNinja_twitter
Hello. I'm curious if there is any specific security guidance on configuring puma?