Skip Menu |

This queue is for tickets about the Apache2-Controller CPAN distribution.

Report information
The Basics
Id: 60240
Status: resolved
Priority: 0/
Queue: Apache2-Controller

People
Owner: Nobody in particular
Requestors: mbartosch [...] cpan.org
Cc:
AdminCc:

Bug Information
Severity: Normal
Broken in: 1.000.100
Fixed in: (no value)



Subject: Startup problem (mkdir called without arguments)
On my system Apache2::Controller fails with the following error message: [Wed Aug 11 12:25:18 2010] [error] [client 10.78.70.136] failed to resolve handl er `OpenXPKI::Client::HTML::SC::Session': Not enough arguments for mkdir at /usr /lib/perl5/site_perl/5.8.8/Apache2/Controller/Session.pm line 442, near "mkdir | |"\nCompilation failed in require at (eval 56) line 3.\n\t...propagated at ... The following fix solved the problem for me: diff -ru Apache2-Controller-1.000.100.orig/lib/Apache2/Controller/Session.pm Apache2- Controller-1.000.100/lib/Apache2/Controller/Session.pm --- Apache2-Controller-1.000.100.orig/lib/Apache2/Controller/Session.pm 2009-02-03 05:09:05.000000000 +0100 +++ Apache2-Controller-1.000.100/lib/Apache2/Controller/Session.pm 2010-08-11 14:22:29.000000000 +0200 @@ -439,7 +439,7 @@ my $lock = File::Spec->catfile($dir, 'lock'); if (!exists $created_temp_dirs{$hostname}) { - do { mkdir || a2cx "Cannot create $_: $OS_ERROR" } + do { mkdir $_ || a2cx "Cannot create $_: $OS_ERROR" } for grep !-d, $dir, $sess, $lock; $created_temp_dirs{$hostname} = 1; } cheers Martin
fixed in next release... sorry for the delay
Incidentally what's your perl version in SuSE SLES 10? It seems like the 'mkdir' perl command doesn't work correctly.
Subject: Re: [rt.cpan.org #60240] Startup problem (mkdir called without arguments)
Date: Mon, 27 Sep 2010 11:08:26 +0200
To: bug-Apache2-Controller [...] rt.cpan.org
From: Martin Bartosch <mb [...] martin-bartosch.de>
Hi Mark, Show quoted text
> <URL: https://rt.cpan.org/Ticket/Display.html?id=60240 > > > > Incidentally what's your perl version in SuSE SLES 10? > > It seems like the 'mkdir' perl command doesn't work correctly.
thanks for fixing the problem in the distribution. Funny thing that this breaks on our Perl, it caused me some headache until I figured out what was going on... On our target system we are using the Perl interpreter that is shipped with SLES 10: $ perl --version This is perl, v5.8.8 built for x86_64-linux-thread-multi $ rpm -qi perl Name : perl Relocations: (not relocatable) Version : 5.8.8 Vendor: SUSE LINUX Products GmbH, Nuernberg, Germany Release : 14.10 Build Date: Fri Jul 11 17:03:08 2008 Install Date: Fri Nov 21 17:39:25 2008 Build Host: smetana.suse.de Group : Development/Languages/Perl Source RPM: perl-5.8.8-14.10.src.rpm cheers Martin
Weird. If you do this: bash% perl -e 'do { mkdir || die "lame: $!\n" } for map "/tmp/$_", qw( foo bar biz baz )' bash% ls /tmp Does it create the directories, or not? It works fine for me. It may be a week or two until the next release. I'm trying to get the openid login stuff finished. It's almost there.
Show quoted text
> If you do this: > > bash% perl -e 'do { mkdir || die "lame: $!\n" } for map "/tmp/$_", qw( > foo bar biz baz )' > bash% ls /tmp > > Does it create the directories, or not? > > It works fine for me.
no joy: $ perl -e 'do { mkdir || die "lame: $!\n" } for map "/tmp/$_", qw( foo bar )' Not enough arguments for mkdir at -e line 1, near "mkdir ||" Execution of -e aborted due to compilation errors. More detailed information about the Perl interpreter used on this system: $ perl -V Summary of my perl5 (revision 5 version 8 subversion 8) configuration: Platform: osname=linux, osvers=2.6.16, archname=x86_64-linux-thread-multi uname='linux smetana 2.6.16 #1 smp thu may 17 14:00:09 utc 2007 x86_64 x86_64 x86_64 gnulinux ' config_args='-ds -e -Dprefix=/usr -Dvendorprefix=/usr -Dinstallusrbinperl - Dusethreads -Di_db -Di_dbm -Di_ndbm -Di_gdbm -Duseshrplib=true -Doptimize=-O2 - fmessage-length=0 -Wall -D_FORTIFY_SOURCE=2 -g -Wall -pipe' hint=recommended, useposix=true, d_sigaction=define usethreads=define use5005threads=undef useithreads=define usemultiplicity=define useperlio=define d_sfio=undef uselargefiles=define usesocks=undef use64bitint=define use64bitall=define uselongdouble=undef usemymalloc=n, bincompat5005=undef Compiler: cc='cc', ccflags ='-D_REENTRANT -D_GNU_SOURCE -DTHREADS_HAVE_PIDS -DDEBUGGING -fno-strict-aliasing -pipe -Wdeclaration-after-statement -D_LARGEFILE_SOURCE - D_FILE_OFFSET_BITS=64', optimize='-O2 -fmessage-length=0 -Wall -D_FORTIFY_SOURCE=2 -g -Wall -pipe', cppflags='-D_REENTRANT -D_GNU_SOURCE -DTHREADS_HAVE_PIDS -DDEBUGGING -fno- strict-aliasing -pipe -Wdeclaration-after-statement' ccversion='', gccversion='4.1.2 20070115 (prerelease) (SUSE Linux)', gccosandvers='' intsize=4, longsize=8, ptrsize=8, doublesize=8, byteorder=12345678 d_longlong=define, longlongsize=8, d_longdbl=define, longdblsize=16 ivtype='long', ivsize=8, nvtype='double', nvsize=8, Off_t='off_t', lseeksize=8 alignbytes=8, prototype=define Linker and Libraries: ld='cc', ldflags =' -L/usr/local/lib64' libpth=/lib64 /usr/lib64 /usr/local/lib64 libs=-lm -ldl -lcrypt -lpthread perllibs=-lm -ldl -lcrypt -lpthread libc=/lib64/libc-2.4.so, so=so, useshrplib=true, libperl=libperl.so gnulibc_version='2.4' Dynamic Linking: dlsrc=dl_dlopen.xs, dlext=so, d_dlsymun=undef, ccdlflags='-Wl,-E -Wl,- rpath,/usr/lib/perl5/5.8.8/x86_64-linux-thread-multi/CORE' cccdlflags='-fPIC', lddlflags='-shared -L/usr/local/lib64' Characteristics of this binary (from libperl): Compile-time options: DEBUGGING MULTIPLICITY PERL_IMPLICIT_CONTEXT PERL_MALLOC_WRAP THREADS_HAVE_PIDS USE_64_BIT_ALL USE_64_BIT_INT USE_ITHREADS USE_LARGE_FILES USE_PERLIO USE_REENTRANT_API Built under linux Compiled at Jul 11 2008 14:53:50 ...
Aha. `perldoc -f mkdir` in 5.8.8 does not say it supplies $_ if EXPR is omitted. That must have been added in 5.8.10. I'm getting close to the next release.
Yargh, I haven't had time to figure out the OpenID redirect layer yet, but this has stalled too long. I'll disable that module and release a bugfix version today.
On Sat Dec 11 10:55:54 2010, MARKLE wrote: Show quoted text
> Yargh, I haven't had time to figure out the OpenID redirect layer yet, > but this has stalled too long. I'll disable that module and release a > bugfix version today.
Today meaning 10 days later.... I think the solution I am uploading now will work, but I do not have a test for it. I also put in some Log::Log4perl statements to dump more details about the error. I was conservative and only skip errors when the code is NOTOKEN. It would be nice to have a test script that issues a request with a bad cookie line... unfortunately Apache::Test uses LWP::UserAgent and I'm not sure how to trick HTTP::Cookies into sending a malformed cookie. Maybe setting the header in the $ua just before the request. I am going to go ahead and release 1.0.101, please let me know if it works. --mark-- Mark
argh other bug
RT-Send-CC: mb [...] martin-bartosch.de
Should be fixed in latest version 1.0.111. I think it was fixed in the last version actually. Please let me know if it causes any other errors with perl 5.8.8. Thanks! --mark--