On Fri, Feb 10, 2017 at 8:11 PM, Faidon Liambotis <parav...@debian.org> wrote: > Source: diamond > Version: 4.0.515-3 > Severity: serious
is this really a serious bug which `is a severe violation of Debian policy (roughly, it violates a must or required directive), or, in the package maintainer's or release manager's opinion, makes the package unsuitable for release.` ? > > In my setup, diamond takes a long time to stop after getting a SIGTERM > from systemd, thus slowing down the overall shutdown of the system by > about a minute (and also making it slow to perform restarts). When it > finally does stop, an error message about QueueHandler is emitted. The > issue is reproducible without systemd too -- run diamond in one terminal > with --log-stdout --foreground and then run kill from another terminal > (Ctrl+C i.e. SIGINT won't reproduce it). This happens even with a > relatively minimal config, e.g. without any Collectors defined and only > with a single GraphiteHandler. > > What I see here is: > root@d-i-test:/etc/diamond# diamond --log-stdout --foreground > 1486775151.66 [MainProcess:9336:INFO] Changed UID: 0 () GID: 0 (). > 1486775152.06 [MainProcess:9336:DEBUG] metric_queue_size: 16384 > 1486775152.06 [MainProcess:9336:DEBUG] Loading Handler > diamond.handler.graphite.GraphiteHandler > 1486775152.1 [MainProcess:9336:DEBUG] GraphiteHandler: Established > connection to graphite server 10.192.16.33:2003. > 1486775152.11 [Handlers:9347:DEBUG] Starting process Handlers > 1486775153.12 [TCPCollector:9350:DEBUG] Starting > 1486775153.12 [TCPCollector:9350:DEBUG] Interval: 60.0 seconds > 1486775153.13 [TCPCollector:9350:DEBUG] Max collection time: 28 > seconds > 1486775153.16 [TCPCollector:9350:DEBUG] Collection took 32 ms > 1486775154.14 [NetworkCollector:9353:DEBUG] Starting > 1486775154.14 [NetworkCollector:9353:DEBUG] Interval: 60.0 seconds > 1486775154.14 [NetworkCollector:9353:DEBUG] Max collection time: 19 > seconds > 1486775154.16 [NetworkCollector:9353:DEBUG] Collection took 16 ms > 1486775155.15 [DiskUsageCollector:9356:DEBUG] Starting > 1486775155.15 [DiskUsageCollector:9356:DEBUG] Interval: 60.0 seconds > 1486775155.15 [DiskUsageCollector:9356:DEBUG] Max collection time: 48 > seconds > 1486775155.15 [DiskUsageCollector:9356:DEBUG] Collection took 1 ms > 1486775156.16 [CPUCollector:9359:DEBUG] Starting > 1486775156.16 [CPUCollector:9359:DEBUG] Interval: 60.0 seconds > 1486775156.16 [CPUCollector:9359:DEBUG] Max collection time: 43 > seconds > 1486775156.17 [CPUCollector:9359:DEBUG] Collection took 7 ms > <send kill from another terminal> > 1486775186.96 [MainProcess:9336:INFO] Signal Received: 15 > 1486775186.96 [NetworkCollector:9353:INFO] Signal Received: 15 > 1486775186.96 [Handlers:9347:INFO] Signal Received: 15 > 1486775186.96 [DiskUsageCollector:9356:INFO] Signal Received: 15 > 1486775186.96 [TCPCollector:9350:INFO] Signal Received: 15 > 1486775186.96 [CPUCollector:9359:INFO] Signal Received: 15 > 1486775186.97 [NetworkCollector:9353:INFO] Signal Received: 15 > 1486775186.97 [CPUCollector:9359:INFO] Signal Received: 15 > <long wait> > Exception socket.error: error(111, 'Connection refused') in <bound method > QueueHandler.__del__ of <diamond.handler.queue.QueueHandler object at > 0x7f8fa53bff10>> ignored > > While this long wait is happening, strace shows diamond is busylooping > running this over and over (apparently python multiprocessing related): > connect(4, {sa_family=AF_UNIX, sun_path="/tmp/pymp-xq1DKs/listener-8_h02F"}, > 34) = -1 ECONNREFUSED (Connection refused) > close(4) = 0 > select(0, NULL, NULL, NULL, {tv_sec=0, tv_usec=10000}) = 0 (Timeout) > socket(AF_UNIX, SOCK_STREAM, 0) = 4 > fcntl(4, F_GETFL) = 0x2 (flags O_RDWR) > fcntl(4, F_SETFL, O_RDWR) = 0 i will forward this upstream -- Sandro "morph" Tosi My website: http://sandrotosi.me/ Me at Debian: http://wiki.debian.org/SandroTosi G+: https://plus.google.com/u/0/+SandroTosi