Bug 29600

Summary: valgrind complains about hashing padding bytes in XcursorImageHash
Product: xorg Reporter: austinenglish <austinenglish>
Component: Lib/XcursorAssignee: Xorg Project Team <xorg-team>
Status: RESOLVED INVALID QA Contact: Xorg Project Team <xorg-team>
Severity: normal    
Priority: medium CC: jeremyhu
Version: unspecified   
Hardware: Other   
OS: All   
Whiteboard: 2011BRB_Reviewed
i915 platform: i915 features:
Attachments:
Description Flags
valgrind output none

Description austinenglish@gmail.com 2010-08-16 21:14:05 UTC
Created attachment 37906 [details]
valgrind output

First reported at http://bugs.winehq.org/show_bug.cgi?id=20335.

A few patches were sent to wine to fix it, e.g., http://www.winehq.org/pipermail/wine-patches/2010-August/091903.html, but the maintainer has not committed them, saying it's probably an X.Org bug:
http://bugs.winehq.org/show_bug.cgi?id=20335#c1
"It sounds like it's hashing padding bytes. Probably should be reported to the
X.org folks."

so, I'm reporting to the X.Org folks :-).

To reproduce, you'll probably want to compile wine after installing valgrind. Then do:
$ ./wine notepad
to start an application, so that valgrind doesn't trace all of wine/wineserver, just the test application. Then, in a separate terminal, run:
$ valgrind --trace-children=yes --vex-iropt-precise-memory-exns=yes --workaround-gcc296-bugs=yes ./wine winemine

you'll get:
==14385== Conditional jump or move depends on uninitialised value(s)
==14385==    at 0x4F54A18: XcursorImageHash (in /usr/lib/libXcursor.so.1.0.2)
==14385==    by 0x4F54ED7: XcursorNoticePutBitmap (in /usr/lib/libXcursor.so.1.0.2)
==14385==    by 0x4DD6EF8: _XNoticePutBitmap (in /usr/lib/libX11.so.6.3.0)
==14385==    by 0x4DEE3A7: XPutImage (in /usr/lib/libX11.so.6.3.0)
==14385==    by 0x4D08D8F: X11DRV_DIB_SetImageBits (dib.c:3671)
==14385==    by 0x4D0CB49: X11DRV_SetDIBits (dib.c:4049)
==14385==    by 0x4AFF857: SetDIBits (dib.c:374)
==14385==    by 0x4B0000B: StretchDIBits (dib.c:261)
==14385==    by 0x49D6A64: CURSORICON_CreateIconFromBMI (cursoricon.c:860)
==14385==    by 0x49D6FC4: CreateIconFromResourceEx (cursoricon.c:1159)
==14385==    by 0x49D910F: CURSORICON_Load (cursoricon.c:1292)
==14385==    by 0x49D969F: LoadImageW (cursoricon.c:2392)
==14385== 

austin@laptop:~$ xdpyinfo | grep version
version number:    11.0
X.Org version: 1.7.6

Full valgrind output attached.
Comment 1 austinenglish@gmail.com 2011-01-13 08:17:04 UTC
Still in:
austin@midna:~$ X -version

X.Org X Server 1.9.0
Release Date: 2010-08-20
X Protocol Version 11, Revision 0
Build Operating System: Linux 2.6.24-28-server x86_64 Ubuntu
Current Operating System: Linux midna 2.6.35-24-generic #42-Ubuntu SMP Thu Dec 2 02:41:37 UTC 2010 x86_64
Kernel command line: root=UUID=e1074dbb-7170-4709-b092-f49b773a2898 ro quiet splash 
Build Date: 09 January 2011  12:14:27PM
xorg-server 2:1.9.0-0ubuntu7.3 (For technical support please see http://www.ubuntu.com/support) 
Current version of pixman: 0.18.4
	Before reporting problems, check http://wiki.x.org
	to make sure that you have the latest version.
Comment 2 Adam Jackson 2018-06-12 19:09:39 UTC
Mass closure: This bug has been untouched for more than six years, and is not
obviously still valid. Please reopen this bug or file a new report if you continue to experience issues with current releases.

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.