Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 464198 - app-admin/eclean-kernel-0.3.1 removes wrong kernels
Summary: app-admin/eclean-kernel-0.3.1 removes wrong kernels
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All Linux
: Normal normal (vote)
Assignee: Michał Górny
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2013-04-02 13:57 UTC by Fabio Coatti
Modified: 2013-04-02 19:22 UTC (History)
0 users

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


Attachments
Debugging help patch (0001-Report-real-KV-in-list-kernels.patch,2.50 KB, patch)
2013-04-02 14:15 UTC, Michał Górny
Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Fabio Coatti 2013-04-02 13:57:35 UTC
on my system, eclean-kernel removes all kernels, saving only the active one, because "vmlinuz does not exist" but it does exists.
look here, does not seems to be the expected result:


eclean-kernel -p -D
* Trying bootloader lilo
* Trying bootloader grub2
* Trying bootloader grub
** /boot/grub/grub.conf found
* In get_removal_list()
Preserving currently running kernel (3.8.5)
These are the kernels which would be removed:
- 3.8.2: vmlinuz does not exist
- 3.8.3: vmlinuz does not exist
- 3.8.4: vmlinuz does not exist

Preserving currently running kernel (3.8.5)
These are the kernels which would be removed:
- 3.8.3: vmlinuz does not exist, not referenced by bootloader (grub)
- 3.8.4: vmlinuz does not exist
- 3.8.2: vmlinuz does not exist, not referenced by bootloader (grub)
- genkernel-x86_64-3.8.3: not referenced by bootloader (grub)
- genkernel-x86_64-3.8.2: not referenced by bootloader (grub)



eclean-kernel -l ; ls -l /boot /lib/modules/*
genkernel-x86_64-3.8.5:
- vmlinuz: /boot/kernel-genkernel-x86_64-3.8.5
- systemmap: /boot/System.map-genkernel-x86_64-3.8.5
- initramfs: /boot/initramfs-genkernel-x86_64-3.8.5
genkernel-x86_64-3.8.4:
- vmlinuz: /boot/kernel-genkernel-x86_64-3.8.4
- systemmap: /boot/System.map-genkernel-x86_64-3.8.4
- initramfs: /boot/initramfs-genkernel-x86_64-3.8.4
genkernel-x86_64-3.8.3:
- vmlinuz: /boot/kernel-genkernel-x86_64-3.8.3
- systemmap: /boot/System.map-genkernel-x86_64-3.8.3
- initramfs: /boot/initramfs-genkernel-x86_64-3.8.3
genkernel-x86_64-3.8.2:
- vmlinuz: /boot/kernel-genkernel-x86_64-3.8.2
- systemmap: /boot/System.map-genkernel-x86_64-3.8.2
- initramfs: /boot/initramfs-genkernel-x86_64-3.8.2
3.8.4:
- modules: /lib64/modules/3.8.4
- build: /usr/src/linux-3.8.4
3.8.5:
- modules: /lib64/modules/3.8.5
- build: /usr/src/linux-3.8.5
3.8.2:
- modules: /lib64/modules/3.8.2
3.8.3:
- modules: /lib64/modules/3.8.3
/boot:
totale 33792
lrwxrwxrwx 1 root root       1  2 dic 19.22 boot -> .
drwxr-xr-x 2 root root    4096  2 apr 15.10 grub
-rw-r--r-- 1 root root 2573152  4 mar 13.36 initramfs-genkernel-x86_64-3.8.2
-rw-r--r-- 1 root root 2590108 15 mar 08.58 initramfs-genkernel-x86_64-3.8.3
-rw-r--r-- 1 root root 2588196 20 mar 22.52 initramfs-genkernel-x86_64-3.8.4
-rw-r--r-- 1 root root 2764360  2 apr 10.28 initramfs-genkernel-x86_64-3.8.5
-rw-r--r-- 1 root root 3633520  4 mar 13.29 kernel-genkernel-x86_64-3.8.2
-rw-r--r-- 1 root root 3658000 15 mar 08.49 kernel-genkernel-x86_64-3.8.3
-rw-r--r-- 1 root root 3660720 20 mar 22.46 kernel-genkernel-x86_64-3.8.4
-rw-r--r-- 1 root root 3658384  2 apr 10.23 kernel-genkernel-x86_64-3.8.5
-rw-r--r-- 1 root root 2359524  4 mar 13.29 System.map-genkernel-x86_64-3.8.2
-rw-r--r-- 1 root root 2362960 15 mar 08.49 System.map-genkernel-x86_64-3.8.3
-rw-r--r-- 1 root root 2362946 20 mar 22.46 System.map-genkernel-x86_64-3.8.4
-rw-r--r-- 1 root root 2363181  2 apr 10.23 System.map-genkernel-x86_64-3.8.5

/lib/modules/3.8.2:
totale 588
lrwxrwxrwx 1 root root     20  4 mar 13.34 build -> /usr/src/linux-3.8.2
drwxr-xr-x 1 root root     76  4 mar 13.34 kernel
-rw-r--r-- 1 root root 106097  4 mar 13.34 modules.alias
-rw-r--r-- 1 root root 113444  4 mar 13.34 modules.alias.bin
-rw-r--r-- 1 root root   8209  4 mar 13.34 modules.builtin
-rw-r--r-- 1 root root  11150  4 mar 13.34 modules.builtin.bin
-rw-r--r-- 1 root root  42892  4 mar 13.34 modules.dep
-rw-r--r-- 1 root root  69811  4 mar 13.34 modules.dep.bin
-rw-r--r-- 1 root root    191  4 mar 13.34 modules.devname
-rw-r--r-- 1 root root  24480  4 mar 13.34 modules.order
-rw-r--r-- 1 root root    131  4 mar 13.34 modules.softdep
-rw-r--r-- 1 root root  87167  4 mar 13.34 modules.symbols
-rw-r--r-- 1 root root 105393  4 mar 13.34 modules.symbols.bin
lrwxrwxrwx 1 root root     20  4 mar 13.34 source -> /usr/src/linux-3.8.2

/lib/modules/3.8.3:
totale 620
lrwxrwxrwx 1 root root     20 15 mar 08.56 build -> /usr/src/linux-3.8.3
drwxr-xr-x 1 root root     76 15 mar 08.56 kernel
drwxr-xr-x 1 root root     92 18 mar 08.25 misc
-rw-r--r-- 1 root root 106170 18 mar 08.25 modules.alias
-rw-r--r-- 1 root root 113567 18 mar 08.25 modules.alias.bin
-rw-r--r-- 1 root root   8209 15 mar 08.56 modules.builtin
-rw-r--r-- 1 root root  11150 18 mar 08.25 modules.builtin.bin
-rw-r--r-- 1 root root  43014 18 mar 08.25 modules.dep
-rw-r--r-- 1 root root  70063 18 mar 08.25 modules.dep.bin
-rw-r--r-- 1 root root    191 18 mar 08.25 modules.devname
-rw-r--r-- 1 root root  24480 15 mar 08.56 modules.order
-rw-r--r-- 1 root root    131 18 mar 08.25 modules.softdep
-rw-r--r-- 1 root root 102922 18 mar 08.25 modules.symbols
-rw-r--r-- 1 root root 120239 18 mar 08.25 modules.symbols.bin
lrwxrwxrwx 1 root root     20 15 mar 08.56 source -> /usr/src/linux-3.8.3

/lib/modules/3.8.4:
totale 588
lrwxrwxrwx 1 root root     20 20 mar 22.51 build -> /usr/src/linux-3.8.4
drwxr-xr-x 1 root root     76 20 mar 22.51 kernel
-rw-r--r-- 1 root root 106323 20 mar 22.51 modules.alias
-rw-r--r-- 1 root root 113848 20 mar 22.51 modules.alias.bin
-rw-r--r-- 1 root root   8209 20 mar 22.51 modules.builtin
-rw-r--r-- 1 root root  11150 20 mar 22.51 modules.builtin.bin
-rw-r--r-- 1 root root  42892 20 mar 22.51 modules.dep
-rw-r--r-- 1 root root  69811 20 mar 22.51 modules.dep.bin
-rw-r--r-- 1 root root    191 20 mar 22.51 modules.devname
-rw-r--r-- 1 root root  24480 20 mar 22.51 modules.order
-rw-r--r-- 1 root root    131 20 mar 22.51 modules.softdep
-rw-r--r-- 1 root root  87167 20 mar 22.51 modules.symbols
-rw-r--r-- 1 root root 105393 20 mar 22.51 modules.symbols.bin
lrwxrwxrwx 1 root root     20 20 mar 22.51 source -> /usr/src/linux-3.8.4

/lib/modules/3.8.5:
totale 588
lrwxrwxrwx 1 root root     20  2 apr 10.27 build -> /usr/src/linux-3.8.5
drwxr-xr-x 1 root root     76  2 apr 10.27 kernel
-rw-r--r-- 1 root root 106323  2 apr 10.27 modules.alias
-rw-r--r-- 1 root root 113848  2 apr 10.27 modules.alias.bin
-rw-r--r-- 1 root root   8209  2 apr 10.27 modules.builtin
-rw-r--r-- 1 root root  11150  2 apr 10.27 modules.builtin.bin
-rw-r--r-- 1 root root  42892  2 apr 10.27 modules.dep
-rw-r--r-- 1 root root  69811  2 apr 10.27 modules.dep.bin
-rw-r--r-- 1 root root    191  2 apr 10.27 modules.devname
-rw-r--r-- 1 root root  24480  2 apr 10.27 modules.order
-rw-r--r-- 1 root root    131  2 apr 10.27 modules.softdep
-rw-r--r-- 1 root root  87167  2 apr 10.27 modules.symbols
-rw-r--r-- 1 root root 105393  2 apr 10.27 modules.symbols.bin
lrwxrwxrwx 1 root root     20  2 apr 10.27 source -> /usr/src/linux-3.8.5


Reproducible: Always




Portage 2.2.0_alpha171 (default/linux/amd64/13.0/desktop/kde, gcc-4.7.2, glibc-2.17, 3.8.5 x86_64)
=================================================================
System uname: Linux-3.8.5-x86_64-Intel-R-_Core-TM-_i5-3427U_CPU_@_1.80GHz-with-gentoo-2.2
KiB Mem:     8096968 total,    490032 free
KiB Swap:    8386556 total,   8386300 free
Timestamp of tree: Tue, 02 Apr 2013 12:00:01 +0000
ld ld di GNU (GNU Binutils) 2.23.2
app-shells/bash:          4.2_p45
dev-java/java-config:     2.1.12-r1
dev-lang/python:          2.7.3-r3, 3.2.3-r2
dev-util/cmake:           2.8.10.2-r1
dev-util/pkgconfig:       0.28
sys-apps/baselayout:      2.2
sys-apps/openrc:          0.11.8
sys-apps/sandbox:         2.6-r1
sys-devel/autoconf:       2.13, 2.69
sys-devel/automake:       1.9.6-r3, 1.11.6, 1.12.6, 1.13.1
sys-devel/binutils:       2.23.2
sys-devel/gcc:            4.7.2-r1
sys-devel/gcc-config:     1.8
sys-devel/libtool:        2.4.2
sys-devel/make:           3.82-r4
sys-kernel/linux-headers: 3.8 (virtual/os-headers)
sys-libs/glibc:           2.17
Repositories: gentoo overlay
Installed sets: @kde
ACCEPT_KEYWORDS="amd64 ~amd64"
ACCEPT_LICENSE="* -@EULA"
CBUILD="x86_64-pc-linux-gnu"
CFLAGS="-march=native -mtune=native -O2 -pipe -ftree-loop-linear -floop-interchange -floop-strip-mine -fgraphite-identity -floop-block"
CHOST="x86_64-pc-linux-gnu"
CONFIG_PROTECT="/etc /usr/share/config /usr/share/gnupg/qualified.txt /usr/share/polkit-1/actions"
CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/env.d /etc/fonts/fonts.conf /etc/gconf /etc/gentoo-release /etc/revdep-rebuild /etc/sandbox.d /etc/terminfo"
CXXFLAGS="-march=native -mtune=native -O2 -pipe -ftree-loop-linear -floop-interchange -floop-strip-mine -fgraphite-identity -floop-block"
DISTDIR="/usr/portage/distfiles"
FCFLAGS="-O2 -pipe"
FEATURES="assume-digests binpkg-logs config-protect-if-modified distlocks ebuild-locks fixlafiles merge-sync news parallel-fetch preserve-libs protect-owned sandbox sfperms strict unknown-features-warn unmerge-logs unmerge-orphans userfetch xattr"
FFLAGS="-O2 -pipe"
GENTOO_MIRRORS="http://distfiles.gentoo.org"
LANG="it_IT.utf8"
LDFLAGS="-Wl,-O1 -Wl,--as-needed"
MAKEOPTS="-j4"
PKGDIR="/usr/portage/packages"
PORTAGE_CONFIGROOT="/"
PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --compress --force --whole-file --delete --stats --human-readable --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages"
PORTAGE_TMPDIR="/var/tmp"
PORTDIR="/usr/portage"
PORTDIR_OVERLAY="/usr/overlay"
SYNC="rsync://rsync.gentoo.org/gentoo-portage"
USE="3dnow 3dnowext 3dnowprefetch X \ a52 aac aalib acl acpi aim alsa amd64 apng ares asf ati audio audiofile avahi bash-completion berkdb bidi bl bluetooth branding bri bzip2 cairo caps ccdda cdda cdr cjk cli consolekit cracklib crypt cups curl cxx dba dbus declarative device-mapper dga divx divx4linux dparanoia dri dts dv dvb dvd dvdr dvdread eap-sim edl embedded emboss encode ethereal exif expat faad fam fame fbcon ffmpeg fftw firefox flac force-cgi-redirect fortran ftp gallium garmin gd gdbm gif gimp gmedia gmp gnutls gphoto2 gpm gps gsm gtk h264 h323 iconv icq icu idn ifp ilbc imagemagick imap innodb ipod iproute2 ipv6 ithreads jabber jack java javascript joystick jpeg kde kipi kontact kvm lastfm lcms ldap libcaca libnotify libvirtd live lm_sensors lua lvm lxc lzma lzo mad maildir matroska mbox mdnsresponder-compat mhash mime mjpeg mmap mmx mmxext mng modules mozdevelop mozilla mp3 mp4 mpeg msn mtp mudflap multilib mysql ncurses nepomuk network networkmanager new-hpcups nfsv4 njb nls nptl nptlonly nsplugin offensive ofx ogg oggvorbis ogm openal openexr opengl openmp oscar pam pango parted pcap pcre pdf phonon php plasma plotutils png policykit ppds qemu qt3support qt4 readline rtc ruby samba sasl sdl semantic-desktop session sha512 sip slang slp smartcard sndfile snmp sox speex spell srt sse sse2 ssh ssl ssse3 startup-notification svg symlink tcltk tcpd theora threads tiff tk tremor truetype udev udisks unicode upower usb utempter v4l v4l2 vaapi vcd vde vhosts video videos vim-syntax virt-network virtualbox vorbis wav webkit wifi wimax wmf wmp wps wxwidgets wxwindows x264 xanim xattr xcb xcomposite xen xface xft xine xinerama xml xosd xpm xscreensaver xsl xulrunner xv xvid zlib zpm" ABI_X86="64" ALSA_CARDS="ali5451 als4000 atiixp atiixp-modem bt87x ca0106 cmipci emu10k1x ens1370 ens1371 es1938 es1968 fm801 hda-intel intel8x0 intel8x0m maestro3 trident usb-audio via82xx via82xx-modem ymfpci" ALSA_PCM_PLUGINS="adpcm alaw asym copy dmix dshare dsnoop empty extplug file hooks iec958 ioplug ladspa lfloat linear meter mmap_emul mulaw multi null plug rate route share shm softvol" APACHE2_MODULES="authn_core authz_core socache_shmcb unixd actions alias auth_basic authn_alias authn_anon authn_dbm authn_default authn_file authz_dbm authz_default authz_groupfile authz_host authz_owner authz_user autoindex cache cgi cgid dav dav_fs dav_lock deflate dir disk_cache env expires ext_filter file_cache filter headers include info log_config logio mem_cache mime mime_magic negotiation rewrite setenvif speling status unique_id userdir usertrack vhost_alias" CALLIGRA_FEATURES="kexi words flow plan sheets stage tables krita karbon braindump" CAMERAS="ptp2" COLLECTD_PLUGINS="df interface irq load memory rrdtool swap syslog" ELIBC="glibc" GPSD_PROTOCOLS="ashtech aivdm earthmate evermore fv18 garmin garmintxt gpsclock itrax mtk3301 nmea ntrip navcom oceanserver oldstyle oncore rtcm104v2 rtcm104v3 sirf superstar2 timing tsip tripmate tnt ubx" INPUT_DEVICES="evdev synaptics" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LIBREOFFICE_EXTENSIONS="presenter-console presenter-minimizer" LINGUAS="it en" OFFICE_IMPLEMENTATION="libreoffice" PHP_TARGETS="php5-3" PYTHON_SINGLE_TARGET="python2_7" PYTHON_TARGETS="python2_7 python3_2" QEMU_SOFTMMU_TARGETS="i386 x86_64" QEMU_USER_TARGETS="i386 x86_64" RUBY_TARGETS="ruby18 ruby19" USERLAND="GNU" VIDEO_CARDS="intel v4l" XTABLES_ADDONS="quota2 psd pknock lscan length2 ipv4options ipset ipp2p iface geoip fuzzy condition tee tarpit sysrq steal rawnat logmark ipmark dhcpmac delude chaos account"
Unset:  CPPFLAGS, CTARGET, EMERGE_DEFAULT_OPTS, INSTALL_MASK, LC_ALL, PORTAGE_BUNZIP2_COMMAND, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS, USE_PYTHON
Comment 1 Michał Górny archtester Gentoo Infrastructure gentoo-dev Security 2013-04-02 14:15:24 UTC
Created attachment 344072 [details, diff]
Debugging help patch

Hmm, it seems that it does not map the modules to the right kernels...

Are you using the live version (-9999) maybe? If yes, then please upgrade it and use 'eclean-kernel -l' afterwards. I've added reporting of 'real KV' as used to look for the modules.

You can also download and apply the attached patch by hand:

$ cd /usr/lib64/python2.7/site-packages/
$ patch -p1 < /tmp/0001-Report-real-KV-in-list-kernels.patch
Comment 2 Fabio Coatti 2013-04-02 14:46:44 UTC
I'll do that right now; in the meantime, using strace I got this output, maybe it can be interesting:

3632  lstat("/lib", {st_mode=S_IFLNK|0777, st_size=5, ...}) = 0
3632  lstat("/lib", {st_mode=S_IFLNK|0777, st_size=5, ...}) = 0
3632  readlink("/lib", "lib64", 4096)   = 5
3632  lstat("/lib64", {st_mode=S_IFDIR|0755, st_size=4542, ...}) = 0
3632  lstat("/lib64", {st_mode=S_IFDIR|0755, st_size=4542, ...}) = 0
3632  lstat("/lib64/modules", {st_mode=S_IFDIR|0755, st_size=40, ...}) = 0
3632  lstat("/lib64/modules/b'3.8.2'", 0x7fff91e599c0) = -1 ENOENT (No such file or directory)
3632  lstat("/lib64/modules/b'3.8.2'/build", 0x7fff91e599c0) = -1 ENOENT (No such file or directory)
3632  stat("/lib/modules/b'3.8.2'", 0x7fff91e5a240) = -1 ENOENT (No such file or directory)
3632  stat("/lib64/modules/b'3.8.2'/build", 0x7fff91e5a240) = -1 ENOENT (No such file or directory)
3632  lstat("/boot", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0
3632  lstat("/boot/kernel-genkernel-x86_64-3.8.3", {st_mode=S_IFREG|0644, st_size=3658000, ...}) = 0
3632  open("/boot/kernel-genkernel-x86_64-3.8.3", O_RDONLY) = 3


Not sure where the "b" letter in modules path came from, but it seems a bit weird, isn't it?
Comment 3 Fabio Coatti 2013-04-02 14:48:42 UTC
btw: I'm using 0.3.2 of eclean-kernel:

calvin ~ # equery uses eclean-kernel
[ Legend : U - final flag setting for installation]
[        : I - package is installed with flag     ]
[ Colors : set, unset                             ]
 * Found these USE flags for app-admin/eclean-kernel-0.3.2:
 U I
 - - python_targets_pypy1_9   : Build with PyPy 1.9
 - - python_targets_python2_6 : Build with Python 2.6
 + + python_targets_python2_7 : Build with Python 2.7
 - - python_targets_python3_1 : Build with Python 3.1
 + + python_targets_python3_2 : Build with Python 3.2


and /lib is a symlink to /lib64
Comment 4 Michał Górny archtester Gentoo Infrastructure gentoo-dev Security 2013-04-02 15:08:56 UTC
(In reply to comment #2)
> 3632  stat("/lib64/modules/b'3.8.2'/build", 0x7fff91e5a240) = -1 ENOENT (No
> such file or directory)
>
> Not sure where the "b" letter in modules path came from, but it seems a bit
> weird, isn't it?

That would be it :). It's beauty of Python locale handling. b'xxx' means it's a bytestring or binary data which didn't get converted to utf-8 string properly.

Thanks for all the feedback, it is a real pleasure working with you :). I've just released and committed 0.3.3 which should fix the issue. Feel free to reopen if it persists.
Comment 5 Fabio Coatti 2013-04-02 19:22:38 UTC
I can confirm that the solution works, many thanks for the quick fix!!!