From owner-freebsd-bugs Mon Oct 9 00:30:06 1995 Return-Path: owner-bugs Received: (from root@localhost) by freefall.freebsd.org (8.6.12/8.6.6) id AAA27555 for bugs-outgoing; Mon, 9 Oct 1995 00:30:06 -0700 Received: (from gnats@localhost) by freefall.freebsd.org (8.6.12/8.6.6) id AAA27548 ; Mon, 9 Oct 1995 00:30:03 -0700 Resent-Date: Mon, 9 Oct 1995 00:30:03 -0700 Resent-Message-Id: <199510090730.AAA27548@freefall.freebsd.org> Resent-From: gnats (GNATS Management) Resent-To: freebsd-bugs Resent-Reply-To: FreeBSD-gnats@freefall.FreeBSD.org, peter@jhome.DIALix.COM Received: from jhome.DIALix.COM (root@jhome.DIALix.COM [192.203.228.69]) by freefall.freebsd.org (8.6.12/8.6.6) with ESMTP id AAA27412 for ; Mon, 9 Oct 1995 00:23:06 -0700 Received: (from peter@localhost) by jhome.DIALix.COM (8.6.12/8.6.9) id OAA10701; Mon, 9 Oct 1995 14:51:01 +0800 Message-Id: <199510090651.OAA10701@jhome.DIALix.COM> Date: Mon, 9 Oct 1995 14:51:01 +0800 From: Peter Wemm sfjhgsd fhasldf kjahs Reply-To: peter@jhome.DIALix.COM To: FreeBSD-gnats-submit@freebsd.org X-Send-Pr-Version: 3.2 Subject: ports/773: screen-3.6.2 from -current wont work... Sender: owner-bugs@freebsd.org Precedence: bulk >Number: 773 >Category: ports >Synopsis: screen-3.6.2 from -current wont work... >Confidential: no >Severity: serious >Priority: medium >Responsible: freebsd-bugs >State: open >Class: sw-bug >Submitter-Id: current-users >Arrival-Date: Mon Oct 9 00:30:02 PDT 1995 >Last-Modified: >Originator: Peter Wemm sfjhgsd fhasldf kjahs >Organization: DIALix >Release: FreeBSD 2.2-CURRENT i386 >Environment: -current kernel, near -current binaries (less than 1 week old), -current ports. FreeBSD jhome.DIALix.COM 2.2-CURRENT FreeBSD 2.2-CURRENT #60: Fri Oct 6 05:23:45 WST 1995 peter@jhome.DIALix.COM:/home/src/sys/compile/JHOME i386 >Description: If screen is installed with the default permissions (setuid-root), it core dumps with a bus error if run as a mortal user, and locks up the tty if run as root. In both cases, a child process sits in a 100% cpu busy loop, while the parent dies. >How-To-Repeat: make install rehash screen >Fix: I really do not know.. I looked at the code where it's dying, and it looks really odd. It almost looks like gcc is mis-compiling the code, but I could easily be wrong. It is dying in one of several areas I have seen, mostly inside: for (display = displays; display; display = display->next) { if (D_status == 0) continue; .... } D_status is a macro for display->d_status. Somehow, at the point of death, it is dereferencing a NULL display variable inside the D_status test. I do not see how it could be doing that.. I must be missing something obvious. The only other thing I can think of, is the MD5 passwords. The port is most definately at -current level, and the patch that increases the string to 30 is present. It is dying when it has read access to master.passwd and the encrypted strings. I have still got more things to try yet, but last time I looked at it, ktrace paniced the system. I'm waiting for the next ctm mailout. I did notice that pass2() in process.c can assemble the encrypted string into "Password" *without* the null terminating character. >Audit-Trail: >Unformatted: