Skip to content

Another Valgrind warning when indexing heterogeneous nested array (Trac #65) #549

Closed
@numpy-gitbot

Description

@numpy-gitbot

Original ticket http://projects.scipy.org/numpy/ticket/65 on 2006-04-15 by @alberts, assigned to unknown.

According to Valgrind 3.1.1, the following code performs a conditional jump or move that depends on uninitialised values:

from numpy import array
descr = [('x', 'i4', (2,))]
buffer = ([3,2],)
h = array(buffer, dtype=descr)
h['x']

Valgrind says:

==992== Conditional jump or move depends on uninitialised value(s)
==992==    at 0x454EE42: PyArray_NewFromDescr (arrayobject.c:4117)
==992==    by 0x4550909: PyArray_GetField (arraymethods.c:265)
==992==    by 0x456C074: array_subscript (arrayobject.c:2010)
==992==    by 0x456D626: array_subscript_nice (arrayobject.c:2250)
==992==    by 0x2C2A21: PyObject_GetItem (in /usr/lib/libpython2.4.so.1.0)
==992==    by 0x321CBE: PyEval_EvalFrame (in /usr/lib/libpython2.4.so.1.0)
==992==    by 0x324EF7: PyEval_EvalCodeEx (in /usr/lib/libpython2.4.so.1.0)
==992==    by 0x325227: PyEval_EvalCode (in /usr/lib/libpython2.4.so.1.0)
==992==    by 0x341559: (within /usr/lib/libpython2.4.so.1.0)
==992==    by 0x3427D1: PyRun_SimpleFileExFlags (in /usr/lib/libpython2.4.so.1.0)
==992==    by 0x343268: PyRun_AnyFileExFlags (in /usr/lib/libpython2.4.so.1.0)
==992==    by 0x34916C: Py_Main (in /usr/lib/libpython2.4.so.1.0)

Note that this stack trace differs slightly from the one in ticket #485, but both errors might be caused by the same bug.

Tested with !NumPy 0.9.7.2358.

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions