Submitted by dpeterc on Mon, 06/18/2007 - 12:29.
I test my software regularly with Valgrind.
On SUSE 10.2, which includes beta version of OpenMotif 2.3,
I get the following error, which I did not get with OM 2.2
==6001== Memcheck, a memory error detector.
==6001== Copyright (C) 2002-2007, and GNU GPL'd, by Julian Seward et al.
==6001== Using LibVEX rev 1732, a library for dynamic binary translation.
==6001== Copyright (C) 2004-2007, and GNU GPL'd, by OpenWorks LLP.
==6001== Using valgrind-3.2.3, a dynamic binary instrumentation framework.
==6001== Copyright (C) 2000-2007, and GNU GPL'd, by Julian Seward et al.
==6001== For more details, rerun with -v
==6001==
==6001== Conditional jump or move depends on uninitialised value(s)
==6001== at 0x4281770 XmRenderTableCopy (in /usr/lib/libXm.so.4.0.0)
==6001== by 0x42775FC XmFontListCopy (in /usr/lib/libXm.so.4.0.0)
==6001== by 0x4269CC8 (within /usr/lib/libXm.so.4.0.0)
==6001== by 0x4396817 (within /usr/lib/libXt.so.6.0.0)
==6001== by 0x43967D7 (within /usr/lib/libXt.so.6.0.0)
==6001== by 0x43967D7 (within /usr/lib/libXt.so.6.0.0)
==6001== by 0x4397229 (within /usr/lib/libXt.so.6.0.0)
==6001== by 0x43975B4 _XtAppCreateShell (in /usr/lib/libXt.so.6.0.0)
==6001== by 0x43977EB XtAppCreateShell (in /usr/lib/libXt.so.6.0.0)
==6001== by 0x43A28DE XtOpenApplication (in /usr/lib/libXt.so.6.0.0)
==6001== by 0x43A2990 XtAppInitialize (in /usr/lib/libXt.so.6.0.0)
==6001== by 0x43A2A06 XtInitialize (in /usr/lib/libXt.so.6.0.0)
Apparently, XmRenderTableCopy is used all over the place,
which makes valgrind really difficult to use, as it continues to
give many errors caused by the motif library, so I have a hard time
debugging my code.
Some other cases with this error are
==6001== Conditional jump or move depends on uninitialised value(s)
==6001== at 0x427F8CD _XmXftDrawCreate (in /usr/lib/libXm.so.4.0.0)
==6001== by 0x427F983 _XmXftSetClipRectangles (in /usr/lib/libXm.so.4.0.0)
==6001== by 0x41ADDCB (within /usr/lib/libXm.so.4.0.0)
==6001== by 0x41AE696 (within /usr/lib/libXm.so.4.0.0)
==6001== by 0x41B579F (within /usr/lib/libXm.so.4.0.0)
==6001== by 0x439C2FB (within /usr/lib/libXt.so.6.0.0)
==6001== by 0x439C75D XtDispatchEventToWidget (in /usr/lib/libXt.so.6.0.0)
==6001== by 0x439CE9E (within /usr/lib/libXt.so.6.0.0)
==6001== by 0x439BE56 XtDispatchEvent (in /usr/lib/libXt.so.6.0.0)
==6001== by 0x439C003 XtAppMainLoop (in /usr/lib/libXt.so.6.0.0)
==6001== by 0x439C04E XtMainLoop (in /usr/lib/libXt.so.6.0.0)
==6001== Conditional jump or move depends on uninitialised value(s)
==6001== at 0x42811FF XmRenderTableFree (in /usr/lib/libXm.so.4.0.0)
==6001== by 0x427793C XmFontListFree (in /usr/lib/libXm.so.4.0.0)
==6001== by 0x41AC087 (within /usr/lib/libXm.so.4.0.0)
==6001== by 0x43B32FC (within /usr/lib/libXt.so.6.0.0)
==6001== by 0x43B32B2 (within /usr/lib/libXt.so.6.0.0)
==6001== by 0x43B3BD0 XtSetValues (in /usr/lib/libXt.so.6.0.0)
==6001== by 0x426CF74 _XmRC_UpdateOptionMenuCBG (in /usr/lib/libXm.so.4.0.0)
==6001== by 0x41D9418 (within /usr/lib/libXm.so.4.0.0)
==6001== by 0x43B32FC (within /usr/lib/libXt.so.6.0.0)
==6001== by 0x43B401F XtSetValues (in /usr/lib/libXt.so.6.0.0)
==6001== by 0x4372325 WcxSetValuesFromParseResSpecs (WcSetValue.c505)