Bug 1629 - Xprt in Xorg trunk crashes on AMD64
Summary: Xprt in Xorg trunk crashes on AMD64
Status: RESOLVED FIXED
Alias: None
Product: xprint
Classification: Unclassified
Component: Server: DDX: PostScript (show other bugs)
Version: unspecified
Hardware: All All
: high blocker
Assignee: Roland Mainz
QA Contact:
URL:
Whiteboard:
Keywords:
Depends on: 1496
Blocks:
  Show dependency treegraph
 
Reported: 2004-10-13 18:46 UTC by Roland Mainz
Modified: 2004-12-12 02:17 UTC (History)
2 users (show)

See Also:
i915 platform:
i915 features:


Attachments
[FIXED_X11R68x] Patch for 2004-10-14-trunk (6.75 KB, patch)
2004-10-13 19:18 UTC, Roland Mainz
roland.mainz: 6.8-branch+
Details | Splinter Review

Description Roland Mainz 2004-10-13 18:46:06 UTC
2004-10-14-trunk on SuSE9.1/AMD64, Xprt crashes like this when running
"xlsfonts" against it:
-- snip --
 (LD_LIBRARY_PATH=$PWD/../../exports/lib/ ; export
XPCONFIGDIR=/tmp/xptestinstall002/etc/X11/xserver ; gdb --args ./Xprt -ac -audit
4 -core -fp
/usr/X11R6/lib/X11/fonts/Type1/,/usr/X11R6/lib/X11/fonts/truetype/,/usr/X11R6/lib/X11/fonts/japanese/,/usr/X11R6/lib/X11/fonts/misc/
:40)
GNU gdb 6.1
Copyright 2004 Free Software Foundation, Inc.
GDB is free software, covered by the GNU General Public License, and you are
welcome to change it and/or distribute copies of it under certain conditions.
Type "show copying" to see the conditions.
There is absolutely no warranty for GDB.  Type "show warranty" for details.
This GDB was configured as "x86_64-suse-linux"...Using host libthread_db library
"/lib64/tls/libthread_db.so.1".

(gdb) RUN
Starting program: /home/gisburn/projects/xorg/work004/xc/programs/Xserver/Xprt
-ac -audit 4 -core -fp
/usr/X11R6/lib/X11/fonts/Type1/,/usr/X11R6/lib/X11/fonts/truetype/,/usr/X11R6/lib/X11/fonts/japanese/,/usr/X11R6/lib/X11/fonts/misc/
:40
Detaching after fork from child process 2662.
Detaching after fork from child process 2708.
No matching visual for __GLcontextMode with visual class = 0 (32775), nplanes =
8
AUDIT: Thu Oct 14 03:41:54 2004: 2659 Xprt: client 1 connected from IP
141.50.42.225

Program received signal SIGSEGV, Segmentation fault.
0x0000002a95ac978b in _int_malloc () from /lib64/tls/libc.so.6
(gdb) where
#0  0x0000002a95ac978b in _int_malloc () from /lib64/tls/libc.so.6
#1  0x0000002a95acb019 in malloc () from /lib64/tls/libc.so.6
#2  0x0000000000465604 in GetDatabase (db=0x10e6ec0, 
    str=0x10e6e00 "*xp-page-attributes-supported:\t content-orientation
default-printer-resolution default-input-tray default-medium plex
xp-listfonts-modes", filename=0x0, doall=1) at Xrm.c:1146
#3  0x0000000000466610 in XrmGetStringDatabase (
    data=0x10e6e00 "*xp-page-attributes-supported:\t content-orientation
default-printer-resolution default-input-tray default-medium plex
xp-listfonts-modes") at Xrm.c:1563
#4  0x000000000046c2c5 in XpAugmentAttributes (pContext=0x10e15b0, class=4
'\004', 
    attributes=0x10e6e00 "*xp-page-attributes-supported:\t content-orientation
default-printer-resolution default-input-tray default-medium plex
xp-listfonts-modes") at attributes.c:935
#5  0x0000000000492097 in PsInitContext (pCon=0x10e15b0) at PsInit.c:527
#6  0x00000000005967de in ProcXpCreateContext (client=0x10df9f0) at
xprint.c:1015
#7  0x000000000059542a in ProcXpDispatch (client=0x10df9f0) at xprint.c:451
#8  0x0000000000438792 in Dispatch () at dispatch.c:455
#9  0x000000000041ab38 in main (argc=8, argv=0x7fbffff488, envp=0x7fbffff4d0) at
main.c:442
-- snip --
Comment 1 Roland Mainz 2004-10-13 19:00:45 UTC
"valgrind" on x86-32 (SuSE9.1's valgrind seems to be defunct) shows the
following problem:
-- snip --
(export MESA_DEBUG=1 LD_LIBRARY_PATH=$PWD/../../exports/lib/ ; export
XPCONFIGDIR=/tmp/xptestinstall001/etc/X11/xserver ; valgrind --leak-check=yes
--num-callers=15  ./Xprt -ac -audit 4 -core -fp
/usr/X11R6/lib/X11/fonts/Type1/,/usr/X11R6/lib/X11/fonts/truetype/,/usr/X11R6/lib/X11/fonts/japanese/,/usr/X11R6/lib/X11/fonts/misc/
:40)
==7185== Memcheck, a.k.a. Valgrind, a memory error detector for x86-linux.
==7185== Copyright (C) 2002-2003, and GNU GPL'd, by Julian Seward.
==7185== Using valgrind-2.0.0, a program supervision framework for x86-linux.
==7185== Copyright (C) 2000-2003, and GNU GPL'd, by Julian Seward.
==7185== Estimated CPU clock rate is 1196 MHz
==7185== For more details, rerun with: -v
==7185== 
No matching visual for __GLcontextMode with visual class = 0 (32775), nplanes =
8
AUDIT: Thu Oct 14 03:52:29 2004: 7185 Xprt: client 1 connected from IP
::ffff:141.50.42.225
==7185== Syscall param writev(vector[...]) contains uninitialised or
unaddressable byte(s)
==7185==    at 0x40184F7F: vgAllRoadsLeadToRome_writev (vg_intercept.c:109)
==7185==    by 0x40184FBB: __writev (vg_intercept.c:774)
==7185==    by 0x8098E09: _XSERVTransSocketWritev
(../../../lib/xtrans/Xtranssock.c:2143)
==7185==    by 0x80999CB: _XSERVTransWritev (../../../lib/xtrans/Xtrans.c:907)
==7185==    by 0x808E881: StandardFlushClient (io.c:1121)
==7185==    by 0x808E3DE: FlushAllOutput (io.c:855)
==7185==    by 0x8077767: Dispatch (dispatch.c:471)
==7185==    by 0x805E324: main (main.c:442)
==7185==    by 0x403068AD: __libc_start_main (in /lib/libc.so.6)
==7185==    by 0x804C290: (within
/home/gismobile/projects/xorg/work002/xc/programs/Xserver/Xprt)
==7185==    Address 0x41C6099C is 36 bytes inside a block of size 4096 alloc'd
==7185==    at 0x40027B98: malloc (vg_replace_malloc.c:153)
==7185==    by 0x8091545: Xalloc (utils.c:1362)
==7185==    by 0x808EC43: AllocateOutputBuffer (io.c:1261)
==7185==    by 0x808E463: WriteToClient (io.c:966)
==7185==    by 0x807F91F: SendConnSetup (dispatch.c:3992)
==7185==    by 0x807FA45: ProcEstablishConnection (dispatch.c:4041)
==7185==    by 0x8077700: Dispatch (dispatch.c:455)
==7185==    by 0x805E324: main (main.c:442)
==7185==    by 0x403068AD: __libc_start_main (in /lib/libc.so.6)
==7185==    by 0x804C290: (within
/home/gismobile/projects/xorg/work002/xc/programs/Xserver/Xprt)
==7185== 
==7185== Invalid write of size 1
==7185==    at 0x40357CCC: _IO_vsprintf_internal (in /lib/libc.so.6)
==7185==    by 0x40344C3A: __GI_sprintf (in /lib/libc.so.6)
==7185==    by 0x80C79E0: PsInitContext (PsInit.c:526)
==7185==    by 0x8195104: ProcXpCreateContext (xprint.c:1015)
==7185==    by 0x8193E57: ProcXpDispatch (xprint.c:451)
==7185==    by 0x8077700: Dispatch (dispatch.c:455)
==7185==    by 0x805E324: main (main.c:442)
==7185==    by 0x403068AD: __libc_start_main (in /lib/libc.so.6)
==7185==    by 0x804C290: (within
/home/gismobile/projects/xorg/work002/xc/programs/Xserver/Xprt)
==7185==    Address 0x41CB40B0 is 0 bytes after a block of size 136 alloc'd
==7185==    at 0x40027B98: malloc (vg_replace_malloc.c:153)
==7185==    by 0x8091545: Xalloc (utils.c:1362)
==7185==    by 0x80C79AA: PsInitContext (PsInit.c:521)
==7185==    by 0x8195104: ProcXpCreateContext (xprint.c:1015)
==7185==    by 0x8193E57: ProcXpDispatch (xprint.c:451)
==7185==    by 0x8077700: Dispatch (dispatch.c:455)
==7185==    by 0x805E324: main (main.c:442)
==7185==    by 0x403068AD: __libc_start_main (in /lib/libc.so.6)
==7185==    by 0x804C290: (within
/home/gismobile/projects/xorg/work002/xc/programs/Xserver/Xprt)
==7185== 
==7185== Invalid read of size 1
==7185==    at 0x40020760: strlen (mac_replace_strmem.c:164)
==7185==    by 0x809F6F2: GetDatabase (../../../lib/X11/Xrm.c:1140)
==7185==    by 0x80A061B: XrmGetStringDatabase (../../../lib/X11/Xrm.c:1563)
==7185==    by 0x80A5CD3: XpAugmentAttributes (attributes.c:935)
==7185==    by 0x80C79F3: PsInitContext (PsInit.c:527)
==7185==    by 0x8195104: ProcXpCreateContext (xprint.c:1015)
==7185==    by 0x8193E57: ProcXpDispatch (xprint.c:451)
==7185==    by 0x8077700: Dispatch (dispatch.c:455)
==7185==    by 0x805E324: main (main.c:442)
==7185==    by 0x403068AD: __libc_start_main (in /lib/libc.so.6)
==7185==    by 0x804C290: (within
/home/gismobile/projects/xorg/work002/xc/programs/Xserver/Xprt)
==7185==    Address 0x41CB40B0 is 0 bytes after a block of size 136 alloc'd
==7185==    at 0x40027B98: malloc (vg_replace_malloc.c:153)
==7185==    by 0x8091545: Xalloc (utils.c:1362)
==7185==    by 0x80C79AA: PsInitContext (PsInit.c:521)
==7185==    by 0x8195104: ProcXpCreateContext (xprint.c:1015)
==7185==    by 0x8193E57: ProcXpDispatch (xprint.c:451)
==7185==    by 0x8077700: Dispatch (dispatch.c:455)
==7185==    by 0x805E324: main (main.c:442)
==7185==    by 0x403068AD: __libc_start_main (in /lib/libc.so.6)
==7185==    by 0x804C290: (within
/home/gismobile/projects/xorg/work002/xc/programs/Xserver/Xprt)
==7185== 
==7185== Invalid read of size 1
==7185==    at 0x809FF7A: GetDatabase (../../../lib/X11/Xrm.c:1373)
==7185==    by 0x80A061B: XrmGetStringDatabase (../../../lib/X11/Xrm.c:1563)
==7185==    by 0x80A5CD3: XpAugmentAttributes (attributes.c:935)
==7185==    by 0x80C79F3: PsInitContext (PsInit.c:527)
==7185==    by 0x8195104: ProcXpCreateContext (xprint.c:1015)
==7185==    by 0x8193E57: ProcXpDispatch (xprint.c:451)
==7185==    by 0x8077700: Dispatch (dispatch.c:455)
==7185==    by 0x805E324: main (main.c:442)
==7185==    by 0x403068AD: __libc_start_main (in /lib/libc.so.6)
==7185==    by 0x804C290: (within
/home/gismobile/projects/xorg/work002/xc/programs/Xserver/Xprt)
==7185==    Address 0x41CB40B0 is 0 bytes after a block of size 136 alloc'd
==7185==    at 0x40027B98: malloc (vg_replace_malloc.c:153)
==7185==    by 0x8091545: Xalloc (utils.c:1362)
==7185==    by 0x80C79AA: PsInitContext (PsInit.c:521)
==7185==    by 0x8195104: ProcXpCreateContext (xprint.c:1015)
==7185==    by 0x8193E57: ProcXpDispatch (xprint.c:451)
==7185==    by 0x8077700: Dispatch (dispatch.c:455)
==7185==    by 0x805E324: main (main.c:442)
==7185==    by 0x403068AD: __libc_start_main (in /lib/libc.so.6)
==7185==    by 0x804C290: (within
/home/gismobile/projects/xorg/work002/xc/programs/Xserver/Xprt)
AUDIT: Thu Oct 14 03:52:36 2004: 7185 Xprt: client 1 disconnected
-- snip --

This is very likely a regression from bug 1496 ("Xorg Xprt does not support
"*xp-listfonts-mode: xp-list-internal-printer-fonts" to toggle the usage of
printer-builtin fonts") ... ;-(
Comment 2 Roland Mainz 2004-10-13 19:18:37 UTC
Created attachment 1107 [details] [review]
[FIXED_X11R68x] Patch for 2004-10-14-trunk
Comment 3 Roland Mainz 2004-10-13 19:21:43 UTC
Patch checked-in...

/cvs/xorg/xc/ChangeLog,v  <--  ChangeLog
new revision: 1.461; previous revision: 1.460
/cvs/xorg/xc/programs/Xserver/Xprint/pcl/PclInit.c,v  <--  PclInit.c
new revision: 1.4; previous revision: 1.3
/cvs/xorg/xc/programs/Xserver/Xprint/ps/PsInit.c,v  <--  PsInit.c
new revision: 1.6; previous revision: 1.5
Mailing the commit message to xorg-commit@pdx.freedesktop.org...

... marking bug as FIXED.
Comment 4 Julien Lafon 2004-11-09 01:55:13 UTC
Comment on attachment 1107 [details] [review]
[FIXED_X11R68x] Patch for 2004-10-14-trunk

nominating for X11R6.8.2 as needed to fix a hole caused  by bug 1496 (both
attachments need to be approved or rejected together).
Comment 5 Roland Mainz 2004-11-19 07:36:04 UTC
Comment on attachment 1107 [details] [review]
[FIXED_X11R68x] Patch for 2004-10-14-trunk

Approved for the X11R6.8.x branch in the 2004-11-17 release-wranglers phone
call.
Please don't commit it yourself, I'll handle that once the CVS service is
available again.
Comment 6 Roland Mainz 2004-12-12 21:17:05 UTC
Comment on attachment 1107 [details] [review]
[FIXED_X11R68x] Patch for 2004-10-14-trunk

Patch checked-in into X11R6.8.x stable branch:

/cvs/xorg/xc/ChangeLog,v  <--  ChangeLog
new revision: 1.365.2.42; previous revision: 1.365.2.41
cvs commit: Using deprecated info format strings.  Convert your scripts to use
the new argument format and remove '1's from your info file format strings.
/cvs/xorg/xc/programs/Xserver/Xprint/pcl/PclInit.c,v  <--  PclInit.c
new revision: 1.2.4.2; previous revision: 1.2.4.1
cvs commit: Using deprecated info format strings.  Convert your scripts to use
the new argument format and remove '1's from your info file format strings.
/cvs/xorg/xc/programs/Xserver/Xprint/ps/PsInit.c,v  <--  PsInit.c
new revision: 1.3.4.3; previous revision: 1.3.4.2
cvs commit: Using deprecated info format strings.  Convert your scripts to use
the new argument format and remove '1's from your info file format strings.
Mailing the commit message to xorg-commit@lists.freedesktop.org...


Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.