On Thu, Sep 24, 2015 at 4:14 PM, Gabor Szabo <gabor@szabgab.com> wrote:While trying to deploy an application I've just encountered this error:
error @2015-09-24 09:06:31> Route exception: Undef did not pass type constraint "Str" (in $args->{"name"}) at (eval 663) line 192
"Str" is a subtype of "Value"
"Value" is a subtype of "Defined"
Undef did not pass type constraint "Defined" (in $args->{"name"})
"Defined" is defined as: (defined($_)) in /home/user/perl5.22.0/lib/site_perl/5.22.0/Dancer2/Core/App.pm l. 1276I don't see this on my development machine and so far I have no idea where to look.Before I go down the rabbit hole trying to find the differences and the source of the problem,
I wonder if anyone has encountered this.Dancer2 0.162 on both machines:dev using plackup 1.0037prod using Starman 0.4014
Dancer2::Plugin::Auth::Extensible 0.401regardsGaborI tried using plack on the server and it work properly.It also seems to work well when I run
plackup -s Starman -p 3000
So it seems this is something related to how I run Starman which is by way of this script launchedfrom /etc/rc.local
#!/home/user/perl5.22.0/bin/perl
use warnings;
use strict;
use Daemon::Control;
use File::Basename qw(dirname);
use Cwd qw(abs_path);
Daemon::Control->new(
{
name => 'Starman',
lsb_start => '$syslog $remote_fs',
lsb_stop => '$syslog',
lsb_sdesc => 'Starman Short',
lsb_desc => 'Starman controls the web sites.',
path => abs_path($0),
program => dirname($^X) . '/starman',
program_args => [ '--workers', '5', '--port', '3000', '/home/user/work/app/app.psgi' ],
pid_file => '/tmp/starman.pid',
stderr_file => '/tmp/starman.err',
stdout_file => '/tmp/starman.out',
fork => 2,
}
)->run;Oh and I am using perl 5.22.Gabor