gpm freezes console

will kemp will@swaggie.net
Mon, 24 Sep 2001 09:17:13 +1000 (EST)


On Sun, 23 Sep 2001, Nico Schottelius wrote:

> As you reported it didn't freeze the system before 2.4.9,
> we should trace the problem back to  a specfic kernel release.

i had problems with the 2.2 kernel too. i think it's only 2.4 that sends
it into suspend, but 2.2 used to hang the console too. i can put the old
hdd back in and find out exactly.

> strace -ff -v -o LOGFILE gpm -D -m /dev/mouse -t ps2

did it. on the tty i get:

ptrace: umoven: Input/output error
ptrace: umoven: Input/output error

(yeah, twice.)

then the laptop goes into suspend.

when i un-suspend it gpm is running according to ps but there's no cursor
visible on the screen when i move the trackball and the buttons appear to
do nothing:

USER       PID %CPU %MEM   VSZ  RSS TTY      STAT START   TIME COMMAND
root       241  0.1  5.5  1444  564 tty4     S    09:11   0:00 strace -ff -v -o gpmtrace.log gpm -D -m /dev/mouse -t ps2
root       242  0.1  3.9  1264  408 tty4     S    09:11   0:00 gpm -D -m /dev/mouse -t ps2

> Then send LOGFILE, kernel_output and other informations to here.

coming up:

******************************************************************************

gpmtrace.log:

execve("/usr/sbin/gpm", ["gpm", "-D", "-m", "/dev/mouse", "-t", "ps2"], [/* 29 vars */]) = 0
brk(0)                                  = 0x80596e0
old_mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x40016000
open("/etc/ld.so.preload", O_RDONLY)    = -1 ENOENT (No such file or directory)
open("/etc/ld.so.cache", O_RDONLY)      = 4
fstat64(0x4, 0xbfffee14)                = 0
old_mmap(NULL, 10164, PROT_READ, MAP_PRIVATE, 4, 0) = 0x40017000
close(4)                                = 0
open("/lib/libc.so.6", O_RDONLY)        = 4
read(4, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0\264\323"..., 1024) = 1024
fstat64(0x4, 0xbfffee5c)                = 0
old_mmap(NULL, 1116516, PROT_READ|PROT_EXEC, MAP_PRIVATE, 4, 0) = 0x4001a000
mprotect(0x40121000, 39268, PROT_NONE)  = 0
old_mmap(0x40121000, 24576, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED, 4, 0x106000) = 0x40121000
old_mmap(0x40127000, 14692, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x40127000
close(4)                                = 0
munmap(0x40017000, 10164)               = 0
getpid()                                = 210
brk(0)                                  = 0x80596e0
brk(0x8059860)                          = 0x8059860
brk(0x805a000)                          = 0x805a000
open("/var/run/gpm.pid", O_RDONLY)      = -1 ENOENT (No such file or directory)
open("/dev/vc/0", O_WRONLY)             = -1 ENOENT (No such file or directory)
open("/dev/console", O_WRONLY)          = 4
ioctl(4, TIOCLINUX, 0x8056200)          = 0
close(4)                                = 0
semop(1074944600, 0x401241f0, 2)        = 0
open("/dev/mouse", O_RDWR|O_NONBLOCK)   = 4
shmat(4, 0x4, 0x3)                      = ?
shmat(4, 0x4, 0x4)                      = ?
rt_sigaction(SIGTERM, {0x804bda0, [TERM], SA_RESTART|0x4000000}, {SIG_DFL}, 8) = 0
rt_sigaction(SIGINT, {0x804bda0, [INT], SA_RESTART|0x4000000}, {SIG_DFL}, 8) = 0
rt_sigaction(SIGUSR1, {0x804bda0, [USR1], SA_RESTART|0x4000000}, {SIG_DFL}, 8) = 0
rt_sigaction(SIGWINCH, {0x804bda0, [WINCH], SA_RESTART|0x4000000}, {SIG_DFL}, 8) = 0
socket(PF_UNIX, SOCK_STREAM, 0)         = 5
unlink("/dev/gpmctl")                   = -1 ENOENT (No such file or directory)
bind(5, {sin_family=AF_UNIX, path="/dev/gpmctl"}, 13) = 0
chmod("/dev/gpmctl", 0777)              = 0
open("/dev/console", O_RDONLY)          = 6
ioctl(6, TIOCGWINSZ, {ws_row=25, ws_col=80, ws_xpixel=0, ws_ypixel=0}) = 0
close(6)                                = 0
listen(5, 5)                            = 0
rt_sigaction(SIGPIPE, {SIG_IGN}, {SIG_DFL}, 8) = 0
select(6, [4 5], NULL, NULL, {86400, 0}) = ? ERESTARTNOHAND (To be restarted)
--- SIGINT (Interrupt) ---
unlink("/dev/gpmctl")                   = 0
_exit(0)                                = ?

*****************************************************************************

dmesg > kernel_output :

Linux version 2.4.9-1s (will@beer) (gcc version 2.95.3 20010315 (release)) #1 Mon Sep 17 20:15:40 EST 2001
BIOS-provided physical RAM map:
 BIOS-88: 0000000000000000 - 000000000009f000 (usable)
 BIOS-88: 0000000000100000 - 0000000000c00000 (usable)
On node 0 totalpages: 3072
zone(0): 3072 pages.
zone(1): 0 pages.
zone(2): 0 pages.
Kernel command line: BOOT_IMAGE=linux ro root=302
Initializing CPU#0
Console: colour VGA+ 80x25
Calibrating delay loop... 24.88 BogoMIPS
Memory: 10188k/12288k available (940k kernel code, 1712k reserved, 292k data, 48k init, 0k highmem)
Checking if this processor honours the WP bit even in supervisor mode... Ok.
Dentry-cache hash table entries: 2048 (order: 2, 16384 bytes)
Inode-cache hash table entries: 1024 (order: 1, 8192 bytes)
Mount-cache hash table entries: 512 (order: 0, 4096 bytes)
Buffer-cache hash table entries: 1024 (order: 0, 4096 bytes)
Page-cache hash table entries: 4096 (order: 2, 16384 bytes)
CPU: Before vendor init, caps: 00000003 00000000 00000000, vendor = 0
CPU: After vendor init, caps: 00000003 00000000 00000000 00000000
CPU:     After generic, caps: 00000003 00000000 00000000 00000000
CPU:             Common caps: 00000003 00000000 00000000 00000000
CPU: Intel 486 DX/2 stepping 05
Checking 'hlt' instruction... OK.
POSIX conformance testing by UNIFIX
Linux NET4.0 for Linux 2.4
Based upon Swansea University Computer Society NET3.039
Initializing RT netlink socket
Starting kswapd v1.8
Detected PS/2 Mouse Port.
pty: 256 Unix98 ptys configured
Serial driver version 5.05c (2001-07-08) with no serial options enabled
ttyS00 at 0x03f8 (irq = 4) is a 16550A
block: 64 slots per queue, batch=8
Uniform Multi-Platform E-IDE driver Revision: 6.31
ide: Assuming 50MHz system bus speed for PIO modes; override with idebus=xx
hda: TOSHIBA MK3003MAN, ATA DISK drive
ide0 at 0x1f0-0x1f7,0x3f6 on irq 14
hda: 6015744 sectors (3080 MB) w/128KiB Cache, CHS=746/128/63
Partition check:
 hda: hda1 hda2 hda3 hda4
Floppy drive(s): fd0 is 1.44M
FDC 0 is a National Semiconductor PC87306
loop: loaded (max 8 devices)
NET4: Linux TCP/IP 1.0 for NET4.0
IP Protocols: ICMP, UDP, TCP
IP: routing cache hash table of 512 buckets, 4Kbytes
TCP: Hash tables configured (established 512 bind 512)
NET4: Unix domain sockets 1.0/SMP for Linux NET4.0.
VFS: Mounted root (ext2 filesystem) readonly.
Freeing unused kernel memory: 48k freed
Adding Swap: 28220k swap-space (priority -1)
VFS: Disk change detected on device fd(2,0)
end_request: I/O error, dev 02:00 (floppy), sector 0
parport0: PC-style at 0x378 [PCSPP(,...)]
parport0: irq 7 detected
lp0: using parport0 (polling).
CSLIP: code copyright 1989 Regents of the University of California
PPP generic driver version 2.4.1
PPP Deflate Compression module registered
Linux Kernel Card Services 3.1.22
  options:  [pm]
Intel PCIC probe:
  Cirrus PD672x ISA-to-PCMCIA at port 0x3e0 ofs 0x00, 2 sockets
    host opts [0]: [ring] [65/6/0] [1/15/0]
    host opts [1]: [ring] [65/6/0] [1/15/0]
    ISA irqs (default) = 3,4,5,7,9,10,11,12 polling interval = 1000 ms
cs: IO port probe 0x0c00-0x0cff: clean.
cs: IO port probe 0x0800-0x08ff: clean.
cs: IO port probe 0x0100-0x04ff: excluding 0x268-0x26f
cs: IO port probe 0x0a00-0x0aff: excluding 0xa68-0xa6f
cs: memory probe 0x0d0000-0x0dffff: clean.
apm: BIOS version 1.1 Flags 0x13 (Driver version 1.14)
ttyS01 at port 0x02f8 (irq = 3) is a 16550A
eth0: NE2000 Compatible: io 0x300, irq 5, hw_addr 00:80:AD:C6:7C:16

(i've got apm 'on' at the moment but gpm acts the same either way).

****************************************************************************

there are no references to 'gpm' in any of my system logs.

i hope this is some use.

thanks for your help.

regards
will