Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 196584 - media-gfx/splashutils-1.5.2.1 - bootsplash silent mode hangs
Summary: media-gfx/splashutils-1.5.2.1 - bootsplash silent mode hangs
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All Linux
: High normal (vote)
Assignee: Michal Januszewski (RETIRED)
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2007-10-21 11:02 UTC by Helmut Auer
Modified: 2010-02-07 13:39 UTC (History)
3 users (show)

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


Attachments
Patch to make the kernel display debug info about console switching. (kernel-console-switch-debug.diff,2.17 KB, patch)
2007-11-02 12:29 UTC, Michal Januszewski (RETIRED)
Details | Diff
Patch to display even more debug info (kernel-console-switch-debug.diff,2.97 KB, patch)
2007-11-02 22:17 UTC, Michal Januszewski (RETIRED)
Details | Diff
Patch to make fbsplashd display debug info about received signals. (splashutils-signal.patch,1.41 KB, patch)
2007-11-04 12:27 UTC, Michal Januszewski (RETIRED)
Details | Diff
This patch avoids locking the console during bootspash (splashutils-1.5.2-daemon.patch,2.93 KB, patch)
2007-11-14 18:06 UTC, Helmut Auer
Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Helmut Auer 2007-10-21 11:02:29 UTC
When I use the silent option, the fgconsole is stuck to tty16 ( or whatever I use in the silent_splash tty ), as long as I kill fbsplashd.static process. The gentoo theme shows 91 Percent and when I connect via ssh I see that a process want to change to console 1 ( chvt 1 ) but without success, I also cannot change to any other console as long as fbsplashd.static is running. 
I am using:
sys-apps/baselayout-1.12.9-r2 USE="unicode -bootstrap -build -static"
media-gfx/splashutils-1.5.2.1 USE="gpm png truetype -hardened -mng"
with the x86 2007.0 profile.
This is the grub line:
kernel /boot/bzImage-act  root=/dev/hda2 noapic noisapnp quiet video=uvesafb:800x600-24@50,mtrr:3,ywrap splash=silent,theme:g2v CONSOLE=/dev/tty1
initrd=/boot/fbsplash-g2v-800x600

and this is the ps x output when the bootup hangs:

 1922 tty16    Ss+    0:00 /sbin/fbsplashd.static --theme=g2v --pidfile=/lib/splash/cache/daemon.pid --type=bootup --effects=fadein fadeout
 1923 ?        S      0:00 /sbin/fbsplashd.static --theme=g2v --pidfile=/lib/splash/cache/daemon.pid --type=bootup --effects=fadein fadeout
 1924 ?        S      0:00 /sbin/fbsplashd.static --theme=g2v --pidfile=/lib/splash/cache/daemon.pid --type=bootup --effects=fadein fadeout
 1952 ?        S      0:00 /sbin/fbsplashd.static --theme=g2v --pidfile=/lib/splash/cache/daemon.pid --type=bootup --effects=fadein fadeout
...
 4767 tty1     Ss+    0:01 /bin/bash /sbin/rc default
...
 7564 tty1     S+     0:00 /usr/bin/chvt 1
Comment 1 Helmut Auer 2007-10-21 11:30:28 UTC
P.S Without fadein fadeout the problem reamins the same.
Also I cannot start an application with openvt on console 8 during bootup.

Here is my emerge --info:
Portage 2.1.3.9 (default-linux/x86/2007.0, gcc-4.1.2, glibc-2.5-r4,
2.6.23.1-gentoo i686)
=================================================================
System uname: 2.6.23.1-gentoo i686 AMD Athlon(tm) 64 Processor 2800+
Timestamp of tree: Sun, 21 Oct 2007 10:00:01 +0000
distcc 2.18.3 i686-pc-linux-gnu (protocols 1 and 2) (default port 3632)
[disabled]
ccache version 2.4 [enabled]
app-shells/bash:     3.2_p17
dev-java/java-config: 1.3.7, 2.0.33-r1
dev-lang/python:     2.4.4-r5
dev-python/pycrypto: 2.0.1-r6
dev-util/ccache:     2.4-r7
sys-apps/baselayout: 1.12.9-r2
sys-apps/sandbox:    1.2.17
sys-devel/autoconf:  2.13, 2.61-r1
sys-devel/automake:  1.4_p6, 1.5, 1.6.3, 1.7.9-r1, 1.8.5-r3, 1.9.6-r2, 1.10
sys-devel/binutils:  2.18-r1
sys-devel/gcc-config: 1.3.16
sys-devel/libtool:   1.5.24
virtual/os-headers:  2.6.23
ACCEPT_KEYWORDS="x86"
CBUILD="i686-pc-linux-gnu"
CFLAGS="-march=pentium3 -O2 -pipe -fomit-frame-pointer -fforce-addr
-falign-functions=4 -fprefetch-loop-arrays -ffast-math"
CHOST="i686-pc-linux-gnu"
CONFIG_PROTECT="/etc /usr/kde/3.5/env /usr/kde/3.5/share/config
/usr/kde/3.5/shutdown /usr/share/X11/xkb /usr/share/config"
CONFIG_PROTECT_MASK="/etc/env.d /etc/env.d/java/ /etc/gconf
/etc/php/apache2-php5/ext-active/ /etc/php/cgi-php5/ext-active/
/etc/php/cli-php5/ext-active/ /etc/revdep-rebuild /etc/splash /etc/terminfo
/etc/udev/rules.d"
CXXFLAGS="-march=pentium3 -O2 -pipe -fomit-frame-pointer -fforce-addr
-falign-functions=4 -fprefetch-loop-arrays -ffast-math"
DISTDIR="/usr/portage/distfiles"
FEATURES="ccache distlocks parallel-fetch sandbox sfperms strict
unmerge-orphans userfetch"
GENTOO_MIRRORS="ftp:///ftp-stud.fht-esslingen.de/pub/Mirrors/gentoo/
http://ftp-stud.fht-esslingen.de/pub/Mirrors/gentoo/
http://ftp.gentoo.skynet.be/pub/gentoo/
http://mirrors.sec.informatik.tu-darmstadt.de/gentoo/"
LANG="en_US"
LC_ALL="de_DE@euro"
LDFLAGS="-Wl,-O1 -Wl,--enable-new-dtags -Wl,--sort-common -s"
LINGUAS="de"
PKGDIR="/usr/portage/packages"
PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --compress
--force --whole-file --delete --delete-after --stats --timeout=180
--exclude=/distfiles --exclude=/local --exclude=/packages
--filter=H_**/files/digest-*"
PORTAGE_TMPDIR="/var/tmp"
PORTDIR="/usr/portage"
PORTDIR_OVERLAY="/usr/portage/local/layman/gentoo-de /usr/local/portage"
SYNC="rsync://rsync.gentoo.org/gentoo-portage"
USE="X a52 aac acl acpi alsa apache2 arts automount avahi berkdb bluetooth
cairo cardbus cddb cdr cli cracklib crypt cups dbus directfb dmx dri dv dvb dvd
dvdr dvdread dxr3 encode exif fbcon ffmpeg fftw flac fortran ftp gd gdbm gif
glitz glut gpm gs gtk gtk2 hal hddtemp iconv ieee1394 imagemagick imap imlib
ipod ipv6 irda isdnlog ithreads java joystick jpeg kde kdeenablefinal
kdehiddenvisibility latin1 lcms libwww lirc lm_sensors logrotate mad midi mmx
motif mp3 mp4 mp4live mpeg mplayer mtrr mudflap mysql ncurses network nls nptl
nvidia ogg opengl openmp oss pam pcre pda pdf perl php png pppd python qt3
quicktime rdesktop readline real reflection samba scanner sdl session slang
sndfile spell spl sse ssl svg svga tcpd tiff transcode truetype truetype-fonts
type1-fonts unicode usb v4l v4l2 vcd vorbis wifi x264 x86 xcomposite xine
xinerama xml xorg xv xvid xvmc zlib" ALSA_CARDS="ali5451 als4000 atiixp
atiixp-modem bt87x ca0106 cmipci emu10k1 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 mulaw multi
null plug rate route share shm softvol" ELIBC="glibc" INPUT_DEVICES="joystick
keyboard mouse synaptics" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633
glk hd44780 lb216 lcdm001 mtxorb ncurses text cfontzpacket cwlinux eyeboxone
graphlcd icpa106 imon iowarrior lcterm md8800 ms6931 mtcs16209x noritakevfd
pyramid sed1330 sed1520 serialvfd sli stv5730 svga t6963 tyan xosd"
LINGUAS="de" LIRC_DEVICES="serial imon imon_pad hauppauge hauppauge_dvb atiusb
pctv" USERLAND="GNU" VIDEO_CARDS="fbdev fglrx i810 mga nv nvidia r128 radeon s3
savage sis via v4l vesa vga vmware voodoo"
Unset:  CTARGET, EMERGE_DEFAULT_OPTS, INSTALL_MASK, MAKEOPTS, PORTAGE_COMPRESS,
PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS
Comment 2 Michal Januszewski (RETIRED) gentoo-dev 2007-10-22 00:16:27 UTC
Is this problem specific to splashutils-1.5.2.1? Could you please try installing an earlier version to see whether anything changes?
Comment 3 Helmut Auer 2007-10-22 07:14:04 UTC
I just installed splashutils-1.4.2 and everything works fine (also starting a console with openvt) :)
1.5.2 does not install, so I cannot test it.
1.4.2 gives a warning which is not important to me :)

Thanks for your support!



1.4.2 warning:
 * The kernel tree against which dev-libs/klibc was built was not patched
 * with a compatible version of fbsplash. Splashutils will be compiled
 * without fbsplash support (ie. verbose mode will not work).
>>> Source unpacked.




1.5.2 error:
configure: error: C compiler cannot create executables
See `config.log' for more details.
make[1]: *** [setup] Error 77
make[1]: Entering directory `/mnt/data/tmp/portage/media-gfx/splashutils-1.5.2/work/splashutils-1.5.2/objs/freetype2'
config.mk:25: /mnt/data/tmp/portage/media-gfx/splashutils-1.5.2/work/splashutils-1.5.2/libs/freetype-2.3.5/builds/unix/unix-def.mk: No such file or directory
config.mk:26: /mnt/data/tmp/portage/media-gfx/splashutils-1.5.2/work/splashutils-1.5.2/libs/freetype-2.3.5/builds/unix/unix-cc.mk: No such file or directory
make[1]: *** No rule to make target `/mnt/data/tmp/portage/media-gfx/splashutils-1.5.2/work/splashutils-1.5.2/libs/freetype-2.3.5/builds/unix/unix-cc.mk'.  Stop.
make[1]: Leaving directory `/mnt/data/tmp/portage/media-gfx/splashutils-1.5.2/work/splashutils-1.5.2/objs/freetype2'
  MAKE    freetype2
config.mk:25: /mnt/data/tmp/portage/media-gfx/splashutils-1.5.2/work/splashutils-1.5.2/libs/freetype-2.3.5/builds/unix/unix-def.mk: No such file or directory
config.mk:26: /mnt/data/tmp/portage/media-gfx/splashutils-1.5.2/work/splashutils-1.5.2/libs/freetype-2.3.5/builds/unix/unix-cc.mk: No such file or directory
make[1]: *** No rule to make target `/mnt/data/tmp/portage/media-gfx/splashutils-1.5.2/work/splashutils-1.5.2/libs/freetype-2.3.5/builds/unix/unix-cc.mk'.  Stop.
make: *** [ft2] Error 2
 *
 * ERROR: media-gfx/splashutils-1.5.2 failed.
 * Call stack:
 *   ebuild.sh, line 1654:   Called dyn_compile
 *   ebuild.sh, line 990:   Called qa_call 'src_compile'
 *   ebuild.sh, line 44:   Called src_compile
 *   splashutils-1.5.2.ebuild, line 124:   Called die
 *
 * failed to build splashutils
 * If you need support, post the topmost build error, and the call stack if relevant.
 * A complete build log is located at '/log/portage/media-gfx:splashutils-1.5.2:20071022-070033.log'.
 *
Comment 4 Helmut Auer 2007-10-22 10:07:06 UTC
P.S: The warning:

>1.4.2 warning:
> * The kernel tree against which dev-libs/klibc was built was not patched
> * with a compatible version of fbsplash. Splashutils will be compiled
> * without fbsplash support (ie. verbose mode will not work).
>>> Source unpacked.

is important, I do not get the splashimage during bootup - I have to use 1.5.2 to create the initrd with splash_geninitramfs.
Comment 5 Helmut Auer 2007-10-22 10:44:09 UTC
P.S Just another finding:
splashutils-1.5.x only compiles if I do not use:
LDFLAGS="-Wl,-O1 -Wl,--enable-new-dtags -Wl,--sort-common -s"
with LDFLAGS="" it compiles.
With version 1.5.2 I do not get the chvt hangup at the end of the boot process, but openvt during boot does not work.
So now it works for me if I build the initrd with the 1.5.x splash_geninitramfs, but use 1.4.x for bootup.
Comment 6 BedOS_Gui 2007-10-24 17:55:57 UTC
(In reply to comment #5)
> P.S Just another finding:
> splashutils-1.5.x only compiles if I do not use:
> LDFLAGS="-Wl,-O1 -Wl,--enable-new-dtags -Wl,--sort-common -s"
> with LDFLAGS="" it compiles.
> With version 1.5.2 I do not get the chvt hangup at the end of the boot process,
> but openvt during boot does not work.
> So now it works for me if I build the initrd with the 1.5.x
> splash_geninitramfs, but use 1.4.x for bootup.
> 

I have compiled splahsutils-1.5.2.1 with these LDFLAGS and it works fine :
LDFLAGS="-Wl,-O1 -Wl,--hash-style=gnu,--enable-new-dtags,-zdynsort,-z,--sort-common,-s"
Comment 7 Michal Januszewski (RETIRED) gentoo-dev 2007-10-24 22:00:20 UTC
(In reply to comment #0)
> gentoo theme shows 91 Percent and when I connect via ssh I see that a process
> want to change to console 1 ( chvt 1 ) but without success, I also cannot
> change to any other console as long as fbsplashd.static is running. 

Could you please try ssh'ing onto this machine and doing:

chvt 3 (or some other console, but not 1 and 8)

and if that doesn't work, killing the existing 'chvt 1' process?
Comment 8 Helmut Auer 2007-10-25 07:34:59 UTC
This is the error when compiling with LDFLAGS="-Wl,-O1 -Wl,--enable-new-dtags -Wl,--sort-common -s"


configure: error: C compiler cannot create executables
See `config.log' for more details.
make[1]: *** [setup] Error 77
make[1]: Entering directory `/mnt/data/tmp/portage/media-gfx/splashutils-1.5.2.1/work/splashutils-1.5.2.1/objs/freetype2'
config.mk:25: /mnt/data/tmp/portage/media-gfx/splashutils-1.5.2.1/work/splashutils-1.5.2.1/libs/freetype-2.3.5/builds/unix/unix-def.mk: No such file or directory
config.mk:26: /mnt/data/tmp/portage/media-gfx/splashutils-1.5.2.1/work/splashutils-1.5.2.1/libs/freetype-2.3.5/builds/unix/unix-cc.mk: No such file or directory
make[1]: *** No rule to make target `/mnt/data/tmp/portage/media-gfx/splashutils-1.5.2.1/work/splashutils-1.5.2.1/libs/freetype-2.3.5/builds/unix/unix-cc.mk'.  Stop.
make[1]: Leaving directory `/mnt/data/tmp/portage/media-gfx/splashutils-1.5.2.1/work/splashutils-1.5.2.1/objs/freetype2'
  MAKE    freetype2
config.mk:25: /mnt/data/tmp/portage/media-gfx/splashutils-1.5.2.1/work/splashutils-1.5.2.1/libs/freetype-2.3.5/builds/unix/unix-def.mk: No such file or directory
config.mk:26: /mnt/data/tmp/portage/media-gfx/splashutils-1.5.2.1/work/splashutils-1.5.2.1/libs/freetype-2.3.5/builds/unix/unix-cc.mk: No such file or directory
make[1]: *** No rule to make target `/mnt/data/tmp/portage/media-gfx/splashutils-1.5.2.1/work/splashutils-1.5.2.1/libs/freetype-2.3.5/builds/unix/unix-cc.mk'.  Stop.
make: *** [ft2] Error 2
Comment 9 Helmut Auer 2007-10-25 07:48:12 UTC
Switchin to another Console is also not possible, chvt hangs when its started.
Killing "chvt 1" is useless becuase its restarted by /sbin/rc immediately, but also killing rc does not help.
chvt cannot be executed as long as fbsplashd.static is running.
Comment 10 Michal Januszewski (RETIRED) gentoo-dev 2007-11-02 12:29:01 UTC
Created attachment 134998 [details, diff]
Patch to make the kernel display debug info about console switching.

After a reviewing your bug report, I started suspecting you might be hitting a kernel bug in the console switching code (this wouldn't be the first time something like this has happened..).  Could you please apply the attached patch to your kernel and then reboot with fbsplash activated.  When it hangs at the end of the boot process, try doing `chvt 6` in a ssh session and then do whatever you need to 'un-hang' it.  Afterwards, please attach your full kernel log, which should contain some new debug info about what was going on in the console-switching code.
Comment 11 Helmut Auer 2007-11-02 21:20:35 UTC
Here is the dmesg output:

Freeing unused kernel memory: 240k freed
VT_ACTIVATE: 15
set_console: 15
VT_WAITACTIVE: 16
vt_waitactive: 15
vt_waitactive returning: 0
console_callback: entry, want_console = 15, fg = 15
...
> Here is where openvt tries to open console 8:

VT_ACTIVATE: 7
set_console: 7
console_callback: entry, want_console = 7, fg = 15
change_console: 7
VT_WAITACTIVE: 8
vt_waitactive: 7
vt_waitactive returning: -514
VT_ACTIVATE: 7
set_console: 7
console_callback: entry, want_console = 7, fg = 15
change_console: 7
VT_WAITACTIVE: 8
vt_waitactive: 7
fbcondecor: console 1 using theme 'g2v'
fbcondecor: switched decor state to 'on' on console 1
fbcondecor: console 2 using theme 'g2v'
fbcondecor: switched decor state to 'on' on console 2
fbcondecor: console 3 using theme 'g2v'
fbcondecor: switched decor state to 'on' on console 3
fbcondecor: console 4 using theme 'g2v'
fbcondecor: switched decor state to 'on' on console 4
fbcondecor: console 5 using theme 'g2v'
fbcondecor: switched decor state to 'on' on console 5
eth1: link up, 100Mbps, full-duplex

> Here X should be startede ( but also fails )
VT_ACTIVATE: 6
set_console: 6
VT_WAITACTIVE: 7
vt_waitactive: 6
console_callback: entry, want_console = 6, fg = 15
change_console: 6
...
Now fbsplash wants to switch to Con 1 ( because of an error in a start script )
VT_ACTIVATE: 0
set_console: 0
console_callback: entry, want_console = 0, fg = 15
change_console: 0
VT_WAITACTIVE: 1
vt_waitactive: 0

> Now i tried some chvt's:
VT_ACTIVATE: 1
set_console: 1
console_callback: entry, want_console = 1, fg = 15
change_console: 1
VT_WAITACTIVE: 2
vt_waitactive: 1
vt_waitactive returning: -514
VT_ACTIVATE: 5
set_console: 5
console_callback: entry, want_console = 5, fg = 15
change_console: 5
VT_WAITACTIVE: 6
vt_waitactive: 5
vt_waitactive returning: -514

> Now i cilled fbsplashd.static and chvt works:
VT_ACTIVATE: 0
set_console: 0
console_callback: entry, want_console = 0, fg = 15
change_console: 0
complete_change_console, fg = 15, new = 0
VT_WAITACTIVE: 1
vt_waitactive: 0
fbcondecor: console 0 using theme 'g2v'
fbcondecor: switched decor state to 'on' on console 0
vt_waitactive returning: 0
vt_waitactive returning: 0
VT_ACTIVATE: 0
set_console: 0
console_callback: entry, want_console = 0, fg = 0
VT_WAITACTIVE: 1
vt_waitactive: 0
vt_waitactive returning: 0
VT_ACTIVATE: 0
set_console: 0
console_callback: entry, want_console = 0, fg = 0
VT_WAITACTIVE: 1
vt_waitactive: 0
vt_waitactive returning: 0
Comment 12 Michal Januszewski (RETIRED) gentoo-dev 2007-11-02 22:17:24 UTC
Created attachment 135043 [details, diff]
Patch to display even more debug info

Could you please try the same with this patch instead?  I added some more debug info in the place where I think this problem might be coming from.
Comment 13 Helmut Auer 2007-11-03 13:19:35 UTC
Hi,

Thanks for your support !

Here are the new messages:


Linux version 2.6.23.1-gentoo (root@vdr01) (gcc version 4.1.2 (Gentoo 4.1.2 p1.0.1)) #7 SMP PREEMPT Sat Nov 3 13:40:02 CET 2007
...
Kernel command line: root=/dev/hda2 noapic noisapnp quiet lpj=3236324 video=uvesafb:800x600-24@50,mtrr:3,ywrap splash=silent,theme:g2v CONSOLE=/dev/tty1 BOOT_MSG="   Linux kernel wird geladen ..." PROGRESS="3"
...
uvesafb: innotek GmbHVirtualBox VBE Adapterinnotek VirtualBox Version 1.5.2, VirtualBox VBE Adapterinnotek VirtualBox Version 1.5.2, innotek VirtualBox Version 1.5.2, OEM: VirtualBox VBE BIOS http://www.virtualbox.org/innotek GmbHVirtualBox VBE Adapterinnotek VirtualBox Version 1.5.2, VBE v2.0
uvesafb: no monitor limits have been set, default refresh rate will be used
uvesafb: VBE state buffer size cannot be determined (eax=0x100, err=0)
uvesafb: scrolling: redraw
Console: switching to colour frame buffer device 100x37
Switched to high resolution mode on CPU 0
fbcondecor: console 0 using theme 'g2v'
VT_ACTIVATE: 15
set_console: 15
console_callback: entry, want_console = 15, fg = 0
change_console: 15, fg = 0
change_console: vt_mode = 0, vc_mode = 0
complete_change_console, fg = 0, new = 15
fbcondecor: switched decor state to 'on' on console 0
uvesafb: framebuffer at 0xe0000000, mapped to 0xe0a80000, using 6144k, total 8192k
fb0: VESA VGA frame buffer device
...
VT_ACTIVATE: 15
set_console: 15
VT_WAITACTIVE: 16
vt_waitactive: 15
vt_waitactive returning: 0
console_callback: entry, want_console = 15, fg = 15
EXT3 FS on hda2, internal journal
...
> Now the failing openvt Con 8
VT_ACTIVATE: 7
set_console: 7
VT_WAITACTIVE: 8
vt_waitactive: 7
console_callback: entry, want_console = 7, fg = 15
change_console: 7, fg = 15
change_console: vt_mode = 1, vc_mode = 0
change_console: RELDISP sent
vt_waitactive returning: -514
VT_ACTIVATE: 7
set_console: 7
console_callback: entry, want_console = 7, fg = 15
change_console: 7, fg = 15
change_console: vt_mode = 1, vc_mode = 0
change_console: RELDISP sent
VT_WAITACTIVE: 8
vt_waitactive: 7
> Start of fbcondecor
fbcondecor: console 1 using theme 'g2v'
fbcondecor: switched decor state to 'on' on console 1
fbcondecor: console 2 using theme 'g2v'
fbcondecor: switched decor state to 'on' on console 2
fbcondecor: console 3 using theme 'g2v'
fbcondecor: switched decor state to 'on' on console 3
fbcondecor: console 4 using theme 'g2v'
fbcondecor: switched decor state to 'on' on console 4
fbcondecor: console 5 using theme 'g2v'
fbcondecor: switched decor state to 'on' on console 5
eth1: link up, 100Mbps, full-duplex
> Failing Start of X
VT_ACTIVATE: 6
set_console: 6
VT_WAITACTIVE: 7
vt_waitactive: 6
console_callback: entry, want_console = 6, fg = 15
change_console: 6, fg = 15
change_console: vt_mode = 1, vc_mode = 0
change_console: RELDISP sent
eth0: link up, 100Mbps, full-duplex
...
> Try to switch to Con1 /2/3
VT_ACTIVATE: 0
set_console: 0
console_callback: entry, want_console = 0, fg = 15
change_console: 0, fg = 15
change_console: vt_mode = 1, vc_mode = 0
change_console: RELDISP sent
VT_WAITACTIVE: 1
vt_waitactive: 0
VT_ACTIVATE: 1
set_console: 1
console_callback: entry, want_console = 1, fg = 15
change_console: 1, fg = 15
change_console: vt_mode = 1, vc_mode = 0
change_console: RELDISP sent
VT_WAITACTIVE: 2
vt_waitactive: 1
VT_ACTIVATE: 2
set_console: 2
console_callback: entry, want_console = 2, fg = 15
change_console: 2, fg = 15
change_console: vt_mode = 1, vc_mode = 0
change_console: RELDISP sent
VT_WAITACTIVE: 3
vt_waitactive: 2
vt_waitactive returning: -514
vt_waitactive returning: -514
vt_waitactive returning: -514
VT_ACTIVATE: 0
set_console: 0
console_callback: entry, want_console = 0, fg = 15
change_console: 0, fg = 15
change_console: vt_mode = 1, vc_mode = 0
change_console: RELDISP sent
VT_WAITACTIVE: 1
vt_waitactive: 0
vt_waitactive returning: -514
VT_ACTIVATE: 0
set_console: 0
console_callback: entry, want_console = 0, fg = 15
change_console: 0, fg = 15
change_console: vt_mode = 1, vc_mode = 0
change_console: RELDISP sent
VT_WAITACTIVE: 1
vt_waitactive: 0
vt_waitactive returning: -514
VT_ACTIVATE: 0
set_console: 0
console_callback: entry, want_console = 0, fg = 15
change_console: 0, fg = 15
change_console: vt_mode = 1, vc_mode = 0
change_console: RELDISP sent
> Killing fbsplashd.static and now chvt works:
VT_ACTIVATE: 0
set_console: 0
console_callback: entry, want_console = 0, fg = 15
change_console: 0, fg = 15
change_console: vt_mode = 1, vc_mode = 0
complete_change_console, fg = 15, new = 0
VT_WAITACTIVE: 1
vt_waitactive: 0
fbcondecor: console 0 using theme 'g2v'
fbcondecor: switched decor state to 'on' on console 0
vt_waitactive returning: 0
Comment 14 Michal Januszewski (RETIRED) gentoo-dev 2007-11-04 12:27:12 UTC
Created attachment 135143 [details, diff]
Patch to make fbsplashd display debug info about received signals.

Could you please modify the splashutils ebuild so that it applies the attached patch (put it into files/, add 'epatch ${FILESDIR}/splashutils-signal.patch' right before '# Check whether the kernel tree has been patched with fbcondecor.' in the ebuild, then run `ebuild splashutils-1.5.2.1.ebuild digest`), remerge splashutils and then collect the generated info?

The patch will cause fbsplashd to display 'got sig X' and 'sig X processed' messaged on /dev/console while booting. You should be able to use the 'console=XXX' kernel command line argument to redirect console wherever you want to. Since you're running this in a virtualized env., 'console=ttyS0' might be a good choice.

Also, could you boot with 'splash=profile,<other splash params>' and attach your /lib/splash/cache/profile file?

Are you able to use the F2 key to switch to the 1st tty while booting?
Comment 15 Helmut Auer 2007-11-04 13:37:51 UTC
Hello,
Now you got me ;) I do not have a serial port, and I do not have a glue how to catch the output even if I have a serial port.
With using splash=profile the system boots up but /lib/splash/cache/profile is empty. 
And while booting with the silent mode, I am not able to switch console using F2.
Comment 16 Michal Januszewski (RETIRED) gentoo-dev 2007-11-04 13:50:14 UTC
(In reply to comment #15)
> Now you got me ;) I do not have a serial port, and I do not have a glue how to
> catch the output even if I have a serial port.

I'm not talking about a physical serial port, but about a virtual one in VirtualBox :)  Now, I'm not at all familiar with VB, but I did use something like this with qemu and it worked just fine.  Do you know if it is possible to have VB provide a serial port to the guest machine and redirect all the data from it into a file, fifo or similar on the host?

> With using splash=profile the system boots up but /lib/splash/cache/profile is
> empty. 

Hmm.. are just using 'splash=profile'?  If so, the profile is empty because fbsplash simply isn't activated.  What you need is 'splash=silent,profile,theme:g2v'.

Comment 17 Helmut Auer 2007-11-04 14:34:22 UTC
I know you mean a virtual port, and I can create one, but I still don't know how to read this data. Is there another way to catch the output ?

Here is the profile output:
11.35: pre rc_init sysinit S
11.77: comm set tty silent 16
11.83: comm set mode silent
11.89: comm repaint
12.04: comm set event dev /dev/input/event1
12.11: comm update_svc checkroot svc_inactive_start
12.16: comm update_svc modules svc_inactive_start
12.22: comm update_svc checkfs svc_inactive_start
12.28: comm update_svc localmount svc_inactive_start
12.33: comm update_svc clock svc_inactive_start
12.39: comm update_svc hostname svc_inactive_start
12.46: comm update_svc hdparm svc_inactive_start
12.51: comm update_svc bootmisc svc_inactive_start
12.56: comm update_svc metalog svc_inactive_start
12.62: comm update_svc gen2vdr svc_inactive_start
12.68: comm update_svc hotplug svc_inactive_start
12.73: comm update_svc lircd svc_inactive_start
12.79: comm update_svc net.lo svc_inactive_start
12.85: comm update_svc vdr svc_inactive_start
12.91: comm update_svc alsasound svc_inactive_start
12.97: comm update_svc atd svc_inactive_start
13.02: comm update_svc fbcondecor svc_inactive_start
13.08: comm update_svc net.eth1 svc_inactive_start
13.14: comm update_svc acpid svc_inactive_start
13.20: comm update_svc keymaps svc_inactive_start
13.25: comm update_svc consolefont svc_inactive_start
13.31: comm update_svc gpm svc_inactive_start
13.37: comm update_svc net.eth0 svc_inactive_start
13.44: comm update_svc gui svc_inactive_start
13.48: comm update_svc irexec svc_inactive_start
13.54: comm update_svc dbus svc_inactive_start
13.60: comm update_svc hald svc_inactive_start
13.65: comm update_svc ivman svc_inactive_start
13.72: comm update_svc local svc_inactive_start
13.77: comm update_svc netmount svc_inactive_start
13.82: comm update_svc portmap svc_inactive_start
13.88: comm update_svc rmnologin svc_inactive_start
13.94: comm update_svc samba svc_inactive_start
14.01: comm update_svc serial svc_inactive_start
14.05: comm update_svc sshd svc_inactive_start
14.11: comm update_svc urandom svc_inactive_start
14.17: comm update_svc vboxadd svc_inactive_start
14.23: comm update_svc vboxadd-timesync svc_inactive_start
14.29: comm update_svc vboxvfs svc_inactive_start
14.34: comm update_svc vixie-cron svc_inactive_start
14.41: post rc_init sysinit S
14.44: pre svc_start checkroot
14.46: comm update_svc checkroot svc_start
14.52: comm paint
14.57: post svc_start checkroot
14.92: pre svc_started checkroot 0
14.94: comm update_svc checkroot svc_started
15.00: comm progress 1638
15.06: comm paint
15.12: post svc_started checkroot 0
15.17: pre svc_start modules
15.19: comm update_svc modules svc_start
15.24: comm paint
15.30: post svc_start modules
16.52: pre svc_started modules 0
16.54: comm update_svc modules svc_started
16.60: comm progress 3276
16.67: comm paint
16.73: post svc_started modules 0
16.79: pre svc_start gen2vdr
16.81: comm update_svc gen2vdr svc_start
16.87: comm paint
16.95: post svc_start gen2vdr
17.06: pre svc_started gen2vdr 0
17.10: comm update_svc gen2vdr svc_started
17.23: comm progress 4915
17.38: comm paint
17.49: post svc_started gen2vdr 0
17.54: pre svc_start hostname
17.58: comm update_svc hostname svc_start
17.68: comm paint
17.79: post svc_start hostname
17.89: pre svc_started hostname 0
17.92: comm update_svc hostname svc_started
18.03: comm progress 6553
18.16: comm paint
18.28: post svc_started hostname 0
18.33: pre svc_start checkfs
18.37: comm update_svc checkfs svc_start
18.46: comm paint
18.56: post svc_start checkfs
18.78: pre svc_started checkfs 0
18.81: comm update_svc checkfs svc_started
18.91: comm progress 8191
19.02: comm paint
19.12: post svc_started checkfs 0
19.17: pre svc_start localmount
19.22: comm update_svc localmount svc_start
19.31: comm paint
19.41: post svc_start localmount
19.74: pre svc_started localmount 0
19.77: comm update_svc localmount svc_started
19.86: comm progress 9830
19.99: comm paint
20.09: post svc_started localmount 0
20.14: pre svc_start clock
20.17: comm update_svc clock svc_start
20.26: comm paint
20.35: post svc_start clock
20.60: pre svc_started clock 0
20.63: comm update_svc clock svc_started
20.74: comm progress 11468
20.86: comm paint
20.96: post svc_started clock 0
23.07: pre rc_init boot S
23.17: post rc_init boot S
27.48: pre svc_start hdparm
27.51: comm update_svc hdparm svc_start
27.56: comm paint
27.62: post svc_start hdparm
28.22: pre svc_started hdparm 0
28.25: comm update_svc hdparm svc_started
28.30: comm progress 13107
28.37: comm paint
28.44: post svc_started hdparm 0
28.48: pre svc_start bootmisc
28.50: comm update_svc bootmisc svc_start
28.56: comm paint
28.62: post svc_start bootmisc
30.10: pre svc_started bootmisc 0
30.11: comm update_svc bootmisc svc_started
30.17: comm progress 14745
30.24: comm paint
30.32: post svc_started bootmisc 0
30.36: pre svc_start metalog
30.38: comm update_svc metalog svc_start
30.44: comm paint
30.50: post svc_start metalog
31.28: pre svc_started metalog 0
31.31: comm update_svc metalog svc_started
31.36: comm progress 16383
31.43: comm paint
31.49: post svc_started metalog 0
31.54: pre svc_start hotplug
31.57: comm update_svc hotplug svc_start
31.62: comm paint
31.68: post svc_start hotplug
32.23: pre svc_started hotplug 0
32.25: comm update_svc hotplug svc_started
32.30: comm progress 18022
32.38: comm paint
32.44: post svc_started hotplug 0
32.50: pre svc_start lircd
32.52: comm update_svc lircd svc_start
32.57: comm paint
32.64: post svc_start lircd
34.00: pre svc_started lircd 0
34.02: comm update_svc lircd svc_started
34.08: comm progress 19660
34.15: comm paint
34.21: post svc_started lircd 0
34.25: pre svc_start net.lo
34.28: comm update_svc net.lo svc_start
34.34: comm paint
34.40: post svc_start net.lo
35.80: pre svc_started net.lo 0
35.83: comm update_svc net.lo svc_started
35.89: comm progress 21298
35.96: comm paint
36.02: post svc_started net.lo 0
36.07: pre svc_start vdr
36.09: comm update_svc vdr svc_start
36.15: comm paint
36.22: post svc_start vdr
42.18: pre svc_started vdr 0
42.20: comm update_svc vdr svc_started
42.26: comm progress 22937
42.33: comm paint
42.40: post svc_started vdr 0
42.45: pre svc_start alsasound
42.47: comm update_svc alsasound svc_start
42.53: comm paint
42.59: post svc_start alsasound
43.90: pre svc_started alsasound 0
43.93: comm update_svc alsasound svc_started
43.99: comm progress 24575
44.06: comm paint
44.12: post svc_started alsasound 0
44.16: pre svc_start atd
44.19: comm update_svc atd svc_start
44.26: comm paint
44.31: post svc_start atd
45.07: pre svc_started atd 0
45.10: comm update_svc atd svc_started
45.15: comm progress 26214
45.22: comm paint
45.30: post svc_started atd 0
45.34: pre svc_start fbcondecor
45.36: comm update_svc fbcondecor svc_start
45.41: comm paint
45.48: post svc_start fbcondecor
47.88: pre svc_started fbcondecor 0
47.91: comm update_svc fbcondecor svc_started
47.98: comm progress 27852
48.04: comm paint
48.11: post svc_started fbcondecor 0
48.15: pre svc_start net.eth1
48.18: comm update_svc net.eth1 svc_start
48.23: comm paint
48.30: post svc_start net.eth1
56.71: pre svc_started net.eth1 0
56.75: comm update_svc net.eth1 svc_started
56.80: comm progress 29490
56.89: comm paint
56.95: post svc_started net.eth1 0
57.04: pre rc_exit S
57.07: post rc_exit S
57.45: pre rc_init default 3
57.48: post rc_init default 3
64.78: pre svc_start acpid
64.82: comm update_svc acpid svc_start
64.91: comm paint
64.97: post svc_start acpid
65.73: pre svc_started acpid 0
65.76: comm update_svc acpid svc_started
65.81: comm progress 31129
65.88: comm paint
65.96: post svc_started acpid 0
66.00: pre svc_start keymaps
66.02: comm update_svc keymaps svc_start
66.07: comm paint
66.14: post svc_start keymaps
67.04: pre svc_started keymaps 0
67.06: comm update_svc keymaps svc_started
67.12: comm progress 32767
67.20: comm paint
67.25: post svc_started keymaps 0
67.30: pre svc_start consolefont
67.33: comm update_svc consolefont svc_start
67.38: comm paint
67.45: post svc_start consolefont
68.64: pre svc_started consolefont 0
68.66: comm update_svc consolefont svc_started
68.71: comm progress 34405
68.79: comm paint
68.86: post svc_started consolefont 0
68.91: pre svc_start gpm
68.93: comm update_svc gpm svc_start
68.98: comm paint
69.05: post svc_start gpm
69.81: pre svc_started gpm 0
69.85: comm update_svc gpm svc_started
69.90: comm set gpm
69.98: comm repaint
70.04: comm progress 36044
70.15: comm paint
70.21: post svc_started gpm 0
70.31: pre svc_start gui
70.34: comm update_svc gui svc_start
70.39: comm paint
70.46: post svc_start gui
71.15: pre svc_started gui 0
71.19: comm update_svc gui svc_started
71.30: comm progress 37682
71.41: comm paint
71.51: post svc_started gui 0
71.57: pre svc_start irexec
71.59: comm update_svc irexec svc_start
71.71: comm paint
71.82: post svc_start irexec
72.99: pre svc_started irexec 0
73.02: comm update_svc irexec svc_started
73.08: comm progress 39321
73.15: comm paint
73.21: post svc_started irexec 0
73.26: pre svc_start dbus
73.29: comm update_svc dbus svc_start
73.36: comm paint
73.41: post svc_start dbus
74.21: pre svc_started dbus 0
74.24: comm update_svc dbus svc_started
74.30: comm progress 40959
74.37: comm paint
74.45: post svc_started dbus 0
74.48: pre svc_start hald
74.50: comm update_svc hald svc_start
74.56: comm paint
74.63: post svc_start hald
76.12: pre svc_started hald 0
76.14: comm update_svc hald svc_started
76.20: comm progress 42597
76.29: comm paint
76.36: post svc_started hald 0
76.39: pre svc_start ivman
76.41: comm update_svc ivman svc_start
76.47: comm paint
76.54: post svc_start ivman
77.63: pre svc_started ivman 0
77.65: comm update_svc ivman svc_started
77.71: comm progress 44236
77.78: comm paint
77.86: post svc_started ivman 0
77.91: pre svc_start net.eth0
77.94: comm update_svc net.eth0 svc_start
78.00: comm paint
78.06: post svc_start net.eth0
84.45: pre svc_started net.eth0 0
84.47: comm update_svc net.eth0 svc_started
84.53: comm progress 45874
84.62: comm paint
84.68: post svc_started net.eth0 0
84.72: pre svc_start portmap
84.75: comm update_svc portmap svc_start
84.81: comm paint
84.88: post svc_start portmap
86.67: pre svc_started portmap 0
86.70: comm update_svc portmap svc_started
86.77: comm progress 47512
86.83: comm paint
86.90: post svc_started portmap 0
86.95: pre svc_start netmount
86.98: comm update_svc netmount svc_start
87.04: comm paint
87.11: post svc_start netmount
87.68: pre svc_started netmount 0
87.71: comm update_svc netmount svc_started
87.79: comm progress 49151
87.87: comm paint
87.94: post svc_started netmount 0
88.00: pre svc_start rmnologin
88.03: comm update_svc rmnologin svc_start
88.10: comm paint
88.17: post svc_start rmnologin
88.80: pre svc_started rmnologin 0
88.83: comm update_svc rmnologin svc_started
88.90: comm progress 50789
89.00: comm paint
89.07: post svc_started rmnologin 0
89.10: pre svc_start samba
89.14: comm update_svc samba svc_start
89.21: comm paint
89.26: post svc_start samba
90.48: pre svc_started samba 0
90.51: comm update_svc samba svc_started
90.57: comm progress 52428
90.65: comm paint
90.71: post svc_started samba 0
90.76: pre svc_start serial
90.79: comm update_svc serial svc_start
90.85: comm paint
90.93: post svc_start serial
91.57: pre svc_started serial 0
91.60: comm update_svc serial svc_started
91.66: comm progress 54066
91.75: comm paint
91.82: post svc_started serial 0
91.86: pre svc_start sshd
91.90: comm update_svc sshd svc_start
91.96: comm paint
92.02: post svc_start sshd
93.05: pre svc_started sshd 0
93.07: comm update_svc sshd svc_started
93.15: comm progress 55704
93.21: comm paint
93.28: post svc_started sshd 0
93.33: pre svc_start urandom
93.35: comm update_svc urandom svc_start
93.42: comm paint
93.48: post svc_start urandom
94.07: pre svc_started urandom 0
94.10: comm update_svc urandom svc_started
94.16: comm progress 57343
94.25: comm paint
94.31: post svc_started urandom 0
94.36: pre svc_start vixie-cron
94.38: comm update_svc vixie-cron svc_start
94.44: comm paint
94.51: post svc_start vixie-cron
95.31: pre svc_started vixie-cron 0
95.34: comm update_svc vixie-cron svc_started
95.41: comm progress 58981
95.48: comm paint
95.54: post svc_started vixie-cron 0
95.60: pre svc_start local
95.62: comm update_svc local svc_start
95.69: comm paint
95.75: post svc_start local
96.38: pre svc_started local 0
96.46: comm update_svc local svc_started
96.63: comm progress 60619
96.89: comm paint
97.03: post svc_started local 0
97.15: pre svc_start vboxadd
97.23: comm update_svc vboxadd svc_start
97.54: comm paint
97.66: post svc_start vboxadd
98.51: pre svc_started vboxadd 1
144.45: post svc_started vboxadd 1
144.49: pre svc_start vboxadd-timesync
144.53: comm update_svc vboxadd-timesync svc_start
144.59: post svc_start vboxadd-timesync
144.82: pre svc_started vboxadd-timesync 1
144.85: post svc_started vboxadd-timesync 1
144.89: pre svc_start vboxvfs
144.92: post svc_start vboxvfs
145.17: pre svc_started vboxvfs 1
145.22: post svc_started vboxvfs 1
145.30: pre rc_exit 3
145.41: post rc_exit 3
Comment 18 Michal Januszewski (RETIRED) gentoo-dev 2007-11-04 15:21:48 UTC
Thanks for the profile.

wrt other ways of collecting this data, you could try booting with something like console=tty11 and either switching to this tty to see what the fbsplash daemon has printed, or trying to grab the contents of the screen from /dev/vcs11.
Comment 19 Helmut Auer 2007-11-04 17:50:41 UTC
> wrt other ways of collecting this data, you could try booting with something
> like console=tty11 and either switching to this tty to see what the fbsplash
> daemon has printed, or trying to grab the contents of the screen from
> /dev/vcs11.
> 
Now I manged to get the output from the Console, but unfortunately fbsplash does not really like that:
 * You don't appear to have a correct console= setting on your kernel
 * command line. Silent splash will not be enabled. Please add
 * console=tty1 or CONSOLE=/dev/tty1 to your kernel command line
 * to avoid this message.
But i got the Console output on the host with socat.
Comment 20 Michal Januszewski (RETIRED) gentoo-dev 2007-11-04 18:20:42 UTC
(In reply to comment #19)
> Now I manged to get the output from the Console, but unfortunately fbsplash
> does not really like that:
>  * You don't appear to have a correct console= setting on your kernel
>  * command line. Silent splash will not be enabled. Please add
>  * console=tty1 or CONSOLE=/dev/tty1 to your kernel command line
>  * to avoid this message.
> But i got the Console output on the host with socat.

What is your current kernel command line?  You should be able to boot with
something like 'console=/dev/ttyS0 CONSOLE=/dev/tty1' -- CONSOLE=/dev/tty1
will make the fbsplash initscripts happy, while console= will allow you to redirect the debug info wherever you want.
 

Comment 21 Helmut Auer 2007-11-04 18:57:22 UTC
With this grub line:
kernel /boot/bzImage-act  root=/dev/hda2 noapic noisapnp quiet lpj=3236324 video=uvesafb:800x600-24@50,mtrr:3,ywrap console=/dev/ttyS1 splash=silent,theme:g2v CONSOLE=/dev/tty1 BOOT_MSG="   Linux kernel wird geladen ..." PROGRESS="3"
initrd=/boot/fbsplash-g2v-800x600

I do not get a bootsplash but fbsplashd.static is running and also nothing is written to ttyS1 ( all output went to tty1 )
As far as I understand only console or CONSOLE may be used on the commandline not both.
Comment 22 Helmut Auer 2007-11-04 19:00:33 UTC
BTW. I still get the error during emerging splashutils, when I do not set LDFLAGS="" :

configure: error: C compiler cannot create executables^
See `config.log' for more details.^
make[1]: *** [setup] Error 77^
make[1]: Entering directory `/mnt/data/tmp/portage/media-gfx/splashutils-1.5.2.1/work/splashutils-1.5.2.1/objs/freetype2'^
config.mk:25: /mnt/data/tmp/portage/media-gfx/splashutils-1.5.2.1/work/splashutils-1.5.2.1/libs/freetype-2.3.5/builds/unix
config.mk:26: /mnt/data/tmp/portage/media-gfx/splashutils-1.5.2.1/work/splashutils-1.5.2.1/libs/freetype-2.3.5/builds/unix
make[1]: *** No rule to make target `/mnt/data/tmp/portage/media-gfx/splashutils-1.5.2.1/work/splashutils-1.5.2.1/libs/fre
make[1]: Leaving directory `/mnt/data/tmp/portage/media-gfx/splashutils-1.5.2.1/work/splashutils-1.5.2.1/objs/freetype2'^
  MAKE    freetype2^
config.mk:25: /mnt/data/tmp/portage/media-gfx/splashutils-1.5.2.1/work/splashutils-1.5.2.1/libs/freetype-2.3.5/builds/unix
config.mk:26: /mnt/data/tmp/portage/media-gfx/splashutils-1.5.2.1/work/splashutils-1.5.2.1/libs/freetype-2.3.5/builds/unix
make[1]: *** No rule to make target `/mnt/data/tmp/portage/media-gfx/splashutils-1.5.2.1/work/splashutils-1.5.2.1/libs/fre
make: *** [ft2] Error 2^
 ^[31;01m*^[0m ^
 ^[31;01m*^[0m ERROR: media-gfx/splashutils-1.5.2.1 failed.^
 ^[31;01m*^[0m Call stack:^
Comment 23 Michal Januszewski (RETIRED) gentoo-dev 2007-11-04 19:09:29 UTC
(In reply to comment #21)
> With this grub line:
> kernel /boot/bzImage-act  root=/dev/hda2 noapic noisapnp quiet lpj=3236324
> video=uvesafb:800x600-24@50,mtrr:3,ywrap console=/dev/ttyS1

console= follows a different naming scheme, the above should read 'console=ttyS1'. Also, are you sure you want ttyS1 (COM2) and not
ttyS0 (COM1)?

> I do not get a bootsplash but fbsplashd.static is running and also nothing is
> written to ttyS1 ( all output went to tty1 )
> As far as I understand only console or CONSOLE may be used on the commandline
> not both.

That's not exactly true, because they both control different things.  console=
sets the destination of the /dev/console device, while CONSOLE is an env. variable which specifies where the output of init and its children should go.

Comment 24 Michal Januszewski (RETIRED) gentoo-dev 2007-11-04 19:11:37 UTC
(In reply to comment #22)
> BTW. I still get the error during emerging splashutils, when I do not set
> LDFLAGS="" :

Thanks, I'm aware of the problem and will fix it in the next version of splashutils :)
Comment 25 Helmut Auer 2007-11-04 19:38:42 UTC
> 
> console= follows a different naming scheme, the above should read
> 'console=ttyS1'. Also, are you sure you want ttyS1 (COM2) and not
> ttyS0 (COM1)?
> 
Yes I'm sure :)

> 
> That's not exactly true, because they both control different things.  console=
> sets the destination of the /dev/console device, while CONSOLE is an env.
> variable which specifies where the output of init and its children should go.
> 
Interesting but with using console=ttyS1 I do not see any bootsplash ( but fbsplashd is running ) and also I see nothing on the hostpipe. But using CONSOLE=/dev/ttyS1 shows all boot messages on the host ( but also not bootsplash ).

Comment 26 Michal Januszewski (RETIRED) gentoo-dev 2007-11-04 19:50:30 UTC
(In reply to comment #25)

> Interesting but with using console=ttyS1 I do not see any bootsplash ( but
> fbsplashd is running ) and also I see nothing on the hostpipe. But using
> CONSOLE=/dev/ttyS1 shows all boot messages on the host ( but also not
> bootsplash ).

Hmm.. I think you can try editing /sbin/splash-functions.sh and removing the 
whole 'if' section following the comment that starts with 'Display a warning if the system is not configured to display init messages'.  This will make it
possible to boot the system with whatever console= and CONSOLE= settings
you need -- I'm sure you'll be able to figure out a combination that will make
it possible to see the debug info from fbsplashd on the host.

Comment 27 Helmut Auer 2007-11-04 20:16:12 UTC
> 
> Hmm.. I think you can try editing /sbin/splash-functions.sh and removing the 
> whole 'if' section following the comment that starts with 'Display a warning if
> the system is not configured to display init messages'.  This will make it
> possible to boot the system with whatever console= and CONSOLE= settings
> you need -- I'm sure you'll be able to figure out a combination that will make
> it possible to see the debug info from fbsplashd on the host.
> 
Ok with editing I got all output from the init scripts on the hostpipe when using CONSOLE=/dev/ttyS1 but there is no output from fbsplashd ( and I'msure that its patched:
#grep "got sig" /sbin/fbsplashd.static
Binary file /sbin/fbsplashd.static matches

. Using console=/dev/ttyS1 shows nothing on the hostpipe and also no bootsplash.
I think I get lost here. 
BTW. I have a very good working solution with splashutils 1.4.2 and geninitramfs from 1.5.2 :)
Comment 28 Helmut Auer 2007-11-05 16:01:41 UTC
Hi,
I just changed the signal patch to use fbsplash_profile instead of printf, but the profile dos not contain any "sig" entry.
Are you sure that this part is ever hit ?
Comment 29 Michal Januszewski (RETIRED) gentoo-dev 2007-11-05 17:10:09 UTC
(In reply to comment #28)
> I just changed the signal patch to use fbsplash_profile instead of printf, but
> the profile dos not contain any "sig" entry.
> Are you sure that this part is ever hit ?

Interesting. If it's never hit, it would explain why it doesn't work..

Something else that just came to my mind and that could be useful for debugging: try booting without fbsplash enabled (splash=off) and then run `splash_manager -c replay --profile=/path/to/your/splash/profile -t g2v` and `splash_manager -c demo -t g2v`.  Does the fbsplash daemon work properly this way, or does it leave the console 'locked', just as during the boot?

Also, could you add a printf/splash_profile call before sigwait() in thf_sighandler() to see whether the loop is getting executed?
Comment 30 Helmut Auer 2007-11-05 20:56:30 UTC
Hi,
When booting with splash=off, fbsplashd.static is also locking the console to tty16 and chvt hangs.
Comment 31 Michal Januszewski (RETIRED) gentoo-dev 2007-11-05 21:55:50 UTC
That's weird, because fbsplashd shouldn't even start in this case. Perhaps try removing any splash= arguments from the kernel command line to make sure the splash daemon is not started? If for whatever reason this doesn't help, you can simply comment out the line which starts fbsplashd in /sbin/splash-functions.sh (it's near the code mentioned in comment #26).
Comment 32 Helmut Auer 2007-11-05 22:05:50 UTC
> That's weird, because fbsplashd shouldn't even start in this case. Perhaps try
> removing any splash= arguments from the kernel command line to make sure the
> splash daemon is not started? 
Sorry for any confusion. Booting works as normal when setting splash=off, but starting splash_manager activates fbsplashd.static and then the console is locked ( and also noc splash is shown ).
Comment 33 Helmut Auer 2007-11-06 09:48:40 UTC
Hi,
Now I finally managed to get the output from fbsplashd :)
And the log says:

create sig thread
thf sighandler started

After doing a killall fbsplashd I see:

got sig 0!

and fbsplashd is still alive.
then i made a kill -5 - that kills the daemon, but does not create a log entry !
Comment 34 Michal Januszewski (RETIRED) gentoo-dev 2007-11-10 11:42:20 UTC
(In reply to comment #33)
> After doing a killall fbsplashd I see:
> 
> got sig 0!

Hm.. This one is weird, one would rather expect 'got sig f' here.

> and fbsplashd is still alive.
> then i made a kill -5 - that kills the daemon, but does not create a log entry

sig 5 is SIGTRAP, so it's probably to be expected.

Here are some more things that might be worth testing:

- modify the patch to also print the error code returned by sigwait (it should be 0)
- try `killall -SIGUSR1 fbsplashd` and `killall -SIGUSR2 fbsplashd`. The first one should do nothing (apart from creating a log entry) and the second one should cause the silent splash screen to appear on the current console.
Comment 35 Helmut Auer 2007-11-12 20:47:36 UTC
> 
> Here are some more things that might be worth testing:
> 
> - modify the patch to also print the error code returned by sigwait (it should
> be 0)
>
Yes that correct - sigwait returns 0

> - try `killall -SIGUSR1 fbsplashd` and `killall -SIGUSR2 fbsplashd`. The first
> one should do nothing (apart from creating a log entry) and the second one
> should cause the silent splash screen to appear on the current console.
> 
When doing this via ssh, both signals are doing nothing ( except the log entries ). The Console remains locked.
Comment 36 Michal Januszewski (RETIRED) gentoo-dev 2007-11-13 17:59:43 UTC
(In reply to comment #35)

> When doing this via ssh, both signals are doing nothing ( except the log
> entries ). The Console remains locked.

If they're doing nothing, then the thread that's supposed to handle them is probably not receiving them.

I'm afraid we'll have to find the last version of splashutils that worked and then narrow it down to a specific patch in the splashutils git repository.  I understand that 1.5.2 doesn't fully work.  Could you please try resurrecting the other 1.5* ebuilds from the Gentoo CVS and checking whether their behavior is any different? (either check them out using the anonymous CVS, or just grab them from the web, i.e. http://sources.gentoo.org/viewcvs.py/*checkout*/gentoo-x86/media-gfx/splashutils/splashutils-1.5.1.ebuild)

Comment 37 Helmut Auer 2007-11-14 18:06:27 UTC
Created attachment 135979 [details, diff]
This patch avoids locking the console during bootspash
Comment 38 Helmut Auer 2007-11-14 18:09:26 UTC
Comment on attachment 135979 [details, diff]
This patch avoids locking the console during bootspash

Hi,
I finally managed to get it running ( see attached patch ). I don't know why sigwait does not work correctly, but defining a sighandler is imho better than creating a dedicated  thread for signal handling.
Comment 39 Michal Januszewski (RETIRED) gentoo-dev 2007-11-24 19:25:08 UTC
(In reply to comment #38)

> I finally managed to get it running ( see attached patch ). I don't know why
> sigwait does not work correctly, but defining a sighandler is imho better than
> creating a dedicated  thread for signal handling.

Unfortunately, while the patch might seem to solve the problem, it will almost certainly create another one later (deadlocks; see e.g. http://www.linuxjournal.com/article/2121 for an explanation).
Comment 40 Helmut Auer 2007-11-24 22:14:13 UTC
Hi
> Unfortunately, while the patch might seem to solve the problem, it will almost
> certainly create another one later (deadlocks; see e.g.
> http://www.linuxjournal.com/article/2121 for an explanation).
> 
I see and understand the problem. So why does sigwait not work as expected ?
In my cause it works with my patch flawlessly, but sure this can deadloch when some signals came in a row ...
Comment 41 Michal Januszewski (RETIRED) gentoo-dev 2007-11-25 12:21:12 UTC
(In reply to comment #40)

> I see and understand the problem. So why does sigwait not work as expected ?

I don't know (yet). Could you please whether the problem is still present in 1.5.3?  I made some minor changes in the signal-handling code.

Comment 42 Helmut Auer 2007-11-26 20:33:39 UTC
> I don't know (yet). Could you please whether the problem is still present in
> 1.5.3?  I made some minor changes in the signal-handling code.
> 
1.5.3 is working fine ! Thanks a lot :) 
But the ebuild is still broken ( I need LDFLAGS="" to install it ).
Comment 43 Michal Januszewski (RETIRED) gentoo-dev 2007-12-02 16:29:54 UTC
Thanks for your help in debugging this problem!

The remaining LDFLAGS issue turns out to be a klibc problem, see bug #201006.
Comment 44 Helmut Auer 2007-12-02 16:37:07 UTC
(In reply to comment #43)
> Thanks for your help in debugging this problem!
Thanks to you for fixing the problem :)
Comment 45 dE 2010-02-05 04:19:29 UTC
Problem again appears in version 1.5.4.3
Comment 46 dE 2010-02-07 13:39:12 UTC
echo "somebody there?"