Bug#634082: xserver-xorg-video-nouveau: X crashes with an assertion failure on VT switch with HW_Cursor disabled
On Sat, Jul 16, 2011 at 20:35:46 +0200, Sven Joachim wrote:
> On 2011-07-16 18:12 +0200, Deekoo L. wrote:
>
> > If I disable HW_Cursor while using the nouveau driver, X will allow me to
> > switch to a text console normally; however, if I then switch back to X,
> > X crashes hard, locking keyboard input and apparently turning off the video
> > signal. The computer is still running and accepts SSH logins; if I run xinit
> > by remote, it will reactivate video and keyboard.
> >
> > Running xinit 2>stderr.log , switching to a text console, and then switching
> > back to X will put the following in stderr.log:
> > [...]
> > X: ../../../../include/privates.h:116: dixGetPrivateAddr: Assertion `key->initialized' failed.
>
> Same here on NV86 (GeForce 8500 GT).
>
> > The lockup does not happen if I remove the 'Option "HW_Cursor" off' line
> > from xorg.conf.
> >
> > (Unfortunately, disabling HW_Cursor seems to be the recommended workaround
> > for a (probably-unrelated) X server bug where the cursor becomes invisible.)
>
> Just for the record, which bug is that?
>
> > IMO, the best thing to do would be to restore the original console
> > settings after an assertion failure, the same way X does after
> > control-alt-backspace. If you wish, I can attempt to put together a
> > patch that does so.
>
> That would be great.
>
The thing is, X can call abort() from its fatal signal handler, and you
don't want to loop there. What we could easily do is build with
-DNDEBUG for release builds, so X crashes "normally" instead of
asserting. Not sure if that's a good idea though.
Cheers,
Julien
Reply to: