Error trace new(): failed: couldn't load CGI::Session::Serialize::yamlxs: Can't locate CGI/Session/Serialize/yamlxs.pm in @INC (you may need to install the CGI::Session::Serialize::yamlxs module) (@INC contains: /kohadevbox/koha /kohadevbox/koha/installer /kohadevbox/koha/lib/installer /etc/perl /usr/local/lib/x86_64-linux-gnu/perl/5.28.1 /usr/local/share/perl/5.28.1 /usr/lib/x86_64-linux-gnu/perl5/5.28 /usr/share/perl5 /usr/lib/x86_64-linux-gnu/perl/5.28 /usr/share/perl/5.28 /usr/local/lib/site_perl /usr/lib/x86_64-linux-gnu/perl-base /var/lib/koha/kohadev/plugins) at (eval 1797) line 1. at /kohadevbox/koha/C4/Auth.pm line 1762 in C4::Auth::get_session at /kohadevbox/koha/C4/Auth.pm line 1762 1759: my $params = _get_session_params(); 1760: my $session = CGI::Session->new( $params->{dsn}, $sessionID, $params->{dsn_args} ); 1761: if ( ! $session ){ 1762: die CGI::Session->errstr(); 1763: } 1764: return $session; 1765: } Show function arguments in C4::Auth::checkauth at /kohadevbox/koha/C4/Auth.pm line 944 941: 942: unless ( $userid ) { 943: #we initiate a session prior to checking for a username to allow for anonymous sessions... 944: my $session = get_session("") or die "Auth ERROR: Cannot get_session()"; 945: 946: # Save anonymous search history in new session so it can be retrieved 947: # by get_template_and_user to store it in user's search history after Show function arguments in C4::Auth::get_template_and_user at /kohadevbox/koha/C4/Auth.pm line 180 177: $in->{'type'}, 178: undef, 179: $in->{template_name}, 180: ); 181: } 182: 183: # If we enforce GDPR and the user did not consent, redirect Show function arguments in (eval) at /kohadevbox/koha/opac/opac-main.pl line 36 33: my $input = CGI->new; 34: my $dbh = C4::Context->dbh; 35: 36: my ( $template, $borrowernumber, $cookie ) = get_template_and_user( 37: { 38: template_name => "opac-main.tt", 39: type => "opac", in CGI::Compile::ROOT::kohadevbox_koha_opac_opac_2dmain_2epl::__ANON__ at /kohadevbox/koha/opac/opac-main.pl line 2 1: #!/usr/bin/perl 2: 3: # This file is part of Koha. 4: # 5: # Parts Copyright (C) 2013 Mark Tompsett Show function arguments in CGI::Compile::ROOT::kohadevbox_koha_opac_opac_2dmain_2epl::opac_2dmain_2epl at /usr/share/perl5/CGI/Compile.pm line 151 148: # this is necessary for MSWin32 149: my $orig_warn = $SIG{__WARN__} || sub { warn(@_) }; 150: local $SIG{__WARN__} = sub { $orig_warn->(@_) unless $_[0] =~ /^No such signal/ }; 151: $code->($self, $data, $path, $dir, \@args) 152: }; 153: }; 154: in CGI::Emulate::PSGI::__ANON__ at /usr/share/perl5/CGI/Emulate/PSGI.pm line 30 27: local *STDOUT = $stdout; 28: local *STDERR = $env->{'psgi.errors'}; 29: 30: $code->(); 31: } 32: } 33: Show function arguments in Plack::App::WrapCGI::call at /usr/share/perl5/Plack/App/WrapCGI.pm line 95 92: 93: sub call { 94: my($self, $env) = @_; 95: $self->_app->($env); 96: } 97: 98: 1; Show function arguments in Plack::Component::__ANON__ at /usr/share/perl5/Plack/Component.pm line 50 47: sub to_app { 48: my $self = shift; 49: $self->prepare_app; 50: return sub { $self->call(@_) }; 51: } 52: 53: Show function arguments in Plack::App::CGIBin::serve_path at /usr/share/perl5/Plack/App/CGIBin.pm line 50 47: my $app = $self->{_compiled}->{$file} ||= Plack::App::WrapCGI->new( 48: script => $file, execute => $self->would_exec($file), 49: )->to_app; 50: $app->($env); 51: } 52: 53: 1; Show function arguments in Plack::App::File::call at /usr/share/perl5/Plack/App/File.pm line 34 31: $env->{'plack.file.PATH_INFO'} = ''; 32: } 33: 34: return $self->serve_path($env, $file); 35: } 36: 37: sub locate_file { Show function arguments in Plack::Component::__ANON__ at /usr/share/perl5/Plack/Component.pm line 50 47: sub to_app { 48: my $self = shift; 49: $self->prepare_app; 50: return sub { $self->call(@_) }; 51: } 52: 53: Show function arguments in Plack::Middleware::LogWarn::call at /usr/share/perl5/Plack/Middleware/LogWarn.pm line 22 19: message => join '', @_ 20: }); 21: }; 22: my $res = $self->app->($env); 23: 24: return $res; 25: } Show function arguments in Plack::Component::__ANON__ at /usr/share/perl5/Plack/Component.pm line 50 47: sub to_app { 48: my $self = shift; 49: $self->prepare_app; 50: return sub { $self->call(@_) }; 51: } 52: 53: Show function arguments in Plack::Middleware::Log4perl::call at /usr/share/perl5/Plack/Middleware/Log4perl.pm line 30 27: $self->logger->$level($args->{message}); 28: }; 29: 30: $self->app->($env); 31: } 32: 33: 1; Show function arguments in Plack::Component::__ANON__ at /usr/share/perl5/Plack/Component.pm line 50 47: sub to_app { 48: my $self = shift; 49: $self->prepare_app; 50: return sub { $self->call(@_) }; 51: } 52: 53: Show function arguments in Plack::Middleware::HTTPExceptions::try {...} at /usr/share/perl5/Plack/Middleware/HTTPExceptions.pm line 20 17: my($self, $env) = @_; 18: 19: my $res = try { 20: $self->app->($env); 21: } catch { 22: $self->transform_error($_, $env); 23: }; in (eval) at /usr/share/perl5/Try/Tiny.pm line 100 97: if ( $wantarray ) { 98: @ret = $try->(); 99: } elsif ( defined $wantarray ) { 100: $ret[0] = $try->(); 101: } else { 102: $try->(); 103: }; in Try::Tiny::try at /usr/share/perl5/Try/Tiny.pm line 93 90: 91: # failed will be true if the eval dies, because 1 will not be returned 92: # from the eval body 93: my $failed = not eval { 94: $@ = $prev_error; 95: 96: # evaluate the try block in the correct context Show function arguments in Plack::Middleware::HTTPExceptions::call at /usr/share/perl5/Plack/Middleware/HTTPExceptions.pm line 23 20: $self->app->($env); 21: } catch { 22: $self->transform_error($_, $env); 23: }; 24: 25: return $res if ref $res eq 'ARRAY'; 26: Show function arguments in Plack::Component::__ANON__ at /usr/share/perl5/Plack/Component.pm line 50 47: sub to_app { 48: my $self = shift; 49: $self->prepare_app; 50: return sub { $self->call(@_) }; 51: } 52: 53: Show function arguments in Plack::Middleware::ErrorDocument::call at /usr/share/perl5/Plack/Middleware/ErrorDocument.pm line 15 12: my $self = shift; 13: my $env = shift; 14: 15: my $r = $self->app->($env); 16: 17: $self->response_cb($r, sub { 18: my $r = shift; Show function arguments in Plack::Component::__ANON__ at /usr/share/perl5/Plack/Component.pm line 50 47: sub to_app { 48: my $self = shift; 49: $self->prepare_app; 50: return sub { $self->call(@_) }; 51: } 52: 53: Show function arguments in Plack::App::URLMap::call at /usr/share/perl5/Plack/App/URLMap.pm line 71 68: return $self->response_cb($app->($env), sub { 69: $env->{PATH_INFO} = $orig_path_info; 70: $env->{SCRIPT_NAME} = $orig_script_name; 71: }); 72: } 73: 74: DEBUG && warn "All matching failed.\n"; Show function arguments in Plack::Component::__ANON__ at /usr/share/perl5/Plack/Component.pm line 50 47: sub to_app { 48: my $self = shift; 49: $self->prepare_app; 50: return sub { $self->call(@_) }; 51: } 52: 53: Show function arguments in Koha::Middleware::RealIP::call at /kohadevbox/koha/Koha/Middleware/RealIP.pm line 64 61: } 62: } 63: 64: return $self->app->($env); 65: } 66: 67: =head2 get_real_ip Show function arguments in Plack::Component::__ANON__ at /usr/share/perl5/Plack/Component.pm line 50 47: sub to_app { 48: my $self = shift; 49: $self->prepare_app; 50: return sub { $self->call(@_) }; 51: } 52: 53: Show function arguments in Koha::Middleware::SetEnv::call at /kohadevbox/koha/Koha/Middleware/SetEnv.pm line 104 101: %setenvs 102: }; 103: 104: return $self->app->($env); 105: } 106: 107: =head1 AUTHOR Show function arguments in Plack::Component::__ANON__ at /usr/share/perl5/Plack/Component.pm line 50 47: sub to_app { 48: my $self = shift; 49: $self->prepare_app; 50: return sub { $self->call(@_) }; 51: } 52: 53: Show function arguments in Plack::Middleware::Static::call at /usr/share/perl5/Plack/Middleware/Static.pm line 18 15: return $res; 16: } 17: 18: return $self->app->($env); 19: } 20: 21: sub _handle_static { Show function arguments in Plack::Component::__ANON__ at /usr/share/perl5/Plack/Component.pm line 50 47: sub to_app { 48: my $self = shift; 49: $self->prepare_app; 50: return sub { $self->call(@_) }; 51: } 52: 53: Show function arguments in Plack::Middleware::ReverseProxy::call at /usr/share/perl5/Plack/Middleware/ReverseProxy.pm line 68 65: } 66: } 67: 68: $self->app->($env); 69: } 70: 71: 1; Show function arguments in Plack::Component::__ANON__ at /usr/share/perl5/Plack/Component.pm line 50 47: sub to_app { 48: my $self = shift; 49: $self->prepare_app; 50: return sub { $self->call(@_) }; 51: } 52: 53: Show function arguments in Plack::Middleware::Lint::call at /usr/share/perl5/Plack/Middleware/Lint.pm line 24 21: my $env = shift; 22: 23: $self->validate_env($env); 24: my $res = $self->app->($env); 25: return $self->validate_res($res); 26: } 27: Show function arguments in Plack::Middleware::StackTrace::try {...} at /usr/share/perl5/Plack/Component.pm line 50 47: sub to_app { 48: my $self = shift; 49: $self->prepare_app; 50: return sub { $self->call(@_) }; 51: } 52: 53: in (eval) at /usr/share/perl5/Try/Tiny.pm line 100 97: if ( $wantarray ) { 98: @ret = $try->(); 99: } elsif ( defined $wantarray ) { 100: $ret[0] = $try->(); 101: } else { 102: $try->(); 103: }; in Plack::Middleware::StackTrace::call at /usr/share/perl5/Try/Tiny.pm line 93 90: 91: # failed will be true if the eval dies, because 1 will not be returned 92: # from the eval body 93: my $failed = not eval { 94: $@ = $prev_error; 95: 96: # evaluate the try block in the correct context Show function arguments in Plack::Component::__ANON__ at /usr/share/perl5/Plack/Component.pm line 50 47: sub to_app { 48: my $self = shift; 49: $self->prepare_app; 50: return sub { $self->call(@_) }; 51: } 52: 53: Show function arguments in Plack::Middleware::AccessLog::call at /usr/share/perl5/Plack/Middleware/AccessLog.pm line 27 24: my $self = shift; 25: my($env) = @_; 26: 27: my $res = $self->app->($env); 28: 29: if ( ref($res) && ref($res) eq 'ARRAY' ) { 30: my $content_length = Plack::Util::content_length($res->[2]); Show function arguments in Plack::Component::__ANON__ at /usr/share/perl5/Plack/Component.pm line 50 47: sub to_app { 48: my $self = shift; 49: $self->prepare_app; 50: return sub { $self->call(@_) }; 51: } 52: 53: Show function arguments in (eval) at /usr/share/perl5/Plack/Util.pm line 145 142: sub run_app($$) { 143: my($app, $env) = @_; 144: 145: return eval { $app->($env) } || do { 146: my $body = "Internal Server Error"; 147: $env->{'psgi.errors'}->print($@); 148: [ 500, [ 'Content-Type' => 'text/plain', 'Content-Length' => length($body) ], [ $body ] ]; in Plack::Util::run_app at /usr/share/perl5/Plack/Util.pm line 145 142: sub run_app($$) { 143: my($app, $env) = @_; 144: 145: return eval { $app->($env) } || do { 146: my $body = "Internal Server Error"; 147: $env->{'psgi.errors'}->print($@); 148: [ 500, [ 'Content-Type' => 'text/plain', 'Content-Length' => length($body) ], [ $body ] ]; Show function arguments in Starman::Server::dispatch_request at /usr/share/perl5/Starman/Server.pm line 195 192: my ($self, $env) = @_; 193: 194: # Run PSGI apps 195: my $res = Plack::Util::run_app($self->{app}, $env); 196: 197: if (ref $res eq 'CODE') { 198: $res->(sub { $self->_finalize_response($env, $_[0]) }); Show function arguments in Starman::Server::process_request at /usr/share/perl5/Starman/Server.pm line 298 295: 296: $self->_prepare_env($env); 297: 298: $self->dispatch_request($env); 299: 300: DEBUG && warn "[$$] Request done\n"; 301: Show function arguments in Net::Server::run_client_connection at /usr/share/perl5/Net/Server.pm line 72 69: $self->post_accept_hook($c); # user customizable hook 70: 71: my $ok = $self->allow_deny($c) && $self->allow_deny_hook($c); # do allow/deny check on client info 72: if ($ok) { 73: $self->process_request($c); # This is where the core functionality of a Net::Server should be. 74: } else { 75: $self->request_denied_hook($c); # user customizable hook Show function arguments in (eval) at /usr/share/perl5/Net/Server/PreFork.pm line 225 222: $prop->{'connected'} = 1; 223: print $write "$$ processing\n"; 224: 225: my $ok = eval { $self->run_client_connection; 1 }; 226: if (! $ok) { 227: print $write "$$ exiting\n"; 228: die $@; in Net::Server::PreFork::run_child at /usr/share/perl5/Net/Server/PreFork.pm line 225 222: $prop->{'connected'} = 1; 223: print $write "$$ processing\n"; 224: 225: my $ok = eval { $self->run_client_connection; 1 }; 226: if (! $ok) { 227: print $write "$$ exiting\n"; 228: die $@; Show function arguments in Net::Server::PreFork::run_n_children at /usr/share/perl5/Net/Server/PreFork.pm line 183 180: if ($prop->{'child_communication'}) { 181: $prop->{'parent_sock'} = $childsock; 182: } 183: $self->run_child; 184: } 185: } 186: } Show function arguments in Net::Server::PreFork::loop at /usr/share/perl5/Net/Server/PreFork.pm line 107 104: 105: my $start = $prop->{'min_servers'}; 106: $self->log(3, "Beginning prefork ($start processes)"); 107: $self->run_n_children($start); 108: 109: $self->run_parent; 110: } Show function arguments in Net::Server::run at /usr/share/perl5/Net/Server.pm line 58 55: $self->post_bind; # allow for chrooting, becoming a different user and group 56: 57: $self->pre_loop_hook; # user customizable hook 58: $self->loop; # repeat accept/process cycle 59: 60: $self->server_close; # close the server and release the port 61: } Show function arguments in Starman::Server::run at /usr/share/perl5/Starman/Server.pm line 106 103: max_requests => $options->{max_requests} || 1000, 104: user => $options->{user} || $>, 105: group => $options->{group} || $), 106: listen => $options->{backlog} || 1024, 107: check_for_waiting => 1, 108: no_client_stdout => 1, 109: %extra Show function arguments in Plack::Handler::Starman::run at /usr/share/perl5/Plack/Handler/Starman.pm line 25 22: } 23: $self->{net_server_args} = \%nsa if %nsa; 24: 25: Starman::Server->new->run($app, {%$self}); 26: } 27: 28: 1; Show function arguments in Plack::Loader::Delayed::run at /usr/share/perl5/Plack/Loader/Delayed.pm line 20 17: }; 18: 19: $server->{psgi_app_builder} = $self->{builder}; 20: $server->run($app); 21: } 22: 23: 1; Show function arguments in Plack::Runner::run at /usr/share/perl5/Plack/Runner.pm line 277 274: $loader->preload_app($app); 275: 276: my $server = $self->load_server($loader); 277: $loader->run($server); 278: } 279: 280: 1; Show function arguments at /usr/bin/starman line 38 35: } 36: 37: $runner->set_options(argv => \@argv); 38: $runner->run; 39: 40: __END__ 41: