Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 98749 - kernel unipatch causes ACCESS DENIED failure when trying to remove its patches directories
Summary: kernel unipatch causes ACCESS DENIED failure when trying to remove its patche...
Status: RESOLVED NEEDINFO
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Eclasses (show other bugs)
Hardware: All Linux
: High blocker (vote)
Assignee: John Mylchreest (RETIRED)
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2005-07-12 02:21 UTC by Antony Mee
Modified: 2005-10-22 09:58 UTC (History)
1 user (show)

See Also:
Package list:
Runtime testing required: ---


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Antony Mee 2005-07-12 02:21:50 UTC
Since my latest update (emerge sync; emerge -uDav world) which included the
latest portage and sandbox, upon emerging gentoo-sources-2.6.12-r4 after the
'Applying' patches stage emerge quits with the error:

~snip~
 * Applying 4901_speakup-parport.patch (-p0+) ...                         [ ok ]
 * Applying 4905_alpha-sysctl-uac.patch (-p0+) ...                        [ ok ]
ACCESS DENIED   unlink:   
/data/var/tmp/portage/gentoo-sources-2.6.12-r4/work/patches/2.6.12
rm: cannot remove
`/data/var/tmp/portage/gentoo-sources-2.6.12-r4/work/patches/2.6.12': Permission
denied
>>> Source unpacked.
--------------------------- ACCESS VIOLATION SUMMARY ---------------------------
LOG FILE = "/tmp/sandbox-sys-kernel_-_gentoo-sources-2.6.12-r4-16552.log"

unlink:    /data/var/tmp/portage/gentoo-sources-2.6.12-r4/work/patches/2.6.12
--------------------------------------------------------------------------------

Close inspection of portage/eclass/kernel-2.eclass ($Header:
/var/cvsroot/gentoo-x86/eclass/kernel-2.eclass,v 1.135 2005/07/11 15:08:06
swegener Exp $) reveals the error occurs at line 762:
    for x in ${KPATCH_DIR}; do rm -Rf ${x}; done

Modifying the line to give some simple debugging like so:
    for x in ${KPATCH_DIR}; do echo "Removing: ${x}" ;rm -Rf ${x}; done
reveals:

~snip~
 * Applying 4905_alpha-sysctl-uac.patch (-p0+) ...                        [ ok ]
Removing: /data/var/tmp/portage/gentoo-sources-2.6.12-r4/work/patches/
Removing: /data/var/tmp/portage/gentoo-sources-2.6.12-r4/work/patches/2.6.12
ACCESS DENIED   unlink:    /data/var/tmp/portage/gentoo-sources-2.6.12-r4/work/p
                                                                  atches/2.6.12
~snip~

ie. the parent directory has already been removed recursively so the child no
longer exists...

I have fixed this on my system by simply adding an 'if exist' condition:
    for x in ${KPATCH_DIR}; [ -e ${x} ] && rm -Rf ${x}; done

But this may be the result of a more deeply rooted error... ie. I can't see why
the parent would and its children should be in $KPATCH_DIR by design.








Reproducible: Always
Steps to Reproduce:
1. emerge gentoo-sources

Actual Results:  
ACCESS DENIED   unlink:   
/data/var/tmp/portage/gentoo-sources-2.6.12-r4/work/patches/2.6.12
rm: cannot remove
`/data/var/tmp/portage/gentoo-sources-2.6.12-r4/work/patches/2.6.12': Permission
denied
>>> Source unpacked.
--------------------------- ACCESS VIOLATION SUMMARY ---------------------------
LOG FILE = "/tmp/sandbox-sys-kernel_-_gentoo-sources-2.6.12-r4-16552.log"

unlink:    /data/var/tmp/portage/gentoo-sources-2.6.12-r4/work/patches/2.6.12
--------------------------------------------------------------------------------


Portage 2.0.51.22-r1 (default-linux/x86/2005.0, gcc-3.3.5-20050130, glibc-2.3.4.
                                                                  20041102-r1,
2.6.11-gentoo-r9-swsusp2 i686)
=================================================================
System uname: 2.6.11-gentoo-r9-swsusp2 i686 Mobile Intel(R) Pentium(R) 4     CPU
                                                                   3.06GHz
Gentoo Base System version 1.6.12
ccache version 2.3 [disabled]
dev-lang/python:     2.2.3-r1, 2.3.5
sys-apps/sandbox:    1.2.10
sys-devel/autoconf:  2.13, 2.59-r6
sys-devel/automake:  1.4_p6, 1.5, 1.6.3, 1.7.9-r1, 1.8.5-r3, 1.9.5
sys-devel/binutils:  2.15.92.0.2-r10
sys-devel/libtool:   1.5.18-r1
virtual/os-headers:  2.4.19-r1, 2.6.11-r2
ACCEPT_KEYWORDS="x86"
AUTOCLEAN="yes"
CBUILD="i686-pc-linux-gnu"
CFLAGS="-march=pentium4 -O2 -finline-functions -falign-jumps=5 -falign-loops=5 -
                                                                 
falign-functions=64 -fomit-frame-pointer -pipe"
CHOST="i686-pc-linux-gnu"
CONFIG_PROTECT="/etc /usr/kde/2/share/config /usr/kde/3.3/env /usr/kde/3.3/share
                                                                  /config
/usr/kde/3.3/shutdown /usr/kde/3.4/env /usr/kde/3.4/share/config /usr/kd       
                                                           e/3.4/shutdown
/usr/kde/3/share/config /usr/lib/X11/xkb /usr/lib/mozilla/default              
                                                    s/pref /usr/share/config
/usr/share/texmf/dvipdfm/config/ /usr/share/texmf/dvips                        
                                          /config/
/usr/share/texmf/tex/generic/config/ /usr/share/texmf/tex/platex/config        
                                                          /
/usr/share/texmf/xdvi/ /var/qmail/control"
CONFIG_PROTECT_MASK="/etc/gconf /etc/terminfo /etc/env.d"
CXXFLAGS="-O2 -mcpu=i686 -pipe"
DISTDIR="/data/portage/distfiles"
FEATURES="autoconfig distlocks sandbox sfperms strict"
GENTOO_MIRRORS="http://distfiles.gentoo.org http://distro.ibiblio.org/pub/Linux/
                                                                 
distributions/gentoo"
PKGDIR="/data/portage/packages"
PORTAGE_TMPDIR="/data/var/tmp"
PORTDIR="/data/portage"
PORTDIR_OVERLAY="/usr/local/overlays/gentoo-de /usr/local/overlays/morph /usr/lo
                                                                  cal/overlays/tony"
SYNC="rsync://rsync.europe.gentoo.org/gentoo-portage"
USE="x86 X a52 aac acpi aim alsa apm arts audiofile avi berkdb bindist bitmap-fo
                                                                  nts bluetooth
bonobo cdparanoia cdr cpdflib crypt cups curl dga directfb divx4li             
                                                     nux dv dvd dvdread eds
emboss encode esd evo exif fam ffmpeg fftw flac flash foo                      
                                            maticdb fortran gd gdbm gif ginac
gnome gphoto2 gpm gstreamer gtk gtk2 gtk3 gtkh                                 
                                 tml icc ifc imagemagick imlib ipv6 irmc jabber
jack java jikes jpeg junit kde ld                                              
                    ap libg++ libwww mad mailwrapper mikmod mime ming mmx mng
motif mozilla mp3 mpeg                                                         
          msn mysql ncurses netcdf nls nocd offensive ogg oggvorbis opengl oscar
oss pam                                                                   
pcmcia pcre pdflib perl plotutils png pnp portaudio ppds python qt quicktime rea
                                                                  dline ruby
samba sdl slang slp spell sse sse2 ssl svga tcpd tetex theora tiff tr          
                                                        uetype truetype-fonts
trusted type1-fonts usb v4l vcd vorbis wifi xine xml xml2                      
                                             xmms xpm xv xvid yahoo zlib
userland_GNU kernel_linux elibc_glibc"
Unset:  ASFLAGS, CTARGET, LANG, LC_ALL, LDFLAGS, LINGUAS, MAKEOPTS
Comment 1 Antony Mee 2005-07-12 02:32:20 UTC
(In reply to comment #0)

> I have fixed this on my system by simply adding an 'if exist' condition:
>     for x in ${KPATCH_DIR}; [ -e ${x} ] && rm -Rf ${x}; done

My apologise... I mean:
    for x in ${KPATCH_DIR}; do [[ -e ${x} ]] && rm -Rf ${x}; done

:-)
Comment 2 John Mylchreest (RETIRED) gentoo-dev 2005-07-23 12:31:05 UTC
Can anyone else confirm this please?
I have not seen this happen here.
Comment 3 Marek Gasior 2005-08-11 03:07:29 UTC
I can confirm this bug. It is happening to me with emerge -avu gentoo-sources as 
well as trying to emerge linux-headers-2.6.11-r2 and therefore stopping me from 
finishing emerge -avu world.
Finaly I got aroud this problem by disabling FEATURE sandbox in make.conf, but 
cant say if its good solution..

...
 * Applying 4901_speakup-parport.patch (-p0+)...                                 
                                       [ ok ]
 * Applying 4905_alpha-sysctl-uac.patch (-p0+)...                                
                                       [ ok ]
ACCESS DENIED  unlink:    /usr/local/tmp/portage/gentoo-sources-2.6.12-r6/work/
patches/2.6.12
rm: cannot remove `/usr/local/tmp/portage/gentoo-sources-2.6.12-r6/work/patches/
2.6.12': Permission denied
>>> Source unpacked.
--------------------------- ACCESS VIOLATION SUMMARY ---------------------------
LOG FILE = "/var/log/sandbox/sandbox-sys-kernel_-_gentoo-sources-2.6.12-r6-7138.
log"

unlink:    /usr/local/tmp/portage/gentoo-sources-2.6.12-r6/work/patches/2.6.12
--------------------------------------------------------------------------------
root@web src #

root@web gasior # emerge --info
Portage 2.0.51.22-r2 (default-linux/x86/2005.0, gcc-3.3.5-20050130, glibc-2.3.4.
20041102-r1, 2.6.10-gentoo-r6y i686)
=================================================================
System uname: 2.6.10-gentoo-r6y i686 Celeron (Coppermine)
Gentoo Base System version 1.4.16
distcc 2.16 i686-pc-linux-gnu (protocols 1 and 2) (default port 3632) [disabled]
dev-lang/python:     2.3.5
sys-apps/sandbox:    1.2.11
sys-devel/autoconf:  2.13, 2.59-r6
sys-devel/automake:  1.4_p6, 1.5, 1.6.3, 1.7.9-r1, 1.8.5-r3, 1.9.4
sys-devel/binutils:  2.15.92.0.2-r10
sys-devel/libtool:   1.5.14
virtual/os-headers:  [Not Present]
ACCEPT_KEYWORDS="x86"
AUTOCLEAN="yes"
CBUILD="i686-pc-linux-gnu"
CFLAGS="-O3 -march=pentium3 -pipe -fomit-frame-pointer"
CHOST="i686-pc-linux-gnu"
CONFIG_PROTECT="/etc /usr/kde/2/share/config /usr/kde/3/share/config /usr/share/
config /var/qmail/control"
CONFIG_PROTECT_MASK="/etc/gconf /etc/terminfo /etc/env.d"
CXXFLAGS="-O3 -march=pentium3 -pipe -fomit-frame-pointer"
DISTDIR="/usr/portage/distfiles"
FEATURES="autoconfig distlocks sandbox sfperms strict"
GENTOO_MIRRORS="ftp://ftp.fi.muni.cz/pub/linux/gentoo ftp://ftp.linux.cz/pub/
linux/gentoo ftp://ftp.wh2.tu-dresden.de/pub/mirrors/gentoo http://ftp-stud.fht-
esslingen.de/pub/Mirrors/gentoo/"
MAKEOPTS="-j2"
PKGDIR="/usr/portage/packages"
PORTAGE_TMPDIR="/usr/local/tmp"
PORTDIR="/usr/portage"
SYNC="rsync://rsync.europe.gentoo.org/gentoo-portage"
USE="x86 apache2 apm arts berkdb cdr crypt eds emboss encode foomaticdb fortran 
gd gdbm gif gpm gstreamer gtk2 imagemagick imlib ipv6 ithreads jpeg libg++ 
libwww mad mikmod motif mp3 mysql ncurses nls ogg oggvorbis pam pdflib perl png 
python quicktime readline samba sdl sftplogging slang spell ssl svga tcpd 
truetype truetype-fonts type1-fonts vorbis xml2 xmms xv zlib userland_GNU 
kernel_linux elibc_glibc"
Unset:  ASFLAGS, CTARGET, LANG, LC_ALL, LDFLAGS, LINGUAS, PORTDIR_OVERLAY

Comment 4 John Mylchreest (RETIRED) gentoo-dev 2005-10-13 06:18:16 UTC
Sorry.. this has been sitting here without me doin much about it.
I've tried again to re-create this and cant.
I have also stepped through to fgind a possible problem, but cant.
Could you both please try again and let me know if it is still happening?

If so please attach an updated emerge info.

Can you let me know anyways! Thanks :D
Comment 5 John Mylchreest (RETIRED) gentoo-dev 2005-10-22 09:58:14 UTC
closing NEEDINFO for the time being