screen-users
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Screen freezes when launched as normal user


From: Stephane Glondu
Subject: Screen freezes when launched as normal user
Date: Wed, 05 Jul 2006 12:47:23 +0900
User-agent: Thunderbird 1.5 (Macintosh/20051201)

Hi,

I have the following issue with screen on a server running Debian sarge
(stable). The version of the screen package is 4.0.2-4.1.

There are basically two kinds of users on this server: normal users, who
belong only to group users, and administrators, who belong to users and
adm.

When screen is launched by a normal user, the terminal seems to freeze,
Ctrl+C doesn't work, but Ctrl+Z does (the faulty process can then be
killed via "kill %1").

When screen is lanched by an administrator, there is no problem.


Here are the result of some commands:

$ uname -a
Linux xxx 2.6.8-12-em64t-p4-smp #1 SMP Thu Feb 9 07:18:39 UTC 2006
x86_64 GNU/Linux

$ screen --version
Screen version 4.00.02 (FAU) 5-Dec-03

$ ls -ld /usr/bin/screen /var/run/screen
-rwxr-sr-x   1 root utmp 331496 2004-11-15 12:04 /usr/bin/screen
drwxrwxr-x  28 root utmp   4096 2006-06-27 22:23 /var/run/screen


I tried to investigate using strace. Since strace doesn't take into
account sgid, I changed temporarily the rights of /var/run/screen to 777.

When screen is initializing, several child processes are created with
clone. With a normal user, one of them segfaults and becomes a zombie.
The parent process then keeps doing pause() - receive SIGALARM - pause()
indefinitely, but apparently doesn't acknowledge the death of the child.
From the user's point of view, the terminal is frozen.

When lanched as an administrator, again, there is no problem.

The matching part of the output of strace seems to be:

- with a normal user:
12673 munmap(0x2a9709e000, 38450)       = 0
12673 open("/usr/lib/sasl2/libsasldb.la", O_RDONLY) = 4
12673 close(4)                          = 0
12673 getdents64(3, /* 0 entries */, 4096) = 0
12673 close(3)                          = 0
12673 --- SIGSEGV (Segmentation fault) @ 0 (0) ---

- with an administrator:
14155 munmap(0x2a9709e000, 38450)       = 0
14155 open("/usr/lib/sasl2/libsasldb.la", O_RDONLY) = 4
14155 close(4)                          = 0
14155 getdents64(3, /* 0 entries */, 4096) = 0
14155 close(3)                          = 0
14155 geteuid()                         = 1157
14155 socket(PF_INET, SOCK_STREAM, IPPROTO_IP) = 3
14155 setsockopt(3, SOL_TCP, TCP_NODELAY, [24288761613385729], 4) = 0
14155 fcntl(3, F_GETFL)                 = 0x2 (flags O_RDWR|O_LARGEFILE)
14155 fcntl(3, F_SETFL, O_RDWR|O_NONBLOCK) = 0

Does anyone have an idea of what is going on?


Best regards,

Stephane Glondu




reply via email to

[Prev in Thread] Current Thread [Next in Thread]