[Dancer-users] dbh->ping causes segmentation fault in D::P::Database

David Precious davidp at preshweb.co.uk
Sat Dec 4 14:15:33 CET 2010

Hi there,

On Saturday 04 December 2010 11:20:58 Иван Бессарабов wrote:
> The only thing that stopped me from using dancer in production is the
> problem that it accidently crashes.

[Just to clarify here, for people glancing at list archives "it crashes" 
is horribly generic; the problem seems to be an odd problem with DBI & 
DBD::mysql, not with Dancer or D::P::Database]

> After investigating I have found that the app is crashed by line "my
> $result = $dbh->ping" in Dancer/Plugin/Database.pm
> In the internet I have found the solution
> http://www.nntp.perl.org/group/perl.dbi.users/2008/07/msg33044.html
> I've added one line to my config file and it stopped crashing. Here is
> the fragment of config.yml that works without crahses:
>         dbi_params:
>             mysql_auto_reconnect: 0
>             RaiseError: 1
>             AutoCommit: 1

Ah, good stuff.  Thank you for taking the effort to both investigate the 
problem, report it (with all the salient details and how to reproduce 
it), and even find the solution, too!  If I was wearing a hat, it would 
be off to you.

I think to work around this problem, having D::P::Database automatically 
set mysql_auto_reconnect => 0 upon connecting would be sensible; 
D::P::Database is taking care of re-establishing database connections 
when required anyway, so there's no point in it being enabled, 
especially if it's going to cause problems!

I'll look in to this today and get a new version of D::P::Database out 
including this fix.

Thanks again, and thanks also for the connection_check_threshold 
documentation fix too :)

David P

David Precious <davidp at preshweb.co.uk> (bigpresh)
http://blog.preshweb.co.uk/    www.preshweb.co.uk/twitter
www.preshweb.co.uk/linkedin    www.preshweb.co.uk/facebook
www.preshweb.co.uk/identica    www.lyricsbadger.co.uk

  "Programming is like sex. One mistake and you have to support 
  it for the rest of your life". (Michael Sinz)

More information about the Dancer-users mailing list