<html xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns="http://www.w3.org/TR/REC-html40"><head><meta http-equiv=Content-Type content="text/html; charset=utf-8"><meta name=Generator content="Microsoft Word 15 (filtered medium)"><style><!--
/* Font Definitions */
@font-face
        {font-family:"Cambria Math";
        panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
        {font-family:Calibri;
        panose-1:2 15 5 2 2 2 4 3 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0in;
        margin-bottom:.0001pt;
        font-size:11.0pt;
        font-family:"Calibri",sans-serif;}
a:link, span.MsoHyperlink
        {mso-style-priority:99;
        color:blue;
        text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
        {mso-style-priority:99;
        color:#954F72;
        text-decoration:underline;}
.MsoChpDefault
        {mso-style-type:export-only;}
@page WordSection1
        {size:8.5in 11.0in;
        margin:1.0in 1.0in 1.0in 1.0in;}
div.WordSection1
        {page:WordSection1;}
--></style></head><body lang=EN-US link=blue vlink="#954F72"><div class=WordSection1><p class=MsoNormal>Thanks for the reply and comments.</p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>So we only use Dancer::Standalone for development.  For production, we use uwsgi (which btw works phenomenally well as compared to Starman).</p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>This particular version of the software, including with the latest version of Dancer 1, is not yet in production, so I don’t yet know if we will see this same problem during production.  If the problem only surfaces with Dancer::Standalone, I suppose we can live with it…. what I want to avoid is releasing new software into production that has this problem from day 1.  I understand uwsgi will simply restart the crashed process, but that’s no way to run at scale, and also the user will experience an error and may not know to just “refresh”.</p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal><o:p> </o:p></p><div style='mso-element:para-border-div;border:none;border-top:solid #E1E1E1 1.0pt;padding:3.0pt 0in 0in 0in'><p class=MsoNormal style='border:none;padding:0in'><b>From: </b><a href="mailto:racke@linuxia.de">Stefan Hornburg (Racke)</a><br><b>Sent: </b>Wednesday, March 13, 2019 10:00 AM<br><b>To: </b><a href="mailto:dancer-users@dancer.pm">dancer-users@dancer.pm</a><br><b>Subject: </b>Re: [dancer-users] Dancer crashing</p></div><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>On 3/13/19 4:51 PM, Hermann Calabria wrote:</p><p class=MsoNormal>> I don’t have fatal warnings turned on.</p><p class=MsoNormal>> </p><p class=MsoNormal>>  </p><p class=MsoNormal>> </p><p class=MsoNormal>> Also, reviewing the stack trace, none of the calls appear to go through the app.  The only packages involved are:</p><p class=MsoNormal>> </p><p class=MsoNormal>>  </p><p class=MsoNormal>> </p><p class=MsoNormal>> HTTP::Server::Simple</p><p class=MsoNormal>> </p><p class=MsoNormal>> Dancer::Handler::Standalone</p><p class=MsoNormal>> </p><p class=MsoNormal>> Dancer::Handler</p><p class=MsoNormal>> </p><p class=MsoNormal>> Dancer</p><p class=MsoNormal>> </p><p class=MsoNormal>>  </p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>Hello Herrmann,</p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>at any rate my advise would be to not use dancer standalone at all, especially not in a production environment.</p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>With plackup + starman you get a more reliable environment, and you can restrict the lifetime of the workers</p><p class=MsoNormal>by using plackup's --max-requests option.</p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>That is useful to limit memory growth and other hard to track problems occurring on long running applications.</p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>Regards</p><p class=MsoNormal>         Racke</p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>> </p><p class=MsoNormal>>  </p><p class=MsoNormal>> </p><p class=MsoNormal>> *From: *Andrew Beverley <mailto:andy@andybev.com></p><p class=MsoNormal>> *Sent: *Tuesday, March 12, 2019 3:56 PM</p><p class=MsoNormal>> *To: *Perl Dancer users mailing list <mailto:dancer-users@dancer.pm></p><p class=MsoNormal>> *Cc: *Hermann Calabria <mailto:hermann@ivouch.com></p><p class=MsoNormal>> *Subject: *Re: [dancer-users] Dancer crashing</p><p class=MsoNormal>> </p><p class=MsoNormal>>  </p><p class=MsoNormal>> </p><p class=MsoNormal>> On Tue, 12 Mar 2019 15:08:46 -0700 Hermann Calabria wrote:</p><p class=MsoNormal>> </p><p class=MsoNormal>>> Sure, it’s probably something my app is doing.  However I expect</p><p class=MsoNormal>> </p><p class=MsoNormal>>> Dancer to be resilient enough to not crash in this manner.</p><p class=MsoNormal>> </p><p class=MsoNormal>>  </p><p class=MsoNormal>> </p><p class=MsoNormal>> FWIW, I did notice that the crash appeared to happen because of an</p><p class=MsoNormal>> </p><p class=MsoNormal>> uninitialized value. Do you have fatal warnings turned on, and could</p><p class=MsoNormal>> </p><p class=MsoNormal>> that be one of the causes? I don't know, but does Dancer normally run</p><p class=MsoNormal>> </p><p class=MsoNormal>> without fatal warnings, and maybe the problem you encountered wouldn't</p><p class=MsoNormal>> </p><p class=MsoNormal>> normally be fatal?</p><p class=MsoNormal>> </p><p class=MsoNormal>>  </p><p class=MsoNormal>> </p><p class=MsoNormal>> Andy</p><p class=MsoNormal>> </p><p class=MsoNormal>>  </p><p class=MsoNormal>> </p><p class=MsoNormal>> </p><p class=MsoNormal>> _______________________________________________</p><p class=MsoNormal>> dancer-users mailing list</p><p class=MsoNormal>> dancer-users@dancer.pm</p><p class=MsoNormal>> http://lists.preshweb.co.uk/mailman/listinfo/dancer-users</p><p class=MsoNormal>> </p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>-- </p><p class=MsoNormal>Ecommerce and Linux consulting + Perl and web application programming.</p><p class=MsoNormal>Debian and Sympa administration. Provisioning with Ansible.</p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal><o:p> </o:p></p></div></body></html>