Bug 4336

Summary: screeen -wipe doesn't work for named screens
Product: [Retired] Red Hat Raw Hide Reporter: Jay Freeman <saurik>
Component: screenAssignee: Bill Nottingham <notting>
Status: CLOSED WONTFIX QA Contact:
Severity: low Docs Contact:
Priority: low    
Version: 1.0CC: rvokal
Target Milestone: ---   
Target Release: ---   
Hardware: i386   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 1999-08-31 14:58:00 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description Jay Freeman 1999-08-03 21:40:50 UTC
Example #1:

[root(2)@ironclad RPMs]# screen -r rawhide
There is a screen on:
        12107.rawhide   (Dead ???)
Remove dead screens with 'screen -wipe'.
There is no screen to be resumed matching rawhide.
[root(2)@ironclad RPMs]# screen -wipe
There are screens on:
        12107.rawhide   (Remote or dead)
        12410.mirror    (Remote or dead)
2 Sockets in /root/.iscreen.

Example #2:

[root(2)@ironclad RPMs]# screen top
<detach>
[root(2)@ironclad RPMs]# screen -S top top
<detach>
[root(2)@ironclad RPMs]# ps ax | grep top
 5223 ?        S      0:00 SCREEN top
 5224 pts/3    S      0:03 top
 5228 ?        S      0:00 SCREEN -S top top
 5229 pts/4    S      0:02 top
 5237 pts/2    S      0:00 grep top
[root(2)@ironclad RPMs]# kill -9 5223 5228
[root(2)@ironclad RPMs]# screen -ls
There are screens on:
        5223.pts-2.ironclad     (Dead ???)
        5228.top        (Remote or dead)
Remove dead screens with 'screen -wipe'.
2 Sockets in /root/.iscreen.
[root(2)@ironclad RPMs]# screen -wipe
There are screens on:
        5223.pts-2.ironclad     (Removed)
        5228.top        (Remote or dead)
1 socket wiped out.
1 Socket in /root/.iscreen.

Comment 1 Jeff Johnson 1999-08-20 23:42:59 UTC
Does this problem persist in the latest screen-3.9.4 from Raw Hide?

Comment 2 Jeff Johnson 1999-08-23 23:35:59 UTC
Yes, the problem persists in screen-3.9.4.

Comment 3 Jay Freeman 1999-08-25 05:22:59 UTC
Sorry, have had a hard time checking e-mail lately, upgraded my
motherboard and luck would have it my harddrive went bad too.

From what I can tell, the problem is simply in how screen keeps track
of information, in the filenames of the pipes.  It performs the
following check to see if it is a Remote socket or a Dead socket:

  if (matchlen || (*n == '.' && n[1] && strncmp(HostName, n + 1,
strlen(n + 1)) == 0))

Named sockets don't include the terminal nor the hostname in the
filename, therefor causing the local hostname check to fail.  A
possible solution to this is to modify screen to store the name of
the screen after (or before, whatever) the existing terminal and
hostname data as opposed to replacing it.  That way it could perform
that check just like it is, and continue to work without MAJOR design
modifications.  (This might be something for the screen people though
since it isn't really a bug as much as a misplaced feature.)

Comment 4 Bill Nottingham 1999-08-31 14:58:59 UTC
As this is more of a 'feature request' than a bug, we probably won't
fix this here - contacting the screen developers would be your
best bet.