| Summary: | Pressing F2 causes switch to splash logo (Booting 100%, Press F2 to ... ) | ||
|---|---|---|---|
| Product: | Gentoo Linux | Reporter: | Vladimir Pouzanov <farcaller> |
| Component: | [OLD] Core system | Assignee: | Michal Januszewski (RETIRED) <spock> |
| Status: | RESOLVED FIXED | ||
| Severity: | major | CC: | electronerd |
| Priority: | High | ||
| Version: | unspecified | ||
| Hardware: | AMD64 | ||
| OS: | Linux | ||
| Whiteboard: | |||
| Package list: | Runtime testing required: | --- | |
| Attachments: | A debugging diff for /sbin/splash-functions.sh | ||
|
Description
Vladimir Pouzanov
2005-06-21 06:20:46 UTC
Could you please paste the output of 'ps aux | grep splash' after boot? If you find that the splash daemon is running after executing this command, try doing: echo "exit" > /lib/splash/cache/.splash and check whether it's still alive. If it is, try killing it. See if there are any problems with the F2 key after the splash daemon is dead. I have this problem too. electronerd@sheila ~ $ ps aux | grep splash root 2979 0.0 1.7 136092 17808 tty16 Ss+ Jul02 0:00 /sbin/splash_util.static -d --theme=livecd-2005.0 root 3246 0.0 1.7 136096 17804 tty16 S+ Jul02 0:00 /sbin/splash_util.static -d --theme=livecd-2005.0 500 25073 0.0 0.0 2672 524 pts/5 R+ 00:28 0:00 grep splash electronerd@sheila ~ $ echo "exit" | sudo tee /lib/splash/cache/.splash exit electronerd@sheila ~ $ ps aux | grep splash 500 11881 0.0 0.0 2676 524 pts/5 R+ 00:30 0:00 grep splash Now there is no problem with pressing F2. Looking into this a bit further, it seems that the problem is in the following
code from daemon.c(lines 235-247):
if (ev[i].type != EV_KEY || ev[i].value != 0 || ev[i].code != KEY_F2)
continue;
if (ioctl(fd_tty_s, VT_GETSTATE, &stat) != -1) {
if (stat.v_active == tty_s) {
ioctl(fd_tty_s, VT_ACTIVATE, tty_v);
ioctl(fd_tty_s, VT_WAITACTIVE, tty_v);
// write(fd_tty_v, "\x08", 1);
} else {
ioctl(fd_tty_s, VT_ACTIVATE, tty_s);
ioctl(fd_tty_s, VT_WAITACTIVE, tty_s);
}
}
Perhaps if it was changed to read
if (ioctl(fd_tty_s, VT_GETSTATE, &stat) != -1) {
if (stat.v_active == tty_s) {
ioctl(fd_tty_s, VT_ACTIVATE, tty_v);
ioctl(fd_tty_s, VT_WAITACTIVE, tty_v);
// write(fd_tty_v, "\x08", 1);
} else if (stat.v_active == tty_v) {
ioctl(fd_tty_s, VT_ACTIVATE, tty_s);
ioctl(fd_tty_s, VT_WAITACTIVE, tty_s);
}
}
Would that cause any funny problems with anything else?
Created attachment 62546 [details, diff]
A debugging diff for /sbin/splash-functions.sh
Please try applying the attached patch against /sbin/splash-functins.sh and see
whether after reboot you can see all three 'DEBUG: ..' lines somewhere near the
end of the messages printed by the initscripts.
OK, this is weird. Now the problem has disappeared for me, even after rebooting. I did not apply my change (which I now see is the incorrect change [would fix the symptoms, not the problem, etc.]). electronerd@sheila ~ $ ps ax | grep splash 11273 pts/1 R+ 0:00 grep splash Strange. Have you made any important changes to your system before the reboot? Updated baselayout? Added/removed some initscripts from the default runlevel? I have done nothing to my system but the bug still haven't appeared any more. Is this still an issue for anyone with splashutils-1.1.9.7? Yes, it`s still an issue using splashutils-1.1.9.7 for me. My 'emerge info': Portage 2.0.51.22-r1 (default-linux/amd64/2005.0, gcc-3.4.4, glibc-2.3.5-r0, 2.6.12-gentoo-r5 x86_64) ================================================================= System uname: 2.6.12-gentoo-r5 x86_64 AMD Athlon(tm) 64 Processor 3400+ Gentoo Base System version 1.6.13 distcc 2.18.3 x86_64-pc-linux-gnu (protocols 1 and 2) (default port 3632) [disabled] dev-lang/python: 2.3.5, 2.4.1-r1 sys-apps/sandbox: 1.2.10 sys-devel/autoconf: 2.13, 2.59-r7 sys-devel/automake: 1.4_p6, 1.5, 1.6.3, 1.7.9-r1, 1.8.5-r3, 1.9.6 sys-devel/binutils: 2.16.1 sys-devel/libtool: 1.5.18-r1 virtual/os-headers: 2.6.11-r2 ACCEPT_KEYWORDS="amd64 ~amd64" AUTOCLEAN="yes" CBUILD="x86_64-pc-linux-gnu" CFLAGS="-march=athlon64 -O2 -pipe" CHOST="x86_64-pc-linux-gnu" CONFIG_PROTECT="/etc /usr/kde/2/share/config /usr/kde/3.4/env /usr/kde/3.4/share /config /usr/kde/3.4/shutdown /usr/kde/3/share/config /usr/lib/X11/xkb /usr/shar e/config /var/qmail/control" CONFIG_PROTECT_MASK="/etc/gconf /etc/splash /etc/terminfo /etc/env.d" CXXFLAGS="-march=athlon64 -O2 -pipe" DISTDIR="/usr/portage/distfiles" FEATURES="autoconfig ccache distlocks sandbox sfperms strict" GENTOO_MIRRORS="http://www.intern.masanetz.net ftp://ftp.uni- kl.de/pub/linux/gentoo/ ftp://ftp.tu-clausthal.de/pub/linux/gentoo/ ftp://sunsite.informatik.rwth-aachen.de/pub/Linux/gentoo ftp://linux.rz.ruhr- uni-bochum.de/gentoo-mirror/ ftp://ftp.uni-erlangen.de/pub/mirrors/gentoo ftp://ftp.join.uni-muenster.de/pub/linux/distributions/gentoo ftp://mirrors.sec.informatik.tu-darmstadt.de/gentoo/ ftp://ftp-stud.fht- esslingen.de/pub/Mirrors/gentoo/" LANG="de_DE@euro" LINGUAS="de" MAKEOPTS="-j2" PKGDIR="/usr/portage/packages" PORTAGE_TMPDIR="/var/tmp" PORTDIR="/usr/portage" PORTDIR_OVERLAY="/usr/local/portage" SYNC="rsync://rsync.intern.masanetz.net/gentoo-portage" USE="amd64 X a52 aac aalib acl alsa amuled arts audiofile avi berkdb bitmap- fonts bonobo bzlib cdda cddb cdio cdparanoia cdr chipcard crypt cups curl dts dvb dvd dvdr dvdread encode esd exif faad fam ffmpeg flac foomaticdb fortran freetype gd gdbm gif gimp gnome gpm gstreamer gtk gtk2 gtkhtml guile hbci imagemagick imap imlib ipv6 java jpeg junit kde kdepim ldap lzw lzw-tiff mad matroska mikmod moneyplex motif mp3 mpeg mpeg2 ncurses nls nptl ogg oggvorbis ooo-kde opengl pam pdflib perl png ppds python qt quicktime radeon readline remote samba sapdb sdl slang spell ssl stream svg tcpd theora tidy tiff truetype-fonts type1 type1-fonts usb userlocales vcd vlm vorbis wmf wxgtk1 wxwindows xine xinerama xml xml2 xmms xpm xv xvid zlib linguas_de userland_GNU kernel_linux elibc_glibc" Unset: ASFLAGS, CTARGET, LC_ALL, LDFLAGS But I need to say, it only happens on my workstation with an ATI RADEON 9200 (radeonfb). At my server with the ATI Rage (atyfb) there are no splash- processes left after booting... Are you by any chance running devfsd instead of udev? If you are, could you please try upgrading to udev (it should be quite painless, and devfs is not supported as of 2.6.13 anyway)? If you're already running udev, could you please try applying the attached patch against /sbin/splash-functions.sh and checking the DEBUG: messages? I'm just using udev. I tried the patch and something weird happened: No more left over splash-processes. I reinstalled the old splash-functions.sh and the left-over processes were back after rebooting. Checked this behavior twice. With the patched splash-functions.sh there are no more splash-processes left after booting. Should be fixed in 1.1.9.8. Please reopen if it's not. Upgraded to 1.1.9.8, the bug appeared the next day: root 2814 0.0 1.8 33400 4700 tty16 Ss+ 09:45 0:00 /sbin/splash_util.static -d --theme=default root 2821 0.0 0.0 0 0 tty16 Z+ 09:45 0:00 [splash_util.sta] <defunct> root 2855 0.0 1.8 33404 4700 tty16 S+ 09:45 0:00 /sbin/splash_util.static -d --theme=default echo "exit" > /lib/splash/cache/.splash don't helps, but after killall -9 splash_util.static F2 bug dissapears Could you please check 1.1.9.9? Should be fixed in 1.1.9.10. |