2002-04-04 14:22:32

by Patrick McManus

[permalink] [raw]
Subject: 2.4.19-pre4-ac4 kills my gdm

This is kind of odd - I have an Athlon 850 with a sis 730 chipset. X
detects the "sis 630" as my video chipset.

under 2.4.19-pre4-ac3 all is good - reboot to 2.4.19-pre4-ac4 and gdm
won't start.

X does start successfully.. but not gdm. I can go to runlevel 3 and
run startx without a problem (i.e. get a window manager, etc..)

If I boot back to 2.4.19-pre4-ac3 all is well again.

/var/log/gdm/:0.log complains of a lock

-----
Fatal server error:
Server is already active for display 0
If this server is no longer running, remove /tmp/.X0-lock
and start again.


When reporting a problem related to a server crash, please send
the full server output, not just the last messages.
Please report problems to [email protected].
-----

However clearing the lock (and making sure its gone when the sever
starts) is of no help.

-Patrick




2002-04-04 14:59:38

by Alan

[permalink] [raw]
Subject: Re: 2.4.19-pre4-ac4 kills my gdm

> X does start successfully.. but not gdm. I can go to runlevel 3 and
> run startx without a problem (i.e. get a window manager, etc..)
>
> If I boot back to 2.4.19-pre4-ac3 all is well again.
>

Can you do a clean build with pre4-ac4 for non athlon cpu, try that, then
a clean built back to with athlon cpu just to verify that is the actual
issue ?

2002-04-04 16:20:52

by Patrick McManus

[permalink] [raw]
Subject: Re: 2.4.19-pre4-ac4 kills my gdm

Alan,

mea culpa on this one - my problem appears to be with the only other
patch I was running - I believed I was also running it on ac3, but it
now appears that I was thinking of another box.

The other patch was corey minyard's "allow signal handler to not call
handler" patch that I was interested in seeing its impact on a
userspace project of mine. It kills gdm (at least with ac4.. maybe
others?)

thanks,
-Pat

[Alan Cox: Thu, Apr 04, 2002 at 04:16:24PM +0100]
> > X does start successfully.. but not gdm. I can go to runlevel 3 and
> > run startx without a problem (i.e. get a window manager, etc..)
> >
> > If I boot back to 2.4.19-pre4-ac3 all is well again.
> >
>
> Can you do a clean build with pre4-ac4 for non athlon cpu, try that, then
> a clean built back to with athlon cpu just to verify that is the actual
> issue ?

2002-04-04 19:20:15

by Corey Minyard

[permalink] [raw]
Subject: Re: 2.4.19-pre4-ac4 kills my gdm

--- ./arch/i386/kernel/signal.c.nocallhndlr Wed Mar 27 10:56:29 2002
+++ ./arch/i386/kernel/signal.c Thu Apr 4 13:10:30 2002
@@ -558,22 +558,25 @@
}
}

- /* Set up the stack frame */
- if (ka->sa.sa_flags & SA_SIGINFO)
- setup_rt_frame(sig, ka, info, oldset, regs);
- else
- setup_frame(sig, ka, oldset, regs);
+ /* Set up the stack frame if we are calling the handler. */
+ if (! (ka->sa.sa_flags & SA_NOCALLHNDLR)) {
+ if (ka->sa.sa_flags & SA_SIGINFO)
+ setup_rt_frame(sig, ka, info, oldset, regs);
+ else
+ setup_frame(sig, ka, oldset, regs);
+
+ if (!(ka->sa.sa_flags & SA_NODEFER)) {
+ spin_lock_irq(&current->sigmask_lock);
+ sigorsets(&current->blocked,&current->blocked,
+ &ka->sa.sa_mask);
+ sigaddset(&current->blocked,sig);
+ recalc_sigpending(current);
+ spin_unlock_irq(&current->sigmask_lock);
+ }
+ }

if (ka->sa.sa_flags & SA_ONESHOT)
ka->sa.sa_handler = SIG_DFL;
-
- if (!(ka->sa.sa_flags & SA_NODEFER)) {
- spin_lock_irq(&current->sigmask_lock);
- sigorsets(&current->blocked,&current->blocked,&ka->sa.sa_mask);
- sigaddset(&current->blocked,sig);
- recalc_sigpending(current);
- spin_unlock_irq(&current->sigmask_lock);
- }
}

/*
--- ./include/asm-i386/signal.h.nocallhndlr Wed Mar 27 10:56:12 2002
+++ ./include/asm-i386/signal.h Thu Apr 4 13:02:07 2002
@@ -91,6 +91,7 @@
#define SA_RESTART 0x10000000
#define SA_NODEFER 0x40000000
#define SA_RESETHAND 0x80000000
+#define SA_NOCALLHNDLR 0x00800000 /* Don't really call the handler. */

#define SA_NOMASK SA_NODEFER
#define SA_ONESHOT SA_RESETHAND


Attachments:
linux-nocallhndlr.patch (1.54 kB)