Bug 143973

Summary: XtVaGetValues core dump on x86_64 getting pointer (FontList) info
Product: [Fedora] Fedora Reporter: Carl Nygard <cjnygard>
Component: xorg-x11Assignee: X/OpenGL Maintenance List <xgl-maint>
Status: CLOSED NOTABUG QA Contact:
Severity: high Docs Contact:
Priority: medium    
Version: 2   
Target Milestone: ---   
Target Release: ---   
Hardware: x86_64   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2005-01-05 23:30:52 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Attachments:
Description Flags
source code to reproduce crash none

Description Carl Nygard 2005-01-03 01:13:10 UTC
From Bugzilla Helper:
User-Agent: Mozilla/5.0 (X11; U; Linux i686; rv:1.7.3) Gecko/20041020
Firefox/0.10.1

Description of problem:


I'm having curious problems with XtVaGetValues (and also by extension
XtVaCreatePopupShell) on x86_64, it keeps core dumping.  Here's a
stacktrace:

(gdb) where#0  0x00000037c3f48c43 in _XtCountVaList () from
/usr/X11R6/lib64/libXt.so.6#1  0x00000037c3f48746 in XtVaGetValues () from
/usr/X11R6/lib64/libXt.so.6#2  0x0000000000400dd4 in main (argc=1,
argv=0x7fbffff768) at motifbug.cxx:26
(gdb)

packages come from Fedora Core2:
[mwsadm@fims64 hdfloader]$ rpm -qa "xorg*"
xorg-x11-tools-6.7.0-2
xorg-x11-xauth-6.7.0-2
xorg-x11-75dpi-fonts-6.7.0-2
xorg-x11-Mesa-libGL-6.7.0-2
xorg-x11-font-utils-6.7.0-2
xorg-x11-base-fonts-6.7.0-2
xorg-x11-libs-6.7.0-2
xorg-x11-Mesa-libGL-6.7.0-2
xorg-x11-xfs-6.7.0-2
xorg-x11-6.7.0-2
xorg-x11-libs-data-6.7.0-2
xorg-x11-libs-6.7.0-2
xorg-x11-100dpi-fonts-6.7.0-2
xorg-x11-Mesa-libGLU-6.7.0-2
xorg-x11-twm-6.7.0-2
xorg-x11-devel-6.7.0-2
xorg-x11-Mesa-libGLU-6.7.0-2

Attached is the code to reproduce the bug in a simple pure-X/Motif
test code, compiled via:

g++ -g -o motifbug motifbug.cxx -L /usr/X11R6/lib64 -lXm -lXt

This generates an X warning.  Whatever.  Add -DDUMP to the cmd line 
and it will coredump on the XtVaGetValues function.  What gives?  
ifdef'ing a function that comes *after* the location of the core 
matters?  I know X is  synchronous but that seems to indicate a
compiler problem???

I don't rule out user error, like improper compiler flags, but the
example is really simple, so I don't see how.



Version-Release number of selected component (if applicable):
xorg-x11-6.7.0-2

How reproducible:
Always

Steps to Reproduce:
1.see attached code
2.
3.
    

Additional info: See https://bugs.freedesktop.org/show_bug.cgi?id=1759
for more (identical) info.

Comment 1 Carl Nygard 2005-01-03 01:14:40 UTC
Created attachment 109245 [details]
source code to reproduce crash

compile via:
g++ -g -o motifbug motifbug.cxx -L /usr/X11R6/lib64 -lXm -lXt

for core:
g++ -DDUMP -g -o motifbug motifbug.cxx -L /usr/X11R6/lib64 -lXm -lXt

Comment 2 Carl Nygard 2005-01-05 23:30:52 UTC
The code used 0 to terminate the varargs list, which doesn't fly well
in x86_64 land.  switching to NULL or (void*)0 works fine.