Bug 97359 - OGL 3D Xscreensavers seg-fault using ATI drivers
Summary: OGL 3D Xscreensavers seg-fault using ATI drivers
Keywords:
Status: CLOSED RAWHIDE
Alias: None
Product: Red Hat Raw Hide
Classification: Retired
Component: xscreensaver
Version: 1.0
Hardware: ia64
OS: Linux
medium
medium
Target Milestone: ---
Assignee: Bill Nottingham
QA Contact:
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2003-06-13 16:42 UTC by John Fujii
Modified: 2014-03-17 02:36 UTC (History)
1 user (show)

Fixed In Version: 4.10-3
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2003-06-13 19:25:06 UTC
Embargoed:


Attachments (Terms of Use)
IA64 Xscreensaver patch for Var Args NULL problem (512 bytes, patch)
2003-06-13 16:44 UTC, John Fujii
no flags Details | Diff

Description John Fujii 2003-06-13 16:42:43 UTC
Description of problem:

Var Args problem in function call.  On 64-bit boxes, the NULL is not
correctly promoted causing a segmentation fault during execution of
a number of 3D OpenGL Xscreensavers.

Version-Release number of selected component (if applicable):

We've seen this on AW 2.1 and the current Taroon Bits - probably
should be cross listed and fixed in both.

Note: this means Advanced Workstation 2.1 and Advanced Workstation 3.0
           for IA64 only

How reproducible:

Currently most reproducible with an OEM 3D graphics driver, although 
debuggers can also show the problem

---

Problem occurs in module hacks/screenhack.c at line 673:

          new = XtVaAppCreateShell (progname, progclass,
                                    topLevelShellWidgetClass, dpy,
                                    .....
                                    XtNinput, True,  /* for WM_HINTS */
                                    0);

The trailing "0" (NULL) does not get correctly promoted to a
64-bit NULL on IA64.  Thus, we get a segmentation fault under
an IA64 run under certain conditions.  The segmentation error
occurs in libXt in the call XtVaAppCreateShell().

Recommend making "0" be cast explicitly to long constant (as in "0L")
for IA64.

Thus, this becomes:

          new = XtVaAppCreateShell (progname, progclass,
                                    topLevelShellWidgetClass, dpy,
                                    .....
                                    XtNinput, True,  /* for WM_HINTS */
                                    0L);

Comment 1 John Fujii 2003-06-13 16:44:39 UTC
Created attachment 92389 [details]
IA64 Xscreensaver patch for Var Args NULL problem

This is a proposed potential fix for the described condition.

Comment 2 Bill Nottingham 2003-06-13 19:25:06 UTC
Fixed in 4.10-3, thx. Just changed it from 0L to NULL.


Note You need to log in before you can comment on or make changes to this bug.