[Splashy-devel] My Tests.
Pat Suwalski
pats at xandros.com
Sat Feb 17 07:27:03 CET 2007
Hello,
I never got around to doing the splashy tests at lunch a few days ago,
but I did take a few hours tonight.
What I have found is that there are many things that are suboptimal,
that I don't have easy solutions for. My technique was to use "sh -x"
extensively, combined with strace iteratively.
First, on a clean "unstable" install, the progress locks up on
rcS.d/S05keymap.sh, which calls start_unicode, which in turn calls
vt-is-UTF8. This attempts to open the console, write 3 bytes, and see
how many characters actually were printed (thus UTF-8 or not). The
problem is that splashy is holding the console, so it's not getting very
far.
In case people haven't noticed, you can just Escape splashy and go to
Alt-F2 console, see the junk that vt-is-UTF8 spit out, and hit Enter to
continue (so it reads its last byte). I believe it breaks because the
init script uses fgconsole, which doesn't actually work as expected due
to aforementioned resources being occupied by splashy. More on this later.
If we remove S05keymap, it still gets started later on in init, on my
clean install it happens right between sysklog and klog in rc2. Probably
something to do with the LSB dependency field in the init scripts.
Anyway, this results in a progress bar that advances very very slowly.
Now, I have commented before about how splashy seems to use tty0 and
tty2. The latter is used for apparently no reason. This has struck me as
odd before, about a year ago, iirc.
I have attached an lsof output from initramfs right before init
executes. You can see that splashy has many open files, but particularly
tty0, tty2, and vcs1. Also, unless I am mistaken, there are seven (7!)
splashy processes. I expected 2: one parent, one child. The child has
spawned 5 processes of its own; this is highly suspect.
Long story short, what I witnessed tonight is exactly what I witnessed a
year ago: resource contention. Splashy takes two ttys, stays on one of
them, init is forced to take another, things expect to be on the tty
that init is on, there is a lock.
Something I had meant to experiment with last year (never got the
chance), was to make splashy open a higher tty by default, say tty6 or
tty9. Perhaps if init is on tty0 it will be happier. Maybe there could
be some experimentation whether a tty even needs to be opened?
The line that opens the tty has a blatant error, btw:
"O_RDONLY|O_WRONLY" makes no sense whatsoever. It should be either-or,
or O_RDWR. This might be another source of problems if it does not run
as designed.
Sorry about the long eMail. Perhaps something useful will come of this.
I feel we will be a big step closer when we figure out why tty2 is used,
amongst other things.
It's all in the tty's, folks.
--Pat
-------------- next part --------------
COMMAND PID USER FD TYPE DEVICE SIZE NODE NAME
init 1 root cwd DIR 0,1 0 3 /
init 1 root rtd DIR 0,1 0 3 /
init 1 root txt REG 0,1 418112 354 /bin/sh
init 1 root mem REG 0,0 0 [heap] (stat: No such file or directory)
init 1 root mem REG 0,1 27 /lib/libc.so.6 (path dev=8,1, inode=591470)
init 1 root mem REG 0,1 12 /lib/libm.so.6 (path dev=8,1, inode=591474)
init 1 root mem REG 0,1 13 /lib/libcrypt.so.1 (path dev=8,1, inode=591472)
init 1 root mem REG 0,1 238 /lib/ld-linux.so.2 (path dev=8,1, inode=591466)
init 1 root 0u CHR 5,1 6 /dev/console (deleted)
init 1 root 1w REG 0,1 1 3459 /log
init 1 root 2u CHR 5,1 6 /dev/console (deleted)
init 1 root 10r REG 0,1 3349 246 /init
init 1 root 11u CHR 5,1 6 /dev/console (deleted)
ksoftirqd 2 root cwd DIR 0,1 0 3 /
ksoftirqd 2 root rtd DIR 0,1 0 3 /
ksoftirqd 2 root txt unknown /proc/2/exe
events/0 3 root cwd DIR 0,1 0 3 /
events/0 3 root rtd DIR 0,1 0 3 /
events/0 3 root txt unknown /proc/3/exe
khelper 4 root cwd DIR 0,1 0 3 /
khelper 4 root rtd DIR 0,1 0 3 /
khelper 4 root txt unknown /proc/4/exe
kthread 5 root cwd DIR 0,1 0 3 /
kthread 5 root rtd DIR 0,1 0 3 /
kthread 5 root txt unknown /proc/5/exe
kblockd/0 8 root cwd DIR 0,1 0 3 /
kblockd/0 8 root rtd DIR 0,1 0 3 /
kblockd/0 8 root txt unknown /proc/8/exe
kacpid 9 root cwd DIR 0,1 0 3 /
kacpid 9 root rtd DIR 0,1 0 3 /
kacpid 9 root txt unknown /proc/9/exe
kseriod 95 root cwd DIR 0,1 0 3 /
kseriod 95 root rtd DIR 0,1 0 3 /
kseriod 95 root txt unknown /proc/95/exe
pdflush 137 root cwd DIR 0,1 0 3 /
pdflush 137 root rtd DIR 0,1 0 3 /
pdflush 137 root txt unknown /proc/137/exe
pdflush 138 root cwd DIR 0,1 0 3 /
pdflush 138 root rtd DIR 0,1 0 3 /
pdflush 138 root txt unknown /proc/138/exe
kswapd0 139 root cwd DIR 0,1 0 3 /
kswapd0 139 root rtd DIR 0,1 0 3 /
kswapd0 139 root txt unknown /proc/139/exe
aio/0 140 root cwd DIR 0,1 0 3 /
aio/0 140 root rtd DIR 0,1 0 3 /
aio/0 140 root txt unknown /proc/140/exe
splashy 389 root cwd DIR 0,1 0 3 /
splashy 389 root rtd DIR 0,1 0 3 /
splashy 389 root txt REG 0,1 1843384 310 /sbin/splashy
splashy 389 root mem REG 0,0 0 [heap] (stat: No such file or directory)
splashy 389 root mem CHR 29,0 931 /dev/fb0
splashy 389 root 0u CHR 29,0 931 /dev/fb0
splashy 389 root 1r CHR 4,0 937 /dev/tty0
splashy 389 root 2u CHR 5,1 6 /dev/console (deleted)
splashy 389 root 3u CHR 4,2 943 /dev/tty2
splashy 389 root 4r FIFO 0,5 1604 pipe
splashy 389 root 5w FIFO 0,5 1604 pipe
splashy 389 root 6u CHR 29,0 931 /dev/fb0
splashy 389 root 7r REG 0,1 324242 253 /etc/splashy/themes/default/background.png
splashy 389 root 8r REG 0,1 324242 253 /etc/splashy/themes/default/background.png
splashy 389 root 9u unix 0xdfb3fc80 1788 socket
splashy 389 root 10r CHR 7,1 2088 /dev/vcs1
splashy 492 root cwd DIR 0,1 0 3 /
splashy 492 root rtd DIR 0,1 0 3 /
splashy 492 root txt REG 0,1 1843384 310 /sbin/splashy
splashy 492 root mem REG 0,0 0 [heap] (stat: No such file or directory)
splashy 492 root mem CHR 29,0 931 /dev/fb0
splashy 492 root 0u CHR 29,0 931 /dev/fb0
splashy 492 root 1r CHR 4,0 937 /dev/tty0
splashy 492 root 2u CHR 5,1 6 /dev/console (deleted)
splashy 492 root 3u CHR 4,2 943 /dev/tty2
splashy 492 root 4r FIFO 0,5 1604 pipe
splashy 492 root 5w FIFO 0,5 1604 pipe
splashy 492 root 6u CHR 29,0 931 /dev/fb0
splashy 492 root 7r REG 0,1 324242 253 /etc/splashy/themes/default/background.png
splashy 492 root 8r REG 0,1 324242 253 /etc/splashy/themes/default/background.png
splashy 492 root 9u unix 0xdfb3fc80 1788 socket
splashy 492 root 10r CHR 7,1 2088 /dev/vcs1
splashy 493 root cwd DIR 0,1 0 3 /
splashy 493 root rtd DIR 0,1 0 3 /
splashy 493 root txt REG 0,1 1843384 310 /sbin/splashy
splashy 493 root mem REG 0,0 0 [heap] (stat: No such file or directory)
splashy 493 root mem CHR 29,0 931 /dev/fb0
splashy 493 root 0u CHR 29,0 931 /dev/fb0
splashy 493 root 1r CHR 4,0 937 /dev/tty0
splashy 493 root 2u CHR 5,1 6 /dev/console (deleted)
splashy 493 root 3u CHR 4,2 943 /dev/tty2
splashy 493 root 4r FIFO 0,5 1604 pipe
splashy 493 root 5w FIFO 0,5 1604 pipe
splashy 493 root 6u CHR 29,0 931 /dev/fb0
splashy 493 root 7r REG 0,1 324242 253 /etc/splashy/themes/default/background.png
splashy 493 root 8r REG 0,1 324242 253 /etc/splashy/themes/default/background.png
splashy 493 root 9u unix 0xdfb3fc80 1788 socket
splashy 493 root 10r CHR 7,1 2088 /dev/vcs1
splashy 494 root cwd DIR 0,1 0 3 /
splashy 494 root rtd DIR 0,1 0 3 /
splashy 494 root txt REG 0,1 1843384 310 /sbin/splashy
splashy 494 root mem REG 0,0 0 [heap] (stat: No such file or directory)
splashy 494 root mem CHR 29,0 931 /dev/fb0
splashy 494 root 0u CHR 29,0 931 /dev/fb0
splashy 494 root 1r CHR 4,0 937 /dev/tty0
splashy 494 root 2u CHR 5,1 6 /dev/console (deleted)
splashy 494 root 3u CHR 4,2 943 /dev/tty2
splashy 494 root 4r FIFO 0,5 1604 pipe
splashy 494 root 5w FIFO 0,5 1604 pipe
splashy 494 root 6u CHR 29,0 931 /dev/fb0
splashy 494 root 7r REG 0,1 324242 253 /etc/splashy/themes/default/background.png
splashy 494 root 8r REG 0,1 324242 253 /etc/splashy/themes/default/background.png
splashy 494 root 9u unix 0xdfb3fc80 1788 socket
splashy 494 root 10r CHR 7,1 2088 /dev/vcs1
splashy 545 root cwd DIR 0,1 0 3 /
splashy 545 root rtd DIR 0,1 0 3 /
splashy 545 root txt REG 0,1 1843384 310 /sbin/splashy
splashy 545 root mem REG 0,0 0 [heap] (stat: No such file or directory)
splashy 545 root mem CHR 29,0 931 /dev/fb0
splashy 545 root 0u CHR 29,0 931 /dev/fb0
splashy 545 root 1r CHR 4,0 937 /dev/tty0
splashy 545 root 2u CHR 5,1 6 /dev/console (deleted)
splashy 545 root 3u CHR 4,2 943 /dev/tty2
splashy 545 root 4r FIFO 0,5 1604 pipe
splashy 545 root 5w FIFO 0,5 1604 pipe
splashy 545 root 6u CHR 29,0 931 /dev/fb0
splashy 545 root 7r REG 0,1 324242 253 /etc/splashy/themes/default/background.png
splashy 545 root 8r REG 0,1 324242 253 /etc/splashy/themes/default/background.png
splashy 545 root 9u unix 0xdfb3fc80 1788 socket
splashy 545 root 10r CHR 7,1 2088 /dev/vcs1
splashy 546 root cwd DIR 0,1 0 3 /
splashy 546 root rtd DIR 0,1 0 3 /
splashy 546 root txt REG 0,1 1843384 310 /sbin/splashy
splashy 546 root mem REG 0,0 0 [heap] (stat: No such file or directory)
splashy 546 root mem CHR 29,0 931 /dev/fb0
splashy 546 root 0u CHR 29,0 931 /dev/fb0
splashy 546 root 1r CHR 4,0 937 /dev/tty0
splashy 546 root 2u CHR 5,1 6 /dev/console (deleted)
splashy 546 root 3u CHR 4,2 943 /dev/tty2
splashy 546 root 4r FIFO 0,5 1604 pipe
splashy 546 root 5w FIFO 0,5 1604 pipe
splashy 546 root 6u CHR 29,0 931 /dev/fb0
splashy 546 root 7r REG 0,1 324242 253 /etc/splashy/themes/default/background.png
splashy 546 root 8r REG 0,1 324242 253 /etc/splashy/themes/default/background.png
splashy 546 root 9u unix 0xdfb3fc80 1788 socket
splashy 546 root 10r CHR 7,1 2088 /dev/vcs1
splashy 547 root cwd DIR 0,1 0 3 /
splashy 547 root rtd DIR 0,1 0 3 /
splashy 547 root txt REG 0,1 1843384 310 /sbin/splashy
splashy 547 root mem REG 0,0 0 [heap] (stat: No such file or directory)
splashy 547 root mem CHR 29,0 931 /dev/fb0
splashy 547 root 0u CHR 29,0 931 /dev/fb0
splashy 547 root 1r CHR 4,0 937 /dev/tty0
splashy 547 root 2u CHR 5,1 6 /dev/console (deleted)
splashy 547 root 3u CHR 4,2 943 /dev/tty2
splashy 547 root 4r FIFO 0,5 1604 pipe
splashy 547 root 5w FIFO 0,5 1604 pipe
splashy 547 root 6u CHR 29,0 931 /dev/fb0
splashy 547 root 7r REG 0,1 324242 253 /etc/splashy/themes/default/background.png
splashy 547 root 8r REG 0,1 324242 253 /etc/splashy/themes/default/background.png
splashy 547 root 9u unix 0xdfb3fc80 1788 socket
splashy 547 root 10r CHR 7,1 2088 /dev/vcs1
khpsbpkt 635 root cwd DIR 0,1 0 3 /
khpsbpkt 635 root rtd DIR 0,1 0 3 /
khpsbpkt 635 root txt unknown /proc/635/exe
knodemgrd 638 root cwd DIR 0,1 0 3 /
knodemgrd 638 root rtd DIR 0,1 0 3 /
knodemgrd 638 root txt unknown /proc/638/exe
khubd 654 root cwd DIR 0,1 0 3 /
khubd 654 root rtd DIR 0,1 0 3 /
khubd 654 root txt unknown /proc/654/exe
ata/0 665 root cwd DIR 0,1 0 3 /
ata/0 665 root rtd DIR 0,1 0 3 /
ata/0 665 root txt unknown /proc/665/exe
ata_aux 673 root cwd DIR 0,1 0 3 /
ata_aux 673 root rtd DIR 0,1 0 3 /
ata_aux 673 root txt unknown /proc/673/exe
scsi_eh_0 747 root cwd DIR 0,1 0 3 /
scsi_eh_0 747 root rtd DIR 0,1 0 3 /
scsi_eh_0 747 root txt unknown /proc/747/exe
scsi_eh_1 748 root cwd DIR 0,1 0 3 /
scsi_eh_1 748 root rtd DIR 0,1 0 3 /
scsi_eh_1 748 root txt unknown /proc/748/exe
kjournald 1029 root cwd DIR 0,1 0 3 /
kjournald 1029 root rtd DIR 0,1 0 3 /
kjournald 1029 root txt unknown /proc/1029/exe
lsof 1162 root cwd DIR 8,1 4096 2 /
lsof 1162 root rtd DIR 8,1 4096 2 /
lsof 1162 root txt REG 8,1 106324 5082930 /usr/bin/lsof
lsof 1162 root mem REG 0,0 0 [heap] (stat: No such file or directory)
lsof 1162 root mem REG 8,1 1241392 607135 /lib/tls/i686/cmov/libc-2.3.6.so
lsof 1162 root mem REG 8,1 88164 591466 /lib/ld-2.3.6.so
lsof 1162 root 0u CHR 5,1 6 /dev/console (deleted)
lsof 1162 root 1w REG 0,1 1 3459 /log
lsof 1162 root 2u CHR 5,1 6 /dev/console (deleted)
lsof 1162 root 3r DIR 0,3 0 1 /proc
lsof 1162 root 4r DIR 0,3 0 76152841 /proc/1162/fd
lsof 1162 root 5w FIFO 0,5 3464 pipe
lsof 1162 root 6r FIFO 0,5 3465 pipe
lsof 1163 root cwd DIR 8,1 4096 2 /
lsof 1163 root rtd DIR 8,1 4096 2 /
lsof 1163 root txt REG 8,1 106324 5082930 /usr/bin/lsof
lsof 1163 root mem REG 0,0 0 [heap] (stat: No such file or directory)
lsof 1163 root mem REG 8,1 1241392 607135 /lib/tls/i686/cmov/libc-2.3.6.so
lsof 1163 root mem REG 8,1 88164 591466 /lib/ld-2.3.6.so
lsof 1163 root 4r FIFO 0,5 3464 pipe
lsof 1163 root 7w FIFO 0,5 3465 pipe
More information about the Splashy-devel
mailing list