[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#206907: xserver-xfree86: hangs on screensaver



retitle 206907 xserver-xfree86: [glint] endless loop in Permedia2Sync() while using xscreensaver
tag 206907 + upstream
thanks

On Sat, Aug 23, 2003 at 07:53:17PM +0200, David N. Welton wrote:
> Package: xserver-xfree86
> Version: 4.2.1-10
> Severity: normal
> 
> While running xscreensaver, X appears to hang, somewhat randomly.  I
> downloaded the debug server, and attached to it when the problem
> occurred:
[...]
> (gdb) bt
> #0  0x080826e7 in Permedia2Sync (pScrn=0x8942ec0) at pm2_accel.c:404
[...]
> Let's try doing stepi:
> 
> 404     in pm2_accel.c
> (gdb) 
> 0x080826d3      404     in pm2_accel.c
> (gdb) 
> 0x080826d6      404     in pm2_accel.c
> (gdb) 
> 0x080826dc      404     in pm2_accel.c
> (gdb) 
> 0x080826e2      404     in pm2_accel.c
> (gdb) 
> 0x080826e5      404     in pm2_accel.c
> (gdb) 
> 0x080826e7      404     in pm2_accel.c
> (gdb) 
> 0x080826e9      404     in pm2_accel.c
> (gdb) 
> 404     in pm2_accel.c
> 
> Doesn't seem to want to exit from that.
[...]
> I don't have the source code, so I'm afraid that's where my digging
> ends.  I can look around some more if you tell me exactly what to do.

Nah.  I keep source trees around just for this sort of contingency.

Let's have a look at our first contestant, shall we?

    392 void
    393 Permedia2Sync(ScrnInfoPtr pScrn)
    394 {
    395     GLINTPtr pGlint = GLINTPTR(pScrn);
    396
    397     CHECKCLIPPING;
    398
    399     while (GLINT_READ_REG(DMACount) != 0);
    400     GLINT_WAIT(2);
    401     GLINT_WRITE_REG(0x400, FilterMode);
    402     GLINT_WRITE_REG(0, GlintSync);
    403     do {
    404         while(GLINT_READ_REG(OutFIFOWords) == 0);
    405     } while (GLINT_READ_REG(OutputFIFO) != Sync_tag);
    406 }

Well, that certainly looks like a good way to fuck yourself.  Whoever
wrote this code has a lot of confidence in the underlying hardware.

Since I happen to know that Sven Luther does a lot of glint driver work,
I'm CCing him on this message.

Sven, any ideas?

-- 
G. Branden Robinson                |      We either learn from history or,
Debian GNU/Linux                   |      uh, well, something bad will
branden@debian.org                 |      happen.
http://people.debian.org/~branden/ |      -- Bob Church

Attachment: pgp4eJDMEfQXL.pgp
Description: PGP signature


Reply to: