Package: pychecker
Version: 0.8.19-2

pychecker Version 0.8.19 crashes with an "INTERNAL ERROR" if it encounters a python statements where an assignment to a slice of a list is done. The following piece of code provokes the error:

  def function():
    l = []
    l[0:0] = (1,)

Here is an example:

/bin/echo -e "def function():\n  l = []\n  l[0:0] = (1,)\n" > 
pychecker_failure.py
pychecker pychecker_failure.py
---
Processing module pychecker_failure (pychecker_failure.py)...

Warnings...

pychecker_failure.py:3: INTERNAL ERROR -- STOPPED PROCESSING FUNCTION --
        Traceback (most recent call last):
          File "/usr/lib/pymodules/python2.6/pychecker/warn.py", line 242, in 
_checkFunction
            _checkCode(code, codeSource)
          File "/usr/lib/pymodules/python2.6/pychecker/warn.py", line 155, in 
_checkCode
            raise NotImplementedError('No DISPATCH member for op %r' % op)
        NotImplementedError: No DISPATCH member for op 43
---

This is severe bug since pychecker recursively checks module dependencies. If you have a few slice assignments in one module of a big project, you cannot any longer use pychecker on any python file of the whole project.

Work-around: this error does not occur with the previous version 0.8.18-7 which is available in Debian stable. Users of Debian testing should replace pychecker with the package from stable and set the stable version on 'hold'.
  apt-get --reinstall install -t stable pychecker
  echo pychecker hold | dpkg --set-selections
  dpkg -l pychecker

--
Peter Slickers




--
To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org

Reply via email to