Subject: bug with rmdir: Perl 5.6.1/Cygwin 1.3.9
From: "Rhet Turnbull" <[email-masked]>
To: [email-masked]
Cc: [email-masked]
Date: Mon, 04 Mar 2002 17:04:24 +0000

I'm sending this to both perlbug and cygwin mailing lists since I'm not sure 
if it's a perl or cygwin problem.  Regards,

Rhet Turnbull

To: [email-masked]
Subject: Attempt to rmdir current directory under Cygwin Perl 5.6.1 causes 
perl to abort without an error
Reply-To: [email-masked]

This is a bug report for perl from [email-masked],
generated with the help of perlbug 1.33 running under perl v5.6.1.

-----------------------------------------------------------------
[Please enter your report here]
Under Cygwin version 1.3.9, perl version 'This is perl, v5.6.1 built for 
cygwin-multi'
an attempt to use rmdir on the current directory causes perl to abort 
without an error
message or any other indication that it failed.  This was first noticed when 
using the
CPAN shell while in the cpan cache directory.  CPAN.pm tried to clean up the 
cache
and simply aborted without notice. I traced the culprit to 
File::Path::rmtree and from
there to rmdir.  The following one-liner recreates the behavior:

turnbullw@TURNBULL /tmp
$ mkdir foo

turnbullw@TURNBULL /tmp
$ cd foo
/tmp/foo

turnbullw@TURNBULL /tmp/foo
$ perl -e'rmdir "/tmp/foo" or die "dead: $!"; print "ok"'

### ^^^ Notice that perl aborted silently and never got to 'print "ok"'

turnbullw@TURNBULL /tmp/foo
$ cd ..

turnbullw@TURNBULL /tmp
$ perl -e'rmdir "/tmp/foo" or die "dead: $!"; print "ok"'
ok

### ^^^ This time it worked as expected

On the same machine using ActiveState perl version 5.6.1, build 631, perl 
gives a
meaningful error when attempting to rmdir the current directory:

C:\temp>mkdir foo

C:\temp>cd foo

C:\temp\foo>perl -e "rmdir 'c:\temp\foo' or die $!; print 'ok'"
Permission denied at -e line 1.

### ^^^ This version of perl told us why it didn't work

C:\temp\foo>cd ..

C:\temp>perl -e "rmdir 'c:\temp\foo' or die $!; print 'ok'"
ok

[Please do not change anything below this line]
-----------------------------------------------------------------
---
Flags:
    category=core
    severity=medium
---
Site configuration information for perl v5.6.1:

Configured by Siebenschlaefer at Wed Aug 22 00:42:15  2001.

Summary of my perl5 (revision 5.0 version 6 subversion 1) configuration:
  Platform:
    osname=cygwin, osvers=1.3.2(0.3932), archname=cygwin-multi
    uname='cygwin_nt-4.0 loreley 1.3.2(0.3932) 2001-05-20 23:28 i686 unknown 
'
    config_args='-de -Dusemultiplicity'
    hint=recommended, useposix=true, d_sigaction=define
    usethreads=undef use5005threads=undef useithreads=undef 
usemultiplicity=define
    useperlio=undef d_sfio=undef uselargefiles=define usesocks=undef
    use64bitint=undef use64bitall=undef uselongdouble=undef
  Compiler:
    cc='gcc', ccflags ='-DPERL_USE_SAFE_PUTENV -fno-strict-aliasing 
-I/usr/local/include',
    optimize='-O2',
    cppflags='-DPERL_USE_SAFE_PUTENV -fno-strict-aliasing 
-I/usr/local/include'
    ccversion='', gccversion='2.95.3-5 (cygwin special)', gccosandvers=''
    intsize=4, longsize=4, ptrsize=4, doublesize=8, byteorder=1234
    d_longlong=define, longlongsize=8, d_longdbl=define, longdblsize=12
    ivtype='long', ivsize=4, nvtype='double', nvsize=8, Off_t='off_t', 
lseeksize=4
    alignbytes=8, usemymalloc=y, prototype=define
  Linker and Libraries:
    ld='ld2', ldflags =' -s -L/usr/local/lib'
    libpth=/usr/local/lib /usr/lib /lib
    libs=-lgdbm -lcrypt
    perllibs=-lcrypt
    libc=/usr/lib/libc.a, so=dll, useshrplib=true, libperl=libperl5_6_1.a
  Dynamic Linking:
    dlsrc=dl_dlopen.xs, dlext=dll, d_dlsymun=undef, ccdlflags=' -s'
    cccdlflags=' ', lddlflags=' -s -L/usr/local/lib'

Locally applied patches:

---
@INC for perl v5.6.1:
    /usr/lib/perl5/5.6.1/cygwin-multi
    /usr/lib/perl5/5.6.1
    /usr/lib/perl5/site_perl/5.6.1/cygwin-multi
    /usr/lib/perl5/site_perl/5.6.1
    /usr/lib/perl5/site_perl
    .

---
Environment for perl v5.6.1:
    HOME=/home/rhet
    LANG (unset)
    LANGUAGE (unset)
    LD_LIBRARY_PATH (unset)
    LOGDIR (unset)
    
PATH=/bin:/usr/sbin:/usr/local/bin:/usr/X11R6/bin:/usr/local/bin:/usr/bin:/bin:/c/Perl/bin/:/c/Python21/:/c/Perl/bin/:/c/WINNT/system32:/c/WINNT:/c/WINNT/System32/Wbem:/usr/bin:/c/DMI/bin:/c/progra~1/gnuplot:/c/PROGRA~1/ULTRAE~1:/c/progra~1/vim/vim57:/c/jdk1.3.0_02/bin:/c/PROGRA~1/Borland/Delphi6/Bin:/c/PROGRA~1/Borland/Delphi6/Projects/Bpl:/c/progra~1/sysinternals:/c/progra~1/cnofs:/c/perl2exe:/c/progra~1/econsole:/c/Program 
Files/Microsoft Visual Studio/Common/Tools/WinNT:/c/Program Files/Microsoft 
Visual Studio/Common/MSDev98/Bin:/c/Program Files/Microsoft Visual 
Studio/Common/Tools:/c/Program Files/Microsoft Visual 
Studio/VC98/bin:/usr/bin:/home/rhet/bin://scdata1/cease/tsx5/bin
    PERLDB_OPTS=RemotePort=127.0.0.1:2000
    PERL_BADLANG (unset)
    SHELL (unset)

_________________________________________________________________
MSN Photos is the easiest way to share and print your photos: 
http://photos.msn.com/support/worldwide.aspx

--
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple
Bug reporting:         http://cygwin.com/bugs.html
Documentation:         http://cygwin.com/docs.html
FAQ:                   http://cygwin.com/faq/