[kde-solaris] KDE 3.1 crash on user startup - OK as root

Stefan Teleman kde-solaris@mail.kde.org
Thu Mar 13 02:32:01 2003


See file below (kchmod.c).

Compile and install as ${KDE}/bin/kchmod.

chown root:other ${KDE}/bin/kchmod
chmod 4755 ${KDE}/bin/kchmod
add the following line in startkde right before the line
"KDE Starting up ... "
/opt/kde3/bin/kchmod

This fixes it.

--Stefan

----- SNIP -----

#include <stdio.h>
#include <stdlib.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <unistd.h>
#include <errno.h>

extern int errno;

int
main (int argc, char* argv[])
{
    const char* unixPath = "/tmp/.X11-unix";
    const char* pipePath = "/tmp/.X11-pipe";
    const char* icePath = "/tmp/.ICE-unix";
    mode_t mode = 0;
    uid_t uid = 0;

    mode |= S_IRWXU;
    mode |= S_IRWXG;
    mode |= S_IRWXO;
    mode |= S_ISVTX;

    if (setuid (uid) != 0)
    {
        perror ("setuid"), strerror (errno);
        return (-1);
    }

    if (chmod (unixPath, mode) != 0)
        perror ("chmod"), strerror (errno);

    if (chmod (pipePath, mode) != 0)
        perror ("chmod"), strerror (errno);

    if (chmod (icePath, mode) != 0)
        perror ("chmod"), strerror (errno);
    return (0);
}

----- SNAP -----


On Wednesday 12 March 2003 02:28, Torsten Kasch wrote:
> Hi,
>
> On Tuesday 11 March 2003 17:41, Paul Hands wrote:
> > Hi,
> >
> > I've got to the stage where I can login to KDE with no problems
> > as root.  Logging in as myself crashes during the startup phase
> > with a sigsegv (Sig11).  I've tried the permissions in /tmp on
> > .ICE-unix, but I find that each time I log out as root (or maybe
> > attempt to log in as me), the permissions get set back to what
> > they were before.
>
> IIRC this has been discussed already on this list. The problem
> seems to be that somewhere in libICE's code the permissions get
> reset to 755 or similiar. A possible solution is to add "chmod 1777
> /tmp/.ICE-unix" to the startup script of your xdm/kdm/whatever.
>
> > Annoyingly, at one point, I could log in as me, but that was
> > without having a /etc/resolv.conf file because the domian names
> > are different between NIS and DNS.  I put the file back and now
> > can longer get in as me, even though I've removed it again.
>
> Have a look at http://bugs.kde.org/show_bug.cgi?id=50754
>
> cheers,
> 	Torsten

-- 
Stefan Teleman          'Nobody Expects the Spanish Inquisition'
steleman@nyc.rr.com                          -Monty Python