found the cause, but not the reason. Could someone explain please? The following works my $dbh = DBI->connect( "dbi:SQLite:dbname=$db","","", {RaiseError => 1, AutoCommit => 1} ) or die $DBI::errstr; but the following fails (note AutoCommit => 0) my $dbh = DBI->connect( "dbi:SQLite:dbname=$db","","", {RaiseError => 1, AutoCommit => 0} ) or die $DBI::errstr; Puneet Kishor wrote:
I ran the program on the command line, and then accessed it via curl, so here is the entire error stream. Quite unhelpful, as it appears to me. The error gets triggered as soon as I do a $sth->execute.
Trace begun at /usr/local/lib/perl5/site_perl/5.12.1/Plack/Middleware/StackTrace.pm line 22 Plack::Middleware::StackTrace::__ANON__('status code needs to be an integer greater than or equal to 100 at /usr/local/lib/perl5/site_perl/5.12.1/Plack/Middleware/StackTrace.pm line 27^J') called at /usr/local/lib/perl5/5.12.1/Carp.pm line 62 Carp::croak('status code needs to be an integer greater than or equal to 100') called at /usr/local/lib/perl5/site_perl/5.12.1/Plack/Middleware/Lint.pm line 103
Plack::Middleware::Lint::validate_res('Plack::Middleware::Lint=HASH(0x100891780)', 'ARRAY(0x10087cc38)') called at /usr/local/lib/perl5/site_perl/5.12.1/Plack/Middleware/Lint.pm line 25
Plack::Middleware::Lint::call('Plack::Middleware::Lint=HASH(0x100891780)', 'HASH(0x100cbbb98)') called at /usr/local/lib/perl5/site_perl/5.12.1/Plack/Component.pm line 39 Plack::Component::__ANON__('HASH(0x100cbbb98)') called at /usr/local/lib/perl5/site_perl/5.12.1/Plack/Middleware/StackTrace.pm line 27 Plack::Middleware::StackTrace::__ANON__ at /usr/local/lib/perl5/site_perl/5.12.1/Try/Tiny.pm line 71 eval {...} at /usr/local/lib/perl5/site_perl/5.12.1/Try/Tiny.pm line 67 Try::Tiny::try('CODE(0x100d4f5d8)', 'Try::Tiny::Catch=REF(0x100cbbfb8)') called at /usr/local/lib/perl5/site_perl/5.12.1/Plack/Middleware/StackTrace.pm line 27
Plack::Middleware::StackTrace::call('Plack::Middleware::StackTrace=HASH(0x100d4f458)', 'HASH(0x100cbbb98)') called at /usr/local/lib/perl5/site_perl/5.12.1/Plack/Component.pm line 39 Plack::Component::__ANON__('HASH(0x100cbbb98)') called at /usr/local/lib/perl5/site_perl/5.12.1/Plack/Handler/CGI.pm line 37
Plack::Handler::CGI::run('Plack::Handler::CGI=HASH(0x100cbbe80)', 'CODE(0x100d4f3f8)') called at /usr/local/lib/perl5/site_perl/5.12.1/Plack/Loader.pm line 83 Plack::Loader::run('Plack::Loader=HASH(0x100880e10)', 'Plack::Handler::CGI=HASH(0x100cbbe80)') called at /usr/local/lib/perl5/site_perl/5.12.1/Plack/Runner.pm line 256 Plack::Runner::run('Plack::Runner=HASH(0x10080fe30)') called at /usr/local/lib/perl5/site_perl/5.12.1/Plack/Runner.pm line 231 Plack::Runner::run('Plack::Runner', '/Users/punkish/Sites/humanesettlements/humanesettlements.pl') called at /Users/punkish/Sites/humanesettlements/public/dispatch.cgi line 4
Puneet Kishor wrote:
I am quite frustrated with Dancer's error reporting, perhaps the only part of it that needs improvement, since the rest of Dancer is so wonderful.
I am getting the dreaded, "status code needs to be an integer greater than or equal to 100 at /usr/local/lib/perl5/site_perl/5.12.1/Plack/Middleware/StackTrace.pm line 27" message in my browser, all nicely and neatly formatted. I can't for the life of me figure out what is triggering this, so the only recourse I have is to comment my code completely and then uncomment lines one by one. Any suggestions on how I can make this process more scientific and quick?
Besides this, the problem is that Dancer seems to report messages in different ways depending on when the error is trapped. Sometimes, I get this nicely formatted message, colors and all, in my browser. Sometimes, I get just a plain text message in my browser. Sometimes, I get the "Internal Server Error" and then I have to pore through the Apache logs. This inconsistency makes for difficulty.
Many thanks,
-- Puneet Kishor