Ok, this is for my own benefit (and Mark's as he is having the same
problem as noted above) as much as anyone's.

I put a strace on various gdm processes while this was going on. The
strace shows read and writes consistent with the initial login as user
1, and the final login to switch back to user 2. Attached is the strace
for at least one cycle after user 2's password is entered, which shows
repeated reads of the characters \2, \n, repeatedly with the occasional
\7 and L. The file descriptor to watch is 13, which I presume is from
the active gdmchooser. The \2 and \n appear to be delimiters relating to
the protocol between the processes (possibly one is a character count).

The strace on the gdm output doesn't appear too suspicious. I see something to 
do with VT switching soon after a QUERYLOGIN line for user 2 (shell):
write(8, "A:20,1\n"..., 7)              = 7
kill(2997, SIGUSR2)                     = 0
sched_yield()                           = 0
poll([{fd=3, events=POLLIN|POLLPRI}, {fd=6, events=POLLIN|POLLPRI}, {fd=4, 
events=POLLIN|POLLPRI}], 3, -1) = 1 ([{fd=4, revents=POLLIN}])
read(4, "\nMIGRATE 2997 :20\n"..., 4095) = 18
open("/dev/console", O_WRONLY|O_NOCTTY) = 7
ioctl(7, VIDIOC_G_COMP or VT_ACTIVATE, 0x9) = 0
ioctl(7, VIDIOC_S_COMP or VT_WAITACTIVE, 0x9) = 0
close(7)                                = 0
write(8, "A\n"..., 2)                   = 2
kill(2997, SIGUSR2)                     = 0
sched_yield()                           = 0
poll([{fd=3, events=POLLIN|POLLPRI}, {fd=6, events=POLLIN|POLLPRI}, {fd=4, 
events=POLLIN|POLLPRI}], 3, -1

The reads into gdmchooser amount to:
read(0, "\2D\n"..., 1024)               = 3
read(0, "\2lshell\n"..., 1024)          = 8
read(0, "\2UPassword:\n"..., 1024)      = 12
read(0, "\2lshell\n"..., 1024)          = 8
read(0, "\2l\n"..., 1024)               = 3
read(0, "\2r\n"..., 1024)               = 3
read(0, "\2l\n"..., 1024)               = 3
read(0, "\2DPlease enter your username\n"..., 1024) = 29
read(0, "\2NUsername:\n"..., 1024)      = 12
read(0, "\2D\n"..., 1024)               = 3
read(0, "\2l\n"..., 1024)               = 3
read(0, "\2UPassword:\n"..., 1024)      = 12
read(0, "\2Q\n"..., 1024)               = 3
read(0, "\2e\nIncorrect username or password"..., 1024) = 79
read(0, "\2A\n"..., 1024)               = 3
read(0, "\2l\n"..., 1024)               = 3
(repeat)

The writes are:
write(1, "\2shell\n"..., 7)             = 7
write(1, "\2\n"..., 2)                  = 2
write(1, "\2\n"..., 2)                  = 2
write(1, "\002xxxxxx\n"..., 8)          = 8  <-nb password for shell erased.
write(1, "\2\n"..., 2)                  = 2
write(1, "\2\n"..., 2)                  = 2
write(1, "\2\n"..., 2)                  = 2
write(1, "\2\n"..., 2)                  = 2
write(1, "\2\n"..., 2)                  = 2
write(1, "\2\7L\n"..., 4)               = 4
write(1, "\2\n"..., 2)                  = 2
write(1, "\2\n"..., 2)                  = 2
write(1, "\2\n"..., 2)                  = 2
write(1, "\2\n"..., 2)                  = 2
write(1, "\2\n"..., 2)                  = 2
(repeat)

Again this looks like a series of enter keys. I am increasingly of the
opinion that a keyboard repeat is what is going on here. This would
correlate with a weird happening I have been getting with workrave,
where it thought I was continuously typing after a user switch. I am
suspicious it relates to Bug 363556.

** Attachment added: "Strace output for gdm, this is the first child of the gdm 
daemon"
   http://launchpadlibrarian.net/26929659/gdm-child.strace

-- 
Login attention sound on continuous repeat after user switch
https://bugs.launchpad.net/bugs/373961
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.

-- 
ubuntu-bugs mailing list
ubuntu-bugs@lists.ubuntu.com
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs

Reply via email to