[Python-modules-team] Bug#907370: TypeError: object of type 'int' has no len()

Antoine Beaupre anarcat at debian.org
Mon Aug 27 04:51:32 BST 2018


Package: python3-sh
Version: 1.11-1
Severity: grave

I found a regression in the python3-sh package. I have yet to find
exactly what is going on, but it looks to me like something changed in
Python 3.6 that broke the sh module in some way:

$ lwn get -o blog/2017-12-13-kubecon-overview.mdwn https://lwn.net/Articles/741301/
Exception in thread Thread-1:
Traceback (most recent call last):
  File "/usr/lib/python3.6/threading.py", line 916, in _bootstrap_inner
    self.run()
  File "/usr/lib/python3.6/threading.py", line 864, in run
    self._target(*self._args, **self._kwargs)
  File "/usr/lib/python3/dist-packages/sh.py", line 1453, in input_thread
    done = stdin.write()
  File "/usr/lib/python3/dist-packages/sh.py", line 1799, in write
    self.log.debug("got chunk size %d: %r", len(proc_chunk),
TypeError: object of type 'int' has no len()

The source for the `lwn` command is here:

https://gitlab.com/anarcat/lwn/blob/master/lwn.py

It's totally unclear to me, from the backtrace, from *where* exactly
sh is being called, so I am having a hard time writing a
reproducer... But I am *guessing* it's this call:

    result = sh.pandoc(filter_args, _in=content)

But really, I have no frigging clue.

Any brilliant idea of what could possibly be going on here? This used
to work fine in Debian stretch (which has the same version of
python3-sh, so probably no change there).

My best guess so far is something changed in some standard library,
but I really have no idea...

-- System Information:
Debian Release: buster/sid
  APT prefers testing
  APT policy: (500, 'testing'), (1, 'experimental'), (1, 'unstable')
Architecture: amd64 (x86_64)

Kernel: Linux 4.17.0-1-amd64 (SMP w/4 CPU cores)
Locale: LANG=fr_CA.UTF-8, LC_CTYPE=fr_CA.UTF-8 (charmap=UTF-8), LANGUAGE=fr_CA.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /usr/bin/dash
Init: systemd (via /run/systemd/system)
LSM: AppArmor: enabled

Versions of packages python3-sh depends on:
ii  python3  3.6.5-3

python3-sh recommends no packages.

python3-sh suggests no packages.

-- debconf-show failed



More information about the Python-modules-team mailing list