[PyQt] BUG: sip instance attribute error: Re: [eric4] python qscintilla traceback with current snapshot also

Hans-Peter Jansen hpj at urpla.net
Thu Feb 3 09:33:28 GMT 2011


[Oops, missing recipients..]

On Wednesday 02 February 2011, 23:12:07 Phil Thompson wrote:
> On Wed, 2 Feb 2011 22:59:27 +0100, "Hans-Peter Jansen"
> <hpj at urpla.net>
> >
> > Could you do me a flavor and call
> > python -v sipinstance.py (attached again) for your 2.6 setup.
>
> Attached.

Thanks, but nothing stands out.

Well, the issue survived the reboot, hence it is stable, reproducible, 
and is definitely related to sip (but not in all settings, obviously). 

Checking the build logs uncovered a warning, I never noticed before:

gcc -c -pipe -march=i586 -mtune=i686  -fmessage-length=0 -O2 -Wall -D_FORTIFY_SOURCE=2 
-fstack-protector  -funwind-tables -fasynchronous-unwind-tables -g -O2 -w -DNDEBUG -I. -o  parser.o parser.c
/home/phil/hg/sip/sip-4.12.1/sipgen/parser.c: In function 'yyparse':
/home/phil/hg/sip/sip-4.12.1/sipgen/parser.y:3070: note: 'sname' was  declared here

but since you supply the parser.c, any adverse effects would have bitten 
you, too.

My last resort are compiler options, but even imaging a compiler switch, 
that is able to change the code behavior in such fundamental ways sounds 
pretty unlikely. Given, that the rest of sip seems to do fine only adds 
to the fact of being pretty esoteric. Anyway, my gcc is 4.3.3.

I already send you the warnings that the automatic python code check
generated that you related to the unfixable python interface. When 
looking over the list, it seems to have grown some WARNINGs and 
(must fix!) attributions, that might be worth looking into again:

/usr/src/packages/BUILD/sip-4.12.1/sipgen/gencode.c:4449: 'PyUnicode_DecodeASCII' uses Py_ssize_t for input parameters
/usr/src/packages/BUILD/sip-4.12.1/sipgen/gencode.c:4459: 'PyUnicode_DecodeASCII' uses Py_ssize_t for input parameters
/usr/src/packages/BUILD/sip-4.12.1/sipgen/gencode.c:4467: 'PyUnicode_DecodeLatin1' uses Py_ssize_t for input parameters
/usr/src/packages/BUILD/sip-4.12.1/sipgen/gencode.c:4477: 'PyUnicode_DecodeLatin1' uses Py_ssize_t for input parameters
/usr/src/packages/BUILD/sip-4.12.1/sipgen/gencode.c:4488: 'PyUnicode_DecodeUTF8' uses Py_ssize_t for input parameters
/usr/src/packages/BUILD/sip-4.12.1/sipgen/gencode.c:4502: 'PyUnicode_DecodeUTF8' uses Py_ssize_t for input parameters
/usr/src/packages/BUILD/sip-4.12.1/sipgen/gencode.c:4535: 'PyUnicode_FromWideChar' uses Py_ssize_t for input parameters
/usr/src/packages/BUILD/sip-4.12.1/sipgen/gencode.c:4545: 'PyUnicode_FromWideChar' uses Py_ssize_t for input parameters
/usr/src/packages/BUILD/sip-4.12.1/sipgen/gencode.c:11194: 'PyUnicode_DecodeASCII' uses Py_ssize_t for input parameters
/usr/src/packages/BUILD/sip-4.12.1/sipgen/gencode.c:11204: 'PyUnicode_DecodeASCII' uses Py_ssize_t for input parameters
/usr/src/packages/BUILD/sip-4.12.1/sipgen/gencode.c:11213: 'PyUnicode_DecodeLatin1' uses Py_ssize_t for input parameters
/usr/src/packages/BUILD/sip-4.12.1/sipgen/gencode.c:11223: 'PyUnicode_DecodeLatin1' uses Py_ssize_t for input parameters
/usr/src/packages/BUILD/sip-4.12.1/sipgen/gencode.c:11235: 'PyUnicode_DecodeUTF8' uses Py_ssize_t for input parameters
/usr/src/packages/BUILD/sip-4.12.1/sipgen/gencode.c:11250: 'PyUnicode_DecodeUTF8' uses Py_ssize_t for input parameters
/usr/src/packages/BUILD/sip-4.12.1/sipgen/gencode.c:11282: 'PyUnicode_FromWideChar' uses Py_ssize_t for input parameters
/usr/src/packages/BUILD/sip-4.12.1/sipgen/gencode.c:11292: 'PyUnicode_FromWideChar' uses Py_ssize_t for input parameters
/usr/src/packages/BUILD/sip-4.12.1/siplib/descriptors.c:94: 'PyType_GenericAlloc' uses Py_ssize_t for input parameters
/usr/src/packages/BUILD/sip-4.12.1/siplib/descriptors.c:218: 'PyType_GenericAlloc' uses Py_ssize_t for input parameters
/usr/src/packages/BUILD/sip-4.12.1/siplib/threads.c:107: 'PyTuple_New' uses Py_ssize_t for input parameters
/usr/src/packages/BUILD/sip-4.12.1/siplib/voidptr.c:127: 'PyInt_FromSsize_t' uses Py_ssize_t for input parameters
/usr/src/packages/BUILD/sip-4.12.1/siplib/voidptr.c:144:  'PyInt_AsSsize_t' uses Py_ssize_t for return values (may need overflow  check)
/usr/src/packages/BUILD/sip-4.12.1/siplib/voidptr.c:432: WARNING:  'PySlice_GetIndicesEx' uses Py_ssize_t for output parameters (must fix!)
/usr/src/packages/BUILD/sip-4.12.1/siplib/voidptr.c:489: WARNING:  'PySlice_GetIndicesEx' uses Py_ssize_t for output parameters (must fix!)
/usr/src/packages/BUILD/sip-4.12.1/siplib/voidptr.c:647: WARNING: 'getcharbufferproc' must be replaced with 'charbufferproc'
/usr/src/packages/BUILD/sip-4.12.1/siplib/siplib.c:131: 'inquiry' should be perhaps replaced with 'lenfunc'
/usr/src/packages/BUILD/sip-4.12.1/siplib/siplib.c:1741: 'PyTuple_New' uses Py_ssize_t for input parameters
/usr/src/packages/BUILD/sip-4.12.1/siplib/siplib.c:1790: 'PyTuple_New' uses Py_ssize_t for input parameters
/usr/src/packages/BUILD/sip-4.12.1/siplib/siplib.c:1861: 'PyUnicode_FromWideChar' uses Py_ssize_t for input parameters
/usr/src/packages/BUILD/sip-4.12.1/siplib/siplib.c:1895: 'PyString_FromStringAndSize' uses Py_ssize_t for input parameters
/usr/src/packages/BUILD/sip-4.12.1/siplib/siplib.c:1906: 'PyUnicode_FromWideChar' uses Py_ssize_t for input parameters
/usr/src/packages/BUILD/sip-4.12.1/siplib/siplib.c:2020: 'PyUnicode_FromWideChar' uses Py_ssize_t for input parameters
/usr/src/packages/BUILD/sip-4.12.1/siplib/siplib.c:2866: 'PyTuple_New' uses Py_ssize_t for input parameters
/usr/src/packages/BUILD/sip-4.12.1/siplib/siplib.c:3028: 'PyList_New' uses Py_ssize_t for input parameters
/usr/src/packages/BUILD/sip-4.12.1/siplib/siplib.c:3089: 'PyTuple_New' uses Py_ssize_t for input parameters
/usr/src/packages/BUILD/sip-4.12.1/siplib/siplib.c:3172: 'PyDict_Size'  uses Py_ssize_t for return values (may need overflow check)
/usr/src/packages/BUILD/sip-4.12.1/siplib/siplib.c:3266: WARNING:  'PyDict_Next' uses Py_ssize_t for output parameters (must fix!)
/usr/src/packages/BUILD/sip-4.12.1/siplib/siplib.c:3416: WARNING:  'PyDict_Next' uses Py_ssize_t for output parameters (must fix!)
/usr/src/packages/BUILD/sip-4.12.1/siplib/siplib.c:4960: 'PyTuple_New' uses Py_ssize_t for input parameters
/usr/src/packages/BUILD/sip-4.12.1/siplib/siplib.c:4997:  'PySequence_Size' uses Py_ssize_t for return values (may need overflow  check)
/usr/src/packages/BUILD/sip-4.12.1/siplib/siplib.c:5007: 'PySequence_GetItem' uses Py_ssize_t for input parameters
/usr/src/packages/BUILD/sip-4.12.1/siplib/siplib.c:5031:  'PySequence_Size' uses Py_ssize_t for return values (may need overflow  check)
/usr/src/packages/BUILD/sip-4.12.1/siplib/siplib.c:5062: 'PySequence_GetItem' uses Py_ssize_t for input parameters
/usr/src/packages/BUILD/sip-4.12.1/siplib/siplib.c:5101: 'PyTuple_New' uses Py_ssize_t for input parameters
/usr/src/packages/BUILD/sip-4.12.1/siplib/siplib.c:5290: 'PyTuple_Pack' uses Py_ssize_t for input parameters
/usr/src/packages/BUILD/sip-4.12.1/siplib/siplib.c:5362: 'PyTuple_Pack' uses Py_ssize_t for input parameters
/usr/src/packages/BUILD/sip-4.12.1/siplib/siplib.c:5438: 'PyTuple_Pack' uses Py_ssize_t for input parameters
/usr/src/packages/BUILD/sip-4.12.1/siplib/siplib.c:5455: 'PyTuple_New' uses Py_ssize_t for input parameters
/usr/src/packages/BUILD/sip-4.12.1/siplib/siplib.c:5832: 'PyTuple_Pack' uses Py_ssize_t for input parameters
/usr/src/packages/BUILD/sip-4.12.1/siplib/siplib.c:5834: 'PyTuple_Pack' uses Py_ssize_t for input parameters
/usr/src/packages/BUILD/sip-4.12.1/siplib/siplib.c:5859: 'PyTuple_Pack' uses Py_ssize_t for input parameters
/usr/src/packages/BUILD/sip-4.12.1/siplib/siplib.c:6653: 'PyString_FromStringAndSize' uses Py_ssize_t for input parameters
/usr/src/packages/BUILD/sip-4.12.1/siplib/siplib.c:7171: 'PyUnicode_DecodeASCII' uses Py_ssize_t for input parameters
/usr/src/packages/BUILD/sip-4.12.1/siplib/siplib.c:7175: 'PyUnicode_DecodeLatin1' uses Py_ssize_t for input parameters
/usr/src/packages/BUILD/sip-4.12.1/siplib/siplib.c:7182: 'PyUnicode_DecodeUTF8' uses Py_ssize_t for input parameters
/usr/src/packages/BUILD/sip-4.12.1/siplib/siplib.c:7219: 'PyUnicode_DecodeASCII' uses Py_ssize_t for input parameters
/usr/src/packages/BUILD/sip-4.12.1/siplib/siplib.c:7223: 'PyUnicode_DecodeLatin1' uses Py_ssize_t for input parameters
/usr/src/packages/BUILD/sip-4.12.1/siplib/siplib.c:7230: 'PyUnicode_DecodeUTF8' uses Py_ssize_t for input parameters
/usr/src/packages/BUILD/sip-4.12.1/siplib/siplib.c:8636: 'PyTuple_Pack' uses Py_ssize_t for input parameters
/usr/src/packages/BUILD/sip-4.12.1/siplib/siplib.c:8681: 'PyInt_FromSsize_t' uses Py_ssize_t for input parameters
/usr/src/packages/BUILD/sip-4.12.1/siplib/siplib.c:8852: 'PyTuple_New' uses Py_ssize_t for input parameters
/usr/src/packages/BUILD/sip-4.12.1/siplib/siplib.c:9319: 'PyInt_FromSsize_t' uses Py_ssize_t for input parameters
/usr/src/packages/BUILD/sip-4.12.1/siplib/siplib.c:9497: 'inquiry' should be perhaps replaced with 'lenfunc'
/usr/src/packages/BUILD/sip-4.12.1/siplib/siplib.c:9656: WARNING: 'getreadbufferproc' must be replaced with 'readbufferproc'
/usr/src/packages/BUILD/sip-4.12.1/siplib/siplib.c:9663: WARNING: 'getwritebufferproc' must be replaced with 'writebufferproc'
/usr/src/packages/BUILD/sip-4.12.1/siplib/siplib.c:9670: WARNING: 'getsegcountproc' must be replaced with 'segcountproc'
/usr/src/packages/BUILD/sip-4.12.1/siplib/siplib.c:9677: WARNING: 'getcharbufferproc' must be replaced with 'charbufferproc'
/usr/src/packages/BUILD/sip-4.12.1/siplib/siplib.c:9732: 'inquiry' should be perhaps replaced with 'lenfunc'
/usr/src/packages/BUILD/sip-4.12.1/siplib/siplib.c:9738: 'inquiry' should be perhaps replaced with 'lenfunc'
/usr/src/packages/BUILD/sip-4.12.1/siplib/siplib.c:9772: WARNING: 'intargfunc' must be replaced with 'ssizeargfunc'
/usr/src/packages/BUILD/sip-4.12.1/siplib/siplib.c:9851: WARNING: 'intargfunc' must be replaced with 'ssizeargfunc'
/usr/src/packages/BUILD/sip-4.12.1/siplib/siplib.c:9947: 'inquiry' should be perhaps replaced with 'lenfunc'
/usr/src/packages/BUILD/sip-4.12.1/siplib/siplib.c:9949: 'inquiry' should be perhaps replaced with 'lenfunc'
/usr/src/packages/BUILD/sip-4.12.1/siplib/siplib.c:10523: WARNING:  'PyObject_AsCharBuffer' uses Py_ssize_t for output parameters (must  fix!)
/usr/src/packages/BUILD/sip-4.12.1/siplib/siplib.c:10543: WARNING:  'PyObject_AsCharBuffer' uses Py_ssize_t for output parameters (must  fix!)
/usr/src/packages/BUILD/sip-4.12.1/siplib/siplib.c:10665:  'PyUnicode_AsWideChar' uses Py_ssize_t for return values (may need  overflow check)
/usr/src/packages/BUILD/sip-4.12.1/siplib/siplib.c:10716:  'PyUnicode_AsWideChar' uses Py_ssize_t for return values (may need  overflow check)
/usr/src/packages/BUILD/sip-4.12.1/siplib/siplib.c:10772:  'PyUnicode_AsWideChar' uses Py_ssize_t for return values (may need  overflow check)
/usr/src/packages/BUILD/sip-4.12.1/siplib/qtlib.c:282: 'PyTuple_GetSlice' uses Py_ssize_t for input parameters


Other than that, I'm pretty baffled at the moment. How could I debug 
this issue any further? If I'm going to try bisecting it, would you 
think, that rebuilding sip is sufficient (supposed, that 4.12 will 
not be affected, and hence the issue won't cross library version 
changes)?

Begging-for-ideas-ly-yours,
Pete


More information about the PyQt mailing list