Package: circus
Version: 0.12.1+dfsg-1
Severity: normal
Tags: patch upstream

I've found that circus fails to start with python-configparser installed:

  Traceback (most recent call last):
    File "/usr/bin/circusd", line 9, in <module>
      load_entry_point('circus==0.12.1', 'console_scripts', 'circusd')()
    File "/usr/lib/python2.7/dist-packages/circus/circusd.py", line 126, in main
      arbiter = Arbiter.load_from_config(args.config)
    File "/usr/lib/python2.7/dist-packages/circus/arbiter.py", line 423, in 
load_from_config
      cfg = get_config(config_file)
    File "/usr/lib/python2.7/dist-packages/circus/config.py", line 135, in 
get_config
      cfg, cfg_files_read = read_config(config_file)
    File "/usr/lib/python2.7/dist-packages/circus/config.py", line 123, in 
read_config
      for include_dir in cfg.dget('circus', 'include_dir', '').split():
    File "/usr/lib/python2.7/dist-packages/circus/config.py", line 75, in dget
      value = self.get(section, option)
    File "/usr/lib/python2.7/dist-packages/circus/config.py", line 60, in get
      res = StrictConfigParser.get(self, section, option)
    File "/usr/lib/python2.7/dist-packages/backports/configparser/__init__.py", 
line 811, in get
      d)
    File "/usr/lib/python2.7/dist-packages/backports/configparser/__init__.py", 
line 384, in before_get
      self._interpolate_some(parser, option, L, value, section, defaults, 1)
    File "/usr/lib/python2.7/dist-packages/backports/configparser/__init__.py", 
line 397, in _interpolate_some
      rawval = parser.get(section, option, raw=True, fallback=rest)
  TypeError: get() got an unexpected keyword argument 'raw'

This error puzzles me because StrictConfigParser inherits directly
from ConfigParser and does not redefine get to reject keyword
arguments such as raw; perhaps I'm missing something.

At any rate, I've found it possible to avoid the problem by rebuilding
with the attached patch, which sticks with the stock 2.x ConfigParser
module.

Could you please take a look?

Thanks!

-- System Information:
Debian Release: buster/sid
  APT prefers testing
  APT policy: (500, 'testing'), (500, 'stable'), (300, 'unstable')
Architecture: amd64 (x86_64)
Foreign Architectures: i386, x32

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

Versions of packages circus depends on:
ii  python          2.7.14-1
ii  python-iowait   0.1-1.1
ii  python-psutil   5.0.1-1+b1
ii  python-tornado  4.5.1-2+b1
ii  python-zmq      16.0.2-2+b1

Versions of packages circus recommends:
ii  python-gevent            1.2.2-2
ii  python-gevent-websocket  0.9.3-1
ii  python-yaml              3.12-1+b1

Versions of packages circus suggests:
ii  python-pygments  2.2.0+dfsg-1
pn  python-redis     <none>

-- no debconf information
--- a/circus/util.py
+++ b/circus/util.py
@@ -32,14 +32,9 @@ from tornado import concurrent
 from circus.py3compat import (
     integer_types, bytestring, raise_with_tb, text_type
 )
-try:
-    from configparser import (
-        ConfigParser, MissingSectionHeaderError, ParsingError, DEFAULTSECT
-    )
-except ImportError:
-    from ConfigParser import (  # NOQA
-        ConfigParser, MissingSectionHeaderError, ParsingError, DEFAULTSECT
-    )
+from ConfigParser import (  # NOQA
+    ConfigParser, MissingSectionHeaderError, ParsingError, DEFAULTSECT
+)
 try:
     from urllib.parse import urlparse
 except ImportError:

Reply via email to