libcups attempted to connect to daemon endlessly if there's no daemon running

CUPS 2.2rc1
Ubuntu 16.10
use the sample code from document:
#include <stdio.h>
#include <cups/cups.h>

int main(void)
{
  int i;
  cups_dest_t *dests, *dest;
  int num_dests = cupsGetDests(&dests);

  for (i = num_dests, dest = dests; i > 0; i --, dest ++)
  {
    if (dest->instance)
      printf("%s/%s\n", dest->name, dest->instance);
    else
      puts(dest->name);
  }

  return (0);
}

the strace output:
execve("./simple", ["./simple"], [/* 59 vars */]) = 0
brk(NULL)                               = 0x56002ba53000
access("/etc/ld.so.nohwcap", F_OK)      = -1 ENOENT (No such file or directory)
mmap(NULL, 12288, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7fcb8c523000
access("/etc/ld.so.preload", R_OK)      = -1 ENOENT (No such file or directory)
open("/etc/ld.so.cache", O_RDONLY|O_CLOEXEC) = 3
fstat(3, {st_mode=S_IFREG|0644, st_size=121385, ...}) = 0
mmap(NULL, 121385, PROT_READ, MAP_PRIVATE, 3, 0) = 0x7fcb8c505000
close(3)                                = 0
access("/etc/ld.so.nohwcap", F_OK)      = -1 ENOENT (No such file or directory)
open("/usr/lib/x86_64-linux-gnu/libcups.so.2", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\0\267\1\0\0\0\0\0"..., 832) = 832
fstat(3, {st_mode=S_IFREG|0644, st_size=542672, ...}) = 0
mmap(NULL, 2638408, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7fcb8c07d000
mprotect(0x7fcb8c0fa000, 2093056, PROT_NONE) = 0
mmap(0x7fcb8c2f9000, 36864, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x7c000) = 0x7fcb8c2f9000
close(3)                                = 0
access("/etc/ld.so.nohwcap", F_OK)      = -1 ENOENT (No such file or directory)
open("/lib/x86_64-linux-gnu/libc.so.6", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\2\1\1\3\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\20\5\2\0\0\0\0\0"..., 832) = 832
fstat(3, {st_mode=S_IFREG|0755, st_size=1856752, ...}) = 0
mmap(NULL, 3959200, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7fcb8bcb6000
mprotect(0x7fcb8be73000, 2097152, PROT_NONE) = 0
mmap(0x7fcb8c073000, 24576, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x1bd000) = 0x7fcb8c073000
mmap(0x7fcb8c079000, 14752, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x7fcb8c079000
close(3)                                = 0
access("/etc/ld.so.nohwcap", F_OK)      = -1 ENOENT (No such file or directory)
open("/usr/lib/x86_64-linux-gnu/libgssapi_krb5.so.2", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\20\265\0\0\0\0\0\0"..., 832) = 832
fstat(3, {st_mode=S_IFREG|0644, st_size=301376, ...}) = 0
mmap(NULL, 2396960, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7fcb8ba6c000
mprotect(0x7fcb8bab3000, 2097152, PROT_NONE) = 0
mmap(0x7fcb8bcb3000, 12288, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x47000) = 0x7fcb8bcb3000
close(3)                                = 0
access("/etc/ld.so.nohwcap", F_OK)      = -1 ENOENT (No such file or directory)
open("/usr/lib/x86_64-linux-gnu/libgnutls.so.30", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\200f\2\0\0\0\0\0"..., 832) = 832
fstat(3, {st_mode=S_IFREG|0644, st_size=1412736, ...}) = 0
mmap(NULL, 3513152, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7fcb8b712000
mprotect(0x7fcb8b85e000, 2097152, PROT_NONE) = 0
mmap(0x7fcb8ba5e000, 53248, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x14c000) = 0x7fcb8ba5e000
mmap(0x7fcb8ba6b000, 2880, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x7fcb8ba6b000
close(3)                                = 0
access("/etc/ld.so.nohwcap", F_OK)      = -1 ENOENT (No such file or directory)
open("/usr/lib/x86_64-linux-gnu/libavahi-common.so.3", O_RDONLY|O_CLOEXEC) = 3
read(3<EMAIL_ADDRESS>832) = 832
fstat(3, {st_mode=S_IFREG|0644, st_size=47952, ...}) = 0
mmap(NULL, 2143216, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7fcb8b506000
mprotect(0x7fcb8b511000, 2093056, PROT_NONE) = 0
mmap(0x7fcb8b710000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0xa000) = 0x7fcb8b710000
close(3)                                = 0
access("/etc/ld.so.nohwcap", F_OK)      = -1 ENOENT (No such file or directory)
open("/usr/lib/x86_64-linux-gnu/libavahi-client.so.3", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\2206\0\0\0\0\0\0"..., 832) = 832
fstat(3, {st_mode=S_IFREG|0644, st_size=68512, ...}) = 0
mmap(NULL, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7fcb8c503000
mmap(NULL, 2163576, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7fcb8b2f5000
mprotect(0x7fcb8b305000, 2093056, PROT_NONE) = 0
mmap(0x7fcb8b504000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0xf000) = 0x7fcb8b504000
close(3)                                = 0
access("/etc/ld.so.nohwcap", F_OK)      = -1 ENOENT (No such file or directory)
open("/lib/x86_64-linux-gnu/libpthread.so.0", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\340`\0\0\0\0\0\0"..., 832) = 832
fstat(3, {st_mode=S_IFREG|0755, st_size=142456, ...}) = 0
mmap(NULL, 2217000, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7fcb8b0d7000
mprotect(0x7fcb8b0ef000, 2097152, PROT_NONE) = 0
mmap(0x7fcb8b2ef000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x18000) = 0x7fcb8b2ef000
mmap(0x7fcb8b2f1000, 13352, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x7fcb8b2f1000
close(3)                                = 0
access("/etc/ld.so.nohwcap", F_OK)      = -1 ENOENT (No such file or directory)
open("/lib/x86_64-linux-gnu/libz.so.1", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\260\35\0\0\0\0\0\0"..., 832) = 832
fstat(3, {st_mode=S_IFREG|0644, st_size=104864, ...}) = 0
mmap(NULL, 2199848, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7fcb8aebd000
mprotect(0x7fcb8aed6000, 2093056, PROT_NONE) = 0
mmap(0x7fcb8b0d5000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x18000) = 0x7fcb8b0d5000
close(3)                                = 0
access("/etc/ld.so.nohwcap", F_OK)      = -1 ENOENT (No such file or directory)
open("/lib/x86_64-linux-gnu/libm.so.6", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\2\1\1\3\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\20W\0\0\0\0\0\0"..., 832) = 832
fstat(3, {st_mode=S_IFREG|0644, st_size=1088952, ...}) = 0
mmap(NULL, 3178744, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7fcb8abb4000
mprotect(0x7fcb8acbc000, 2093056, PROT_NONE) = 0
mmap(0x7fcb8aebb000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x107000) = 0x7fcb8aebb000
close(3)                                = 0
access("/etc/ld.so.nohwcap", F_OK)      = -1 ENOENT (No such file or directory)
open("/usr/lib/x86_64-linux-gnu/libkrb5.so.3", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\240\24\2\0\0\0\0\0"..., 832) = 832
fstat(3, {st_mode=S_IFREG|0644, st_size=864584, ...}) = 0
mmap(NULL, 2960384, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7fcb8a8e1000
mprotect(0x7fcb8a9a5000, 2093056, PROT_NONE) = 0
mmap(0x7fcb8aba4000, 65536, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0xc3000) = 0x7fcb8aba4000
close(3)                                = 0
access("/etc/ld.so.nohwcap", F_OK)      = -1 ENOENT (No such file or directory)
open("/usr/lib/x86_64-linux-gnu/libk5crypto.so.3", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0P>\0\0\0\0\0\0"..., 832) = 832
fstat(3, {st_mode=S_IFREG|0644, st_size=186824, ...}) = 0
mmap(NULL, 2285656, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7fcb8a6b2000
mprotect(0x7fcb8a6de000, 2093056, PROT_NONE) = 0
mmap(0x7fcb8a8dd000, 12288, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x2b000) = 0x7fcb8a8dd000
mmap(0x7fcb8a8e0000, 88, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x7fcb8a8e0000
close(3)                                = 0
access("/etc/ld.so.nohwcap", F_OK)      = -1 ENOENT (No such file or directory)
open("/lib/x86_64-linux-gnu/libcom_err.so.2", O_RDONLY|O_CLOEXEC) = 3
read(3<EMAIL_ADDRESS>832) = 832
fstat(3, {st_mode=S_IFREG|0644, st_size=14248, ...}) = 0
mmap(NULL, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7fcb8c501000
mmap(NULL, 2109608, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7fcb8a4ae000
mprotect(0x7fcb8a4b1000, 2093056, PROT_NONE) = 0
mmap(0x7fcb8a6b0000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x2000) = 0x7fcb8a6b0000
close(3)                                = 0
access("/etc/ld.so.nohwcap", F_OK)      = -1 ENOENT (No such file or directory)
open("/usr/lib/x86_64-linux-gnu/libkrb5support.so.0", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\320&\0\0\0\0\0\0"..., 832) = 832
fstat(3, {st_mode=S_IFREG|0644, st_size=43664, ...}) = 0
mmap(NULL, 2139080, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7fcb8a2a3000
mprotect(0x7fcb8a2ad000, 2093056, PROT_NONE) = 0
mmap(0x7fcb8a4ac000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x9000) = 0x7fcb8a4ac000
close(3)                                = 0
access("/etc/ld.so.nohwcap", F_OK)      = -1 ENOENT (No such file or directory)
open("/usr/lib/x86_64-linux-gnu/libp11-kit.so.0", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\260\21\1\0\0\0\0\0"..., 832) = 832
fstat(3, {st_mode=S_IFREG|0644, st_size=407592, ...}) = 0
mmap(NULL, 2503856, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7fcb8a03f000
mprotect(0x7fcb8a098000, 2093056, PROT_NONE) = 0
mmap(0x7fcb8a297000, 49152, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x58000) = 0x7fcb8a297000
close(3)                                = 0
access("/etc/ld.so.nohwcap", F_OK)      = -1 ENOENT (No such file or directory)
open("/lib/x86_64-linux-gnu/libidn.so.11", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\320*\0\0\0\0\0\0"..., 832) = 832
fstat(3, {st_mode=S_IFREG|0644, st_size=206872, ...}) = 0
mmap(NULL, 2302000, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7fcb89e0c000
mprotect(0x7fcb89e3d000, 2097152, PROT_NONE) = 0
mmap(0x7fcb8a03d000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x31000) = 0x7fcb8a03d000
close(3)                                = 0
access("/etc/ld.so.nohwcap", F_OK)      = -1 ENOENT (No such file or directory)
open("/usr/lib/x86_64-linux-gnu/libtasn1.so.6", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\300(\0\0\0\0\0\0"..., 832) = 832
fstat(3, {st_mode=S_IFREG|0644, st_size=75776, ...}) = 0
mmap(NULL, 2171624, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7fcb89bf9000
mprotect(0x7fcb89c0a000, 2097152, PROT_NONE) = 0
mmap(0x7fcb89e0a000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x11000) = 0x7fcb89e0a000
close(3)                                = 0
access("/etc/ld.so.nohwcap", F_OK)      = -1 ENOENT (No such file or directory)
open("/usr/lib/x86_64-linux-gnu/libnettle.so.6", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0`~\0\0\0\0\0\0"..., 832) = 832
fstat(3, {st_mode=S_IFREG|0644, st_size=219336, ...}) = 0
mmap(NULL, 2314384, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7fcb899c3000
mprotect(0x7fcb899f7000, 2093056, PROT_NONE) = 0
mmap(0x7fcb89bf6000, 12288, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x33000) = 0x7fcb89bf6000
close(3)                                = 0
access("/etc/ld.so.nohwcap", F_OK)      = -1 ENOENT (No such file or directory)
open("/usr/lib/x86_64-linux-gnu/libhogweed.so.4", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\220e\0\0\0\0\0\0"..., 832) = 832
fstat(3, {st_mode=S_IFREG|0644, st_size=207632, ...}) = 0
mmap(NULL, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7fcb8c4ff000
mmap(NULL, 2302648, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7fcb89790000
mprotect(0x7fcb897c2000, 2093056, PROT_NONE) = 0
mmap(0x7fcb899c1000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x31000) = 0x7fcb899c1000
close(3)                                = 0
access("/etc/ld.so.nohwcap", F_OK)      = -1 ENOENT (No such file or directory)
open("/usr/lib/x86_64-linux-gnu/libgmp.so.10", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\300\223\0\0\0\0\0\0"..., 832) = 832
fstat(3, {st_mode=S_IFREG|0644, st_size=522664, ...}) = 0
mmap(NULL, 2617792, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7fcb89510000
mprotect(0x7fcb8958f000, 2093056, PROT_NONE) = 0
mmap(0x7fcb8978e000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x7e000) = 0x7fcb8978e000
close(3)                                = 0
access("/etc/ld.so.nohwcap", F_OK)      = -1 ENOENT (No such file or directory)
open("/lib/x86_64-linux-gnu/libdbus-1.so.3", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0`\244\0\0\0\0\0\0"..., 832) = 832
fstat(3, {st_mode=S_IFREG|0644, st_size=309392, ...}) = 0
mmap(NULL, 2405040, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7fcb892c4000
mprotect(0x7fcb8930e000, 2097152, PROT_NONE) = 0
mmap(0x7fcb8950e000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x4a000) = 0x7fcb8950e000
close(3)                                = 0
access("/etc/ld.so.nohwcap", F_OK)      = -1 ENOENT (No such file or directory)
open("/lib/x86_64-linux-gnu/libdl.so.2", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\200\r\0\0\0\0\0\0"..., 832) = 832
fstat(3, {st_mode=S_IFREG|0644, st_size=14608, ...}) = 0
mmap(NULL, 2109680, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7fcb890c0000
mprotect(0x7fcb890c3000, 2093056, PROT_NONE) = 0
mmap(0x7fcb892c2000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x2000) = 0x7fcb892c2000
close(3)                                = 0
access("/etc/ld.so.nohwcap", F_OK)      = -1 ENOENT (No such file or directory)
open("/lib/x86_64-linux-gnu/libkeyutils.so.1", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\300\22\0\0\0\0\0\0"..., 832) = 832
fstat(3, {st_mode=S_IFREG|0644, st_size=14256, ...}) = 0
mmap(NULL, 2109456, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7fcb88ebc000
mprotect(0x7fcb88ebf000, 2093056, PROT_NONE) = 0
mmap(0x7fcb890be000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x2000) = 0x7fcb890be000
close(3)                                = 0
access("/etc/ld.so.nohwcap", F_OK)      = -1 ENOENT (No such file or directory)
open("/lib/x86_64-linux-gnu/libresolv.so.2", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0p9\0\0\0\0\0\0"..., 832) = 832
fstat(3, {st_mode=S_IFREG|0644, st_size=101200, ...}) = 0
mmap(NULL, 2206280, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7fcb88ca1000
mprotect(0x7fcb88cb8000, 2097152, PROT_NONE) = 0
mmap(0x7fcb88eb8000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x17000) = 0x7fcb88eb8000
mmap(0x7fcb88eba000, 6728, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x7fcb88eba000
close(3)                                = 0
mmap(NULL, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7fcb8c4fd000
access("/etc/ld.so.nohwcap", F_OK)      = -1 ENOENT (No such file or directory)
open("/usr/lib/x86_64-linux-gnu/libffi.so.6", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\360\27\0\0\0\0\0\0"..., 832) = 832
fstat(3, {st_mode=S_IFREG|0644, st_size=31104, ...}) = 0
mmap(NULL, 2127368, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7fcb88a99000
mprotect(0x7fcb88aa0000, 2093056, PROT_NONE) = 0
mmap(0x7fcb88c9f000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x6000) = 0x7fcb88c9f000
close(3)                                = 0
access("/etc/ld.so.nohwcap", F_OK)      = -1 ENOENT (No such file or directory)
open("/lib/x86_64-linux-gnu/libsystemd.so.0", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\0\0\0\0\0\0\0\0"..., 832) = 832
fstat(3, {st_mode=S_IFREG|0644, st_size=544864, ...}) = 0
mmap(NULL, 549105, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7fcb8c476000
mprotect(0x7fcb8c4f7000, 4096, PROT_NONE) = 0
mmap(0x7fcb8c4f8000, 16384, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x81000) = 0x7fcb8c4f8000
mmap(0x7fcb8c4fc000, 241, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x7fcb8c4fc000
close(3)                                = 0
access("/etc/ld.so.nohwcap", F_OK)      = -1 ENOENT (No such file or directory)
open("/lib/x86_64-linux-gnu/libselinux.so.1", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\200_\0\0\0\0\0\0"..., 832) = 832
fstat(3, {st_mode=S_IFREG|0644, st_size=146672, ...}) = 0
mmap(NULL, 2250560, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7fcb88873000
mprotect(0x7fcb88896000, 2093056, PROT_NONE) = 0
mmap(0x7fcb88a95000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x22000) = 0x7fcb88a95000
mmap(0x7fcb88a97000, 5952, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x7fcb88a97000
close(3)                                = 0
access("/etc/ld.so.nohwcap", F_OK)      = -1 ENOENT (No such file or directory)
open("/lib/x86_64-linux-gnu/librt.so.1", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\340 \0\0\0\0\0\0"..., 832) = 832
fstat(3, {st_mode=S_IFREG|0644, st_size=31712, ...}) = 0
mmap(NULL, 2128832, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7fcb8866b000
mprotect(0x7fcb88672000, 2093056, PROT_NONE) = 0
mmap(0x7fcb88871000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x6000) = 0x7fcb88871000
close(3)                                = 0
access("/etc/ld.so.nohwcap", F_OK)      = -1 ENOENT (No such file or directory)
open("/lib/x86_64-linux-gnu/liblzma.so.5", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\220 \0\0\0\0\0\0"..., 832) = 832
fstat(3, {st_mode=S_IFREG|0644, st_size=141552, ...}) = 0
mmap(NULL, 2236536, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7fcb88448000
mprotect(0x7fcb8846a000, 2093056, PROT_NONE) = 0
mmap(0x7fcb88669000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x21000) = 0x7fcb88669000
close(3)                                = 0
access("/etc/ld.so.nohwcap", F_OK)      = -1 ENOENT (No such file or directory)
open("/lib/x86_64-linux-gnu/libgcrypt.so.20", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\0\253\0\0\0\0\0\0"..., 832) = 832
fstat(3, {st_mode=S_IFREG|0644, st_size=1107992, ...}) = 0
mmap(NULL, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7fcb8c474000
mmap(NULL, 3204256, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7fcb88139000
mprotect(0x7fcb88240000, 2093056, PROT_NONE) = 0
mmap(0x7fcb8843f000, 36864, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x106000) = 0x7fcb8843f000
close(3)                                = 0
access("/etc/ld.so.nohwcap", F_OK)      = -1 ENOENT (No such file or directory)
open("/lib/x86_64-linux-gnu/libpcre.so.3", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\20\25\0\0\0\0\0\0"..., 832) = 832
fstat(3, {st_mode=S_IFREG|0644, st_size=464824, ...}) = 0
mmap(NULL, 2560264, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7fcb87ec7000
mprotect(0x7fcb87f38000, 2093056, PROT_NONE) = 0
mmap(0x7fcb88137000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x70000) = 0x7fcb88137000
close(3)                                = 0
access("/etc/ld.so.nohwcap", F_OK)      = -1 ENOENT (No such file or directory)
open("/lib/x86_64-linux-gnu/libgpg-error.so.0", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\320(\0\0\0\0\0\0"..., 832) = 832
fstat(3, {st_mode=S_IFREG|0644, st_size=80496, ...}) = 0
mmap(NULL, 2175544, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7fcb87cb3000
mprotect(0x7fcb87cc5000, 2097152, PROT_NONE) = 0
mmap(0x7fcb87ec5000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x12000) = 0x7fcb87ec5000
close(3)                                = 0
mmap(NULL, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7fcb8c472000
mmap(NULL, 12288, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7fcb8c46f000
arch_prctl(ARCH_SET_FS, 0x7fcb8c46f880) = 0
mprotect(0x7fcb8c073000, 16384, PROT_READ) = 0
mprotect(0x7fcb87ec5000, 4096, PROT_READ) = 0
mprotect(0x7fcb8b2ef000, 4096, PROT_READ) = 0
mprotect(0x7fcb88137000, 4096, PROT_READ) = 0
mprotect(0x7fcb8843f000, 8192, PROT_READ) = 0
mprotect(0x7fcb892c2000, 4096, PROT_READ) = 0
mprotect(0x7fcb88669000, 4096, PROT_READ) = 0
mprotect(0x7fcb88871000, 4096, PROT_READ) = 0
mprotect(0x7fcb88a95000, 4096, PROT_READ) = 0
mprotect(0x7fcb8c4f8000, 12288, PROT_READ) = 0
mprotect(0x7fcb88c9f000, 4096, PROT_READ) = 0
mprotect(0x7fcb88eb8000, 4096, PROT_READ) = 0
mprotect(0x7fcb890be000, 4096, PROT_READ) = 0
mprotect(0x7fcb8950e000, 4096, PROT_READ) = 0
mprotect(0x7fcb8978e000, 4096, PROT_READ) = 0
mprotect(0x7fcb89bf6000, 8192, PROT_READ) = 0
mprotect(0x7fcb899c1000, 4096, PROT_READ) = 0
mprotect(0x7fcb89e0a000, 4096, PROT_READ) = 0
mprotect(0x7fcb8a03d000, 4096, PROT_READ) = 0
mprotect(0x7fcb8a297000, 40960, PROT_READ) = 0
mprotect(0x7fcb8a4ac000, 4096, PROT_READ) = 0
mprotect(0x7fcb8a6b0000, 4096, PROT_READ) = 0
mprotect(0x7fcb8a8dd000, 8192, PROT_READ) = 0
mprotect(0x7fcb8aba4000, 57344, PROT_READ) = 0
mprotect(0x7fcb8aebb000, 4096, PROT_READ) = 0
mprotect(0x7fcb8b0d5000, 4096, PROT_READ) = 0
mprotect(0x7fcb8b710000, 4096, PROT_READ) = 0
mprotect(0x7fcb8b504000, 4096, PROT_READ) = 0
mprotect(0x7fcb8ba5e000, 49152, PROT_READ) = 0
mprotect(0x7fcb8bcb3000, 4096, PROT_READ) = 0
mprotect(0x7fcb8c2f9000, 32768, PROT_READ) = 0
mprotect(0x56002b9f1000, 4096, PROT_READ) = 0
mprotect(0x7fcb8c526000, 4096, PROT_READ) = 0
munmap(0x7fcb8c505000, 121385)          = 0
set_tid_address(0x7fcb8c46fb50)         = 10817
set_robust_list(0x7fcb8c46fb60, 24)     = 0
rt_sigaction(SIGRTMIN, {0x7fcb8b0dcb80, [], SA_RESTORER|SA_SIGINFO, 0x7fcb8b0e8670}, NULL, 8) = 0
rt_sigaction(SIGRT_1, {0x7fcb8b0dcc10, [], SA_RESTORER|SA_RESTART|SA_SIGINFO, 0x7fcb8b0e8670}, NULL, 8) = 0
rt_sigprocmask(SIG_UNBLOCK, [RTMIN RT_1], NULL, 8) = 0
getrlimit(RLIMIT_STACK, {rlim_cur=8192*1024, rlim_max=RLIM64_INFINITY}) = 0
brk(NULL)                               = 0x56002ba53000
brk(0x56002ba74000)                     = 0x56002ba74000
statfs("/sys/fs/selinux", 0x7ffc3c6df060) = -1 ENOENT (No such file or directory)
statfs("/selinux", 0x7ffc3c6df060)      = -1 ENOENT (No such file or directory)
open("/proc/filesystems", O_RDONLY)     = 3
fstat(3, {st_mode=S_IFREG|0444, st_size=0, ...}) = 0
read(3, "nodev\tsysfs\nnodev\trootfs\nnodev\tr"..., 1024) = 265
read(3, "", 1024)                       = 0
close(3)                                = 0
access("/etc/selinux/config", F_OK)     = -1 ENOENT (No such file or directory)
futex(0x7fcb8a2a2460, FUTEX_WAKE_PRIVATE,<PHONE_NUMBER>) = 0
open("/dev/urandom", O_RDONLY)          = 3
fcntl(3, F_GETFD)                       = 0
fcntl(3, F_SETFD, FD_CLOEXEC)           = 0
fstat(3, {st_mode=S_IFCHR|0666, st_rdev=makedev(1, 9), ...}) = 0
clock_gettime(CLOCK_REALTIME, {1471868463, 448273608}) = 0
getrusage(0x1 /* RUSAGE_??? */, {ru_utime={0, 2000}, ru_stime={0, 2000}, ...}) = 0
read(3, "\322\334\31'\353\232\343b \366No\201_\307\357\203X\313\362\351~!'\330I\273<UH\20\252", 32) = 32
read(3, "\323\352\367\255\376r\3114\334\37080\201\31\331\16\177o\366D+\216\255@p\17\27\365\\\310zx", 32) = 32
read(3, "mk\377\3475\362\213E", 8)      = 8
stat("/etc/gnutls/default-priorities", 0x7ffc3c6df090) = -1 ENOENT (No such file or directory)
futex(0x7fcb8c301088, FUTEX_WAKE_PRIVATE,<PHONE_NUMBER>) = 0
geteuid()                               = 1000
getuid()                                = 1000
getegid()                               = 1000
getgid()                                = 1000
open("/etc/cups/client.conf", O_RDONLY) = -1 ENOENT (No such file or directory)
geteuid()                               = 1000
getuid()                                = 1000
getegid()                               = 1000
getgid()                                = 1000
open("/home/xxx/.cups/client.conf", O_RDONLY) = -1 ENOENT (No such file or directory)
access("/var/run/cups/cups.sock", R_OK) = -1 ENOENT (No such file or directory)
socket(AF_LOCAL, SOCK_STREAM|SOCK_CLOEXEC|SOCK_NONBLOCK, 0) = 4
connect(4, {sa_family=AF_LOCAL, sun_path="/var/run/nscd/socket"}, 110) = -1 ENOENT (No such file or directory)
close(4)                                = 0
socket(AF_LOCAL, SOCK_STREAM|SOCK_CLOEXEC|SOCK_NONBLOCK, 0) = 4
connect(4, {sa_family=AF_LOCAL, sun_path="/var/run/nscd/socket"}, 110) = -1 ENOENT (No such file or directory)
close(4)                                = 0
open("/etc/nsswitch.conf", O_RDONLY|O_CLOEXEC) = 4
fstat(4, {st_mode=S_IFREG|0644, st_size=491, ...}) = 0
read(4, "# /etc/nsswitch.conf\n#\n# Example"..., 4096) = 491
read(4, "", 4096)                       = 0
close(4)                                = 0
open("/etc/ld.so.cache", O_RDONLY|O_CLOEXEC) = 4
fstat(4, {st_mode=S_IFREG|0644, st_size=121385, ...}) = 0
mmap(NULL, 121385, PROT_READ, MAP_PRIVATE, 4, 0) = 0x7fcb8c505000
close(4)                                = 0
access("/etc/ld.so.nohwcap", F_OK)      = -1 ENOENT (No such file or directory)
open("/lib/x86_64-linux-gnu/libnss_compat.so.2", O_RDONLY|O_CLOEXEC) = 4
read(4, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\260\22\0\0\0\0\0\0"..., 832) = 832
fstat(4, {st_mode=S_IFREG|0644, st_size=35688, ...}) = 0
mmap(NULL, 2131040, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 4, 0) = 0x7fcb87aaa000
mprotect(0x7fcb87ab2000, 2093056, PROT_NONE) = 0
mmap(0x7fcb87cb1000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 4, 0x7000) = 0x7fcb87cb1000
close(4)                                = 0
access("/etc/ld.so.nohwcap", F_OK)      = -1 ENOENT (No such file or directory)
open("/lib/x86_64-linux-gnu/libnsl.so.1", O_RDONLY|O_CLOEXEC) = 4
read(4, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\320?\0\0\0\0\0\0"..., 832) = 832
fstat(4, {st_mode=S_IFREG|0644, st_size=93128, ...}) = 0
mmap(NULL, 2198104, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 4, 0) = 0x7fcb87891000
mprotect(0x7fcb878a7000, 2093056, PROT_NONE) = 0
mmap(0x7fcb87aa6000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 4, 0x15000) = 0x7fcb87aa6000
mmap(0x7fcb87aa8000, 6744, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x7fcb87aa8000
close(4)                                = 0
mprotect(0x7fcb87aa6000, 4096, PROT_READ) = 0
mprotect(0x7fcb87cb1000, 4096, PROT_READ) = 0
munmap(0x7fcb8c505000, 121385)          = 0
open("/etc/ld.so.cache", O_RDONLY|O_CLOEXEC) = 4
fstat(4, {st_mode=S_IFREG|0644, st_size=121385, ...}) = 0
mmap(NULL, 121385, PROT_READ, MAP_PRIVATE, 4, 0) = 0x7fcb8c505000
close(4)                                = 0
access("/etc/ld.so.nohwcap", F_OK)      = -1 ENOENT (No such file or directory)
open("/lib/x86_64-linux-gnu/libnss_nis.so.2", O_RDONLY|O_CLOEXEC) = 4
read(4, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\340 \0\0\0\0\0\0"..., 832) = 832
fstat(4, {st_mode=S_IFREG|0644, st_size=47656, ...}) = 0
mmap(NULL, 2143656, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 4, 0) = 0x7fcb87685000
mprotect(0x7fcb87690000, 2093056, PROT_NONE) = 0
mmap(0x7fcb8788f000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 4, 0xa000) = 0x7fcb8788f000
close(4)                                = 0
access("/etc/ld.so.nohwcap", F_OK)      = -1 ENOENT (No such file or directory)
open("/lib/x86_64-linux-gnu/libnss_files.so.2", O_RDONLY|O_CLOEXEC) = 4
read(4, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\320!\0\0\0\0\0\0"..., 832) = 832
fstat(4, {st_mode=S_IFREG|0644, st_size=47608, ...}) = 0
mmap(NULL, 2168600, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 4, 0) = 0x7fcb87473000
mprotect(0x7fcb8747e000, 2093056, PROT_NONE) = 0
mmap(0x7fcb8767d000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 4, 0xa000) = 0x7fcb8767d000
mmap(0x7fcb8767f000, 22296, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x7fcb8767f000
close(4)                                = 0
mprotect(0x7fcb8767d000, 4096, PROT_READ) = 0
mprotect(0x7fcb8788f000, 4096, PROT_READ) = 0
munmap(0x7fcb8c505000, 121385)          = 0
open("/etc/passwd", O_RDONLY|O_CLOEXEC) = 4
lseek(4, 0, SEEK_CUR)                   = 0
fstat(4, {st_mode=S_IFREG|0644, st_size=2040, ...}) = 0
mmap(NULL, 2040, PROT_READ, MAP_SHARED, 4, 0) = 0x7fcb8c522000
lseek(4, 2040, SEEK_SET)                = 2040
munmap(0x7fcb8c522000, 2040)            = 0
close(4)                                = 0
getuid()                                = 1000
brk(0x56002ba95000)                     = 0x56002ba95000
rt_sigaction(SIGPIPE, {SIG_IGN, [], SA_RESTORER, 0x7fcb8bceb860}, NULL, 8) = 0
fstat(3, {st_mode=S_IFCHR|0666, st_rdev=makedev(1, 9), ...}) = 0
socket(AF_INET6, SOCK_STREAM, IPPROTO_IP) = 4
setsockopt(4, SOL_SOCKET, SO_REUSEADDR, [1], 4) = 0
setsockopt(4, SOL_SOCKET, SO_REUSEPORT, [1], 4) = 0
setsockopt(4, SOL_TCP, TCP_NODELAY, [1], 4) = 0
fcntl(4, F_SETFD, FD_CLOEXEC)           = 0
fcntl(4, F_GETFL)                       = 0x2 (flags O_RDWR)
fcntl(4, F_SETFL, O_RDWR|O_NONBLOCK)    = 0
connect(4, {sa_family=AF_INET6, sin6_port=htons(631), inet_pton(AF_INET6, "::1", &sin6_addr), sin6_flowinfo=0, sin6_scope_id=0}, 28) = -1 EINPROGRESS (Operation now in progress)
fcntl(4, F_SETFL, O_RDWR)               = 0
poll([{fd=4, events=POLLIN|POLLOUT}], 1, 100) = 1 ([{fd=4, revents=POLLIN|POLLOUT|POLLERR|POLLHUP}])
uname({sysname="Linux", nodename="ubuntu", ...}) = 0
sendto(4, "POST / HTTP/1.1\r\nContent-Length:"..., 169, 0, NULL, 0) = -1 ECONNREFUSED (Connection refused)
sendto(4, "POST / HTTP/1.1\r\nContent-Length:"..., 169, 0, NULL, 0) = -1 EPIPE (Broken pipe)
--- SIGPIPE {si_signo=SIGPIPE, si_code=SI_USER, si_pid=10817, si_uid=1000} ---
sendto(4, "POST / HTTP/1.1\r\nContent-Length:"..., 169, 0, NULL, 0) = -1 EPIPE (Broken pipe)
--- SIGPIPE {si_signo=SIGPIPE, si_code=SI_USER, si_pid=10817, si_uid=1000} ---
close(4)                                = 0
socket(AF_INET6, SOCK_STREAM, IPPROTO_IP) = 4
setsockopt(4, SOL_SOCKET, SO_REUSEADDR, [1], 4) = 0
setsockopt(4, SOL_SOCKET, SO_REUSEPORT, [1], 4) = 0
setsockopt(4, SOL_TCP, TCP_NODELAY, [1], 4) = 0
fcntl(4, F_SETFD, FD_CLOEXEC)           = 0
fcntl(4, F_GETFL)                       = 0x2 (flags O_RDWR)
fcntl(4, F_SETFL, O_RDWR|O_NONBLOCK)    = 0
connect(4, {sa_family=AF_INET6, sin6_port=htons(631), inet_pton(AF_INET6, "::1", &sin6_addr), sin6_flowinfo=0, sin6_scope_id=0}, 28) = -1 EINPROGRESS (Operation now in progress)
fcntl(4, F_SETFL, O_RDWR)               = 0
poll([{fd=4, events=POLLIN|POLLOUT}], 1, 100) = 1 ([{fd=4, revents=POLLIN|POLLOUT|POLLERR|POLLHUP}])
sendto(4, "POST / HTTP/1.1\r\nContent-Length:"..., 169, 0, NULL, 0) = -1 ECONNREFUSED (Connection refused)
sendto(4, "POST / HTTP/1.1\r\nContent-Length:"..., 169, 0, NULL, 0) = -1 EPIPE (Broken pipe)
--- SIGPIPE {si_signo=SIGPIPE, si_code=SI_USER, si_pid=10817, si_uid=1000} ---
sendto(4, "POST / HTTP/1.1\r\nContent-Length:"..., 169, 0, NULL, 0) = -1 EPIPE (Broken pipe)
--- SIGPIPE {si_signo=SIGPIPE, si_code=SI_USER, si_pid=10817, si_uid=1000} ---
close(4)                                = 0
socket(AF_INET6, SOCK_STREAM, IPPROTO_IP) = 4
setsockopt(4, SOL_SOCKET, SO_REUSEADDR, [1], 4) = 0
setsockopt(4, SOL_SOCKET, SO_REUSEPORT, [1], 4) = 0
setsockopt(4, SOL_TCP, TCP_NODELAY, [1], 4) = 0
fcntl(4, F_SETFD, FD_CLOEXEC)           = 0
fcntl(4, F_GETFL)                       = 0x2 (flags O_RDWR)
fcntl(4, F_SETFL, O_RDWR|O_NONBLOCK)    = 0
connect(4, {sa_family=AF_INET6, sin6_port=htons(631), inet_pton(AF_INET6, "::1", &sin6_addr), sin6_flowinfo=0, sin6_scope_id=0}, 28) = -1 EINPROGRESS (Operation now in progress)
fcntl(4, F_SETFL, O_RDWR)               = 0
poll([{fd=4, events=POLLIN|POLLOUT}], 1, 100) = 1 ([{fd=4, revents=POLLIN|POLLOUT|POLLERR|POLLHUP}])
sendto(4, "POST / HTTP/1.1\r\nContent-Length:"..., 169, 0, NULL, 0) = -1 ECONNREFUSED (Connection refused)
sendto(4, "POST / HTTP/1.1\r\nContent-Length:"..., 169, 0, NULL, 0) = -1 EPIPE (Broken pipe)
--- SIGPIPE {si_signo=SIGPIPE, si_code=SI_USER, si_pid=10817, si_uid=1000} ---
sendto(4, "POST / HTTP/1.1\r\nContent-Length:"..., 169, 0, NULL, 0) = -1 EPIPE (Broken pipe)
--- SIGPIPE {si_signo=SIGPIPE, si_code=SI_USER, si_pid=10817, si_uid=1000} ---
close(4)                                = 0
socket(AF_INET6, SOCK_STREAM, IPPROTO_IP) = 4
setsockopt(4, SOL_SOCKET, SO_REUSEADDR, [1], 4) = 0
setsockopt(4, SOL_SOCKET, SO_REUSEPORT, [1], 4) = 0
setsockopt(4, SOL_TCP, TCP_NODELAY, [1], 4) = 0
fcntl(4, F_SETFD, FD_CLOEXEC)           = 0
fcntl(4, F_GETFL)                       = 0x2 (flags O_RDWR)
fcntl(4, F_SETFL, O_RDWR|O_NONBLOCK)    = 0
connect(4, {sa_family=AF_INET6, sin6_port=htons(631), inet_pton(AF_INET6, "::1", &sin6_addr), sin6_flowinfo=0, sin6_scope_id=0}, 28) = -1 EINPROGRESS (Operation now in progress)
fcntl(4, F_SETFL, O_RDWR)               = 0
poll([{fd=4, events=POLLIN|POLLOUT}], 1, 100) = 1 ([{fd=4, revents=POLLIN|POLLOUT|POLLERR|POLLHUP}])
sendto(4, "POST / HTTP/1.1\r\nContent-Length:"..., 169, 0, NULL, 0) = -1 ECONNREFUSED (Connection refused)
sendto(4, "POST / HTTP/1.1\r\nContent-Length:"..., 169, 0, NULL, 0) = -1 EPIPE (Broken pipe)
--- SIGPIPE {si_signo=SIGPIPE, si_code=SI_USER, si_pid=10817, si_uid=1000} ---
sendto(4, "POST / HTTP/1.1\r\nContent-Length:"..., 169, 0, NULL, 0) = -1 EPIPE (Broken pipe)
--- SIGPIPE {si_signo=SIGPIPE, si_code=SI_USER, si_pid=10817, si_uid=1000} ---
close(4)                                = 0
socket(AF_INET6, SOCK_STREAM, IPPROTO_IP) = 4
setsockopt(4, SOL_SOCKET, SO_REUSEADDR, [1], 4) = 0
setsockopt(4, SOL_SOCKET, SO_REUSEPORT, [1], 4) = 0
setsockopt(4, SOL_TCP, TCP_NODELAY, [1], 4) = 0
fcntl(4, F_SETFD, FD_CLOEXEC)           = 0
fcntl(4, F_GETFL)                       = 0x2 (flags O_RDWR)
fcntl(4, F_SETFL, O_RDWR|O_NONBLOCK)    = 0
connect(4, {sa_family=AF_INET6, sin6_port=htons(631), inet_pton(AF_INET6, "::1", &sin6_addr), sin6_flowinfo=0, sin6_scope_id=0}, 28) = -1 EINPROGRESS (Operation now in progress)
fcntl(4, F_SETFL, O_RDWR)               = 0
poll([{fd=4, events=POLLIN|POLLOUT}], 1, 100) = 1 ([{fd=4, revents=POLLIN|POLLOUT|POLLERR|POLLHUP}])
sendto(4, "POST / HTTP/1.1\r\nContent-Length:"..., 169, 0, NULL, 0) = -1 ECONNREFUSED (Connection refused)
sendto(4, "POST / HTTP/1.1\r\nContent-Length:"..., 169, 0, NULL, 0) = -1 EPIPE (Broken pipe)
--- SIGPIPE {si_signo=SIGPIPE, si_code=SI_USER, si_pid=10817, si_uid=1000} ---
sendto(4, "POST / HTTP/1.1\r\nContent-Length:"..., 169, 0, NULL, 0) = -1 EPIPE (Broken pipe)
--- SIGPIPE {si_signo=SIGPIPE, si_code=SI_USER, si_pid=10817, si_uid=1000} ---
close(4)                                = 0
socket(AF_INET6, SOCK_STREAM, IPPROTO_IP) = 4
setsockopt(4, SOL_SOCKET, SO_REUSEADDR, [1], 4) = 0
setsockopt(4, SOL_SOCKET, SO_REUSEPORT, [1], 4) = 0
setsockopt(4, SOL_TCP, TCP_NODELAY, [1], 4) = 0
fcntl(4, F_SETFD, FD_CLOEXEC)           = 0
fcntl(4, F_GETFL)                       = 0x2 (flags O_RDWR)
fcntl(4, F_SETFL, O_RDWR|O_NONBLOCK)    = 0
connect(4, {sa_family=AF_INET6, sin6_port=htons(631), inet_pton(AF_INET6, "::1", &sin6_addr), sin6_flowinfo=0, sin6_scope_id=0}, 28) = -1 EINPROGRESS (Operation now in progress)
fcntl(4, F_SETFL, O_RDWR)               = 0
poll([{fd=4, events=POLLIN|POLLOUT}], 1, 100) = 1 ([{fd=4, revents=POLLIN|POLLOUT|POLLERR|POLLHUP}])
sendto(4, "POST / HTTP/1.1\r\nContent-Length:"..., 169, 0, NULL, 0) = -1 ECONNREFUSED (Connection refused)
sendto(4, "POST / HTTP/1.1\r\nContent-Length:"..., 169, 0, NULL, 0) = -1 EPIPE (Broken pipe)
--- SIGPIPE {si_signo=SIGPIPE, si_code=SI_USER, si_pid=10817, si_uid=1000} ---
sendto(4, "POST / HTTP/1.1\r\nContent-Length:"..., 169, 0, NULL, 0) = -1 EPIPE (Broken pipe)
--- SIGPIPE {si_signo=SIGPIPE, si_code=SI_USER, si_pid=10817, si_uid=1000} ---
close(4)                                = 0
socket(AF_INET6, SOCK_STREAM, IPPROTO_IP) = 4
setsockopt(4, SOL_SOCKET, SO_REUSEADDR, [1], 4) = 0
setsockopt(4, SOL_SOCKET, SO_REUSEPORT, [1], 4) = 0
setsockopt(4, SOL_TCP, TCP_NODELAY, [1], 4) = 0
fcntl(4, F_SETFD, FD_CLOEXEC)           = 0
fcntl(4, F_GETFL)                       = 0x2 (flags O_RDWR)
fcntl(4, F_SETFL, O_RDWR|O_NONBLOCK)    = 0
connect(4, {sa_family=AF_INET6, sin6_port=htons(631), inet_pton(AF_INET6, "::1", &sin6_addr), sin6_flowinfo=0, sin6_scope_id=0}, 28) = -1 EINPROGRESS (Operation now in progress)
fcntl(4, F_SETFL, O_RDWR)               = 0
poll([{fd=4, events=POLLIN|POLLOUT}], 1, 100) = 1 ([{fd=4, revents=POLLIN|POLLOUT|POLLERR|POLLHUP}])
sendto(4, "POST / HTTP/1.1\r\nContent-Length:"..., 169, 0, NULL, 0) = -1 ECONNREFUSED (Connection refused)
sendto(4, "POST / HTTP/1.1\r\nContent-Length:"..., 169, 0, NULL, 0) = -1 EPIPE (Broken pipe)
--- SIGPIPE {si_signo=SIGPIPE, si_code=SI_USER, si_pid=10817, si_uid=1000} ---
sendto(4, "POST / HTTP/1.1\r\nContent-Length:"..., 169, 0, NULL, 0) = -1 EPIPE (Broken pipe)
--- SIGPIPE {si_signo=SIGPIPE, si_code=SI_USER, si_pid=10817, si_uid=1000} ---
close(4)                                = 0
socket(AF_INET6, SOCK_STREAM, IPPROTO_IP) = 4
setsockopt(4, SOL_SOCKET, SO_REUSEADDR, [1], 4) = 0
setsockopt(4, SOL_SOCKET, SO_REUSEPORT, [1], 4) = 0
setsockopt(4, SOL_TCP, TCP_NODELAY, [1], 4) = 0
fcntl(4, F_SETFD, FD_CLOEXEC)           = 0
fcntl(4, F_GETFL)                       = 0x2 (flags O_RDWR)
fcntl(4, F_SETFL, O_RDWR|O_NONBLOCK)    = 0
connect(4, {sa_family=AF_INET6, sin6_port=htons(631), inet_pton(AF_INET6, "::1", &sin6_addr), sin6_flowinfo=0, sin6_scope_id=0}, 28strace: Process 10817 detached
 <detached ...>

Based on the Wine report this should be the same as #4867. As I'm using only the libraries and not the CUPS service this could explain why Wine hangs.

Investigating, but I don't think we changed anything here that would cause infinite retries... :/

Testing on macOS shows we get the (expected) 30 second timeout and no retries.
This might be Linux-specific...

Yes, something is up with asynchronous connections on Linux...

[master 4c3f8a9] http*Connect did not work on Linux when cupsd was not running (Issue #4870)

It seems the fix is incomplete. Compiled the sample programe with the latest cups source code. It no longer sent data into socket, but still attempted to connect continually.
socket(AF_INET6, SOCK_STREAM, IPPROTO_IP) = 4
setsockopt(4, SOL_SOCKET, SO_REUSEADDR, [1], 4) = 0
setsockopt(4, SOL_SOCKET, SO_REUSEPORT, [1], 4) = 0
setsockopt(4, SOL_TCP, TCP_NODELAY, [1], 4) = 0
fcntl(4, F_SETFD, FD_CLOEXEC)           = 0
fcntl(4, F_GETFL)                       = 0x2 (flags O_RDWR)
fcntl(4, F_SETFL, O_RDWR|O_NONBLOCK)    = 0
connect(4, {sa_family=AF_INET6, sin6_port=htons(631), inet_pton(AF_INET6, "::1", &sin6_addr), sin6_flowinfo=0, sin6_scope_id=0}, 28) = -1 EINPROGRESS (Operation now in progress)
fcntl(4, F_SETFL, O_RDWR)               = 0
poll([{fd=4, events=POLLIN|POLLOUT}], 1, 100) = 1 ([{fd=4, revents=POLLIN|POLLOUT|POLLERR|POLLHUP}])
close(4)                                = 0
sendto(-1, "POST / HTTP/1.1\r\nContent-Length:"..., 168, 0, NULL, 0) = -1 EBADF (Bad file descriptor)
sendto(-1, "POST / HTTP/1.1\r\nContent-Length:"..., 168, 0, NULL, 0) = -1 EBADF (Bad file descriptor)
socket(AF_INET6, SOCK_STREAM, IPPROTO_IP) = 4
setsockopt(4, SOL_SOCKET, SO_REUSEADDR, [1], 4) = 0
setsockopt(4, SOL_SOCKET, SO_REUSEPORT, [1], 4) = 0
setsockopt(4, SOL_TCP, TCP_NODELAY, [1], 4) = 0
fcntl(4, F_SETFD, FD_CLOEXEC)           = 0
fcntl(4, F_GETFL)                       = 0x2 (flags O_RDWR)
fcntl(4, F_SETFL, O_RDWR|O_NONBLOCK)    = 0
connect(4, {sa_family=AF_INET6, sin6_port=htons(631), inet_pton(AF_INET6, "::1", &sin6_addr), sin6_flowinfo=0, sin6_scope_id=0}, 28) = -1 EINPROGRESS (Operation now in progress)
fcntl(4, F_SETFL, O_RDWR)               = 0
poll([{fd=4, events=POLLIN|POLLOUT}], 1, 100) = 1 ([{fd=4, revents=POLLIN|POLLOUT|POLLERR|POLLHUP}])
close(4)                                = 0
socket(AF_INET6, SOCK_STREAM, IPPROTO_IP) = 4
setsockopt(4, SOL_SOCKET, SO_REUSEADDR, [1], 4) = 0
setsockopt(4, SOL_SOCKET, SO_REUSEPORT, [1], 4) = 0
setsockopt(4, SOL_TCP, TCP_NODELAY, [1], 4) = 0
fcntl(4, F_SETFD, FD_CLOEXEC)           = 0
fcntl(4, F_GETFL)                       = 0x2 (flags O_RDWR)
fcntl(4, F_SETFL, O_RDWR|O_NONBLOCKstrace: Process 4527 detached
 <detached ...>

What happens if you run the "testcups" unit test program in the "cups" directory?
In my Ubuntu VM the testcups program (which does a cupsGetDests call) exits immediately with an error.

I ran the testcups program, and it still went into that endless loop on both ubuntu 16.04 and 16.10 without cups-daemon installed.
If cups-daemon is not removed in your VM, you should run sudo systemctl stop cups.socket cups.service to stop the daemon and its socket listener. Otherwise systemd will revive cupsd automatically when any program connects to /var/run/cups/cups.sock

Hi,
I debugged that "testcups" unit test program on Fedora with cups.service, cups.path and cups.socket stopped and I found out following information. Program doesn't run in infinite loop, but it keeps sending requests for 30s and ends with error after that. Program never gets into sections where you applied patch, because nfds is 0 (so program doesn't get into 'for' loops on l.271 and l.304 in http-addrlist.c) and result of poll on l.277 is 0 (so it doesn't get into if statement on l.302 in http-addrlist.c). Errno is set ECONNREFUSED (111). I created patch, which makes "testcups" ends immediately:
http://paste.fedoraproject.org/423885/47334039/
, but it fails when I run 'make check'.

But now, when I changed only condition on line 302 (without application of your patch or any other changes) in http-addrlist.c to:
if(result >= 0)
testcups failed immediately and even 'make check' ran almost without fails (only one fail happened, but it was test, which was failing even before my change). Is it correct?

In this case, "result" contains the number of file descriptors that connected. Since none have connected, returning an address with no connection is the wrong behavior.

OK, I think I've found the "problem". The connection loop did not break out early if all of the addresses failed before the timeout. Thus, cupsGetDests (and other API functions) would take 30 seconds to timeout before continuing.
[master e8916f4] Allow http*Connect to return early if all addresses fail (Issue #4870)

Hi @michaelrsweet,
I looks like this issue is still present in the released version 2.2.0. Here are bug reports from Arch Linux:

https://bugs.archlinux.org/task/50796
https://bugs.archlinux.org/task/50797

For myself: after upgrading to libcups 2.2.0 the "gnome-settings-daemon" started to show 100% CPU usage. Attaching with gdb showed an infinite loop in libcups around the "http*" functions (I don't have cupsd running). Downgrading to libcups 2.1.4 resolved this issue.

I need to see a backtrace from gdb or ltrace output so we can see what is happening.

Here is a looping backtrace,  by attaching gdb to the gnome-settings-daemon process:
#0  0x00007ff4e143d40d in connect () from /usr/lib/libpthread.so.0
#1  0x00007ff4b63fea77 in httpAddrConnect2 () from /usr/lib/libcups.so.2
#2  0x00007ff4b63fd3be in httpReconnect2 () from /usr/lib/libcups.so.2
#3  0x00007ff4b642293f in cupsSendRequest () from /usr/lib/libcups.so.2
#4  0x00007ff4b6422d54 in cupsDoIORequest () from /usr/lib/libcups.so.2
#5  0x00007ff4b63ef49b in _cupsGetDests () from /usr/lib/libcups.so.2
#6  0x00007ff4b63f063f in cupsGetDests2 () from /usr/lib/libcups.so.2
#7  0x00007ff4b6653ccd in ?? () from /usr/lib/gnome-settings-daemon-3.0/libprint-notifications.so
#8  0x00007ff4e1693d1a in g_main_context_dispatch () from /usr/lib/libglib-2.0.so.0
#9  0x00007ff4e16940d0 in ?? () from /usr/lib/libglib-2.0.so.0
#10 0x00007ff4e16943f2 in g_main_loop_run () from /usr/lib/libglib-2.0.so.0
#11 0x00007ff4e2429a65 in gtk_main () from /usr/lib/libgtk-3.so.0
#12 0x0000000000403780 in main ()

Same issue reported on downstream RedHat (Fedora) Bugzilla: https://bugzilla.redhat.com/show_bug.cgi?id=1366775
From this report:
Steps to reproduce:

disable cups.service
disable cups socket
run any application that is using cups-libs to communicate with cups service, e.g. gnome-settings-daemon or gnome-control-center.

I'm seeing the same backtrace, here are a few more details:
#0  0x00007fdcad19d8ed in connect () at ../sysdeps/unix/syscall-template.S:84
No locals.
#1  0x00007fdc80db3db7 in httpAddrConnect2 (addrlist=0x55703f160180, sock=sock@entry=0x55703f160870, msec=msec@entry=30000,
    cancel=cancel@entry=0x0) at http-addrlist.c:197
        val = 1
        flags = 2
        remaining = 30000
        i = <optimized out>
        nfds = 0
        fds = {22, 0 <repeats 99 times>}
        result = <optimized out>
        addrs = {0x55703f160180, 0x0 <repeats 48 times>, 0x3, 0x0, 0x7ffcde4d0ea0, 0x7ffcde4d0e90, 0x7fdc80def54a, 0x7ffcde4d1018,
          0x0, 0x7fdcad1840c0 <_IO_strn_jumps>, 0x7fdcace151b1 <_IO_vfprintf_internal+1937>, 0x0, 0x277, 0x7ffcde4d09f8, 0xa,
          0x7ffcde4d0a20, 0x64, 0x0, 0x100000010, 0x7ffcde4d09d0, 0x7ffc00000010, 0x7ffcde4d09e0, 0x7ffcde4d09a0, 0x0,
          0x7fdcad19d6a9 <close+57>, 0x0, 0x7fdc80db2cef <httpAddrClose+31>, 0x55703f15f9b9, 0x834b195aa1f4d500, 0x0,
          0x7fdc80db3c56 <httpAddrConnect2+550>, 0xff, 0x1, 0x55703f160870, 0x7530, 0x0, 0x7ffcde4d0a1c, 0x55703f15f9b9, 0x13f15f9fa,
          0x557000000016, 0x55703f15f9b9, 0x55703f15fab8, 0x0, 0x0, 0x0, 0x0, 0x0, 0x400000000, 0x0, 0x0, 0x3, 0x0, 0x7ffcde4d1020}
        pfds = {{fd = -565374960, events = 32764, revents = 0}, {fd = -2132903428, events = 32732, revents = 0}, {fd = -565374568,
            events = 32764, revents = 0}, {fd = 0, events = 0, revents = 0}, {fd = -1390919488, events = 32732, revents = 0}, {
            fd = -1394519631, events = 32732, revents = 0}, {fd = 0, events = 0, revents = 0}, {fd = 724, events = 0, revents = 0}, {
            fd = -565376136, events = 32764, revents = 0}, {fd = 10, events = 0, revents = 0}, {fd = -565376096, events = 32764,
            revents = 0}, {fd = 100, events = 0, revents = 0}, {fd = 0, events = 0, revents = 0}, {fd = 0, events = 1, revents = 0}, {
            fd = -565375019, events = 32764, revents = 0}, {fd = 0, events = 0, revents = 0}, {fd = -1, events = -1, revents = -1}, {
            fd = 0, events = 0, revents = 0}, {fd = 0, events = 0, revents = 0}, {fd =<PHONE_NUMBER>, events = 21872, revents = 0}, {
            fd = 0, events = 32764, revents = 0}, {fd = 3, events = 0, revents = 0}, {fd = -565376016, events = 32764, revents = 0}, {
            fd = 0, events = 0, revents = 0}, {fd = 3432, events = 0, revents = 0}, {fd = 3, events = 0, revents = 0}, {
            fd = -2132903428, events = 32732, revents = 0}, {fd = 0, events = 115, revents = 0}, {fd = -565375920, events = 32764,
            revents = 0}, {fd = -2132903424, events = 32732, revents = 0}, {fd = 0, events = 0, revents = 0}, {fd = 0, events = 0,
            revents = 0}, {fd = 0, events = 0, revents = 0}, {fd = 0, events = 0, revents = 0}, {fd =<PHONE_NUMBER>, events = 21872,
            revents = 0}, {fd = -565375920, events = 32764, revents = 0}, {fd =<PHONE_NUMBER>, events = 21872, revents = 0}, {fd = 40,
            events = 48, revents = 0}, {fd = -565374352, events = 32764, revents = 0}, {fd = -565374544, events = 32764,
            revents = 0}, {fd = 0, events = 0, revents = 0}, {fd = 0, events = 0, revents = 0}, {fd = 0, events = 0, revents = 0}, {
            fd = 0, events = 0, revents = 0}, {fd = 0, events = 0, revents = 0}, {fd = 0, events = 0, revents = 0}, {fd = 0,
            events = 0, revents = 0}, {fd = 0, events = 0, revents = 0}, {fd = 0, events = 0, revents = 0}, {fd = -2133142876,
            events = 32732, revents = 0}, {fd = 0, events = 0, revents = 0}, {fd = -1577790208, events = 6490, revents = -31925}, {
            fd = 0, events = 0, revents = 0}, {fd = -2132923645, events = 32732, revents = 0}, {fd = -565375790, events = 32764,
            revents = 0}, {fd = -565375660, events = 32764, revents = 0}, {fd =<PHONE_NUMBER>, events = 120, revents = 0}, {fd = 0,
            events = 0, revents = 0}, {fd = 0, events = 0, revents = 0}, {fd = 0, events = 0, revents = 0}, {fd = 0, events = 0,
            revents = 0}, {fd = 0, events = 0, revents = 0}, {fd = 0, events = 0, revents = 0}, {fd = 0, events = 0, revents = 0}, {
            fd =<PHONE_NUMBER>, events = 28276, revents = 11618}, {fd = 51, events = 0, revents = 0}, {fd = 0, events = 0, revents = 0},
          {fd = 0, events = 0, revents = 0}, {fd = 0, events = 0, revents = 0}, {fd = 0, events = 0, revents = 0}, {fd = 0,
            events = 0, revents = 0}, {fd = 0, events = 0, revents = 0}, {fd = 775159808, events = 11832, revents = 11568}, {
            fd =<PHONE_NUMBER>, events = 11830, revents = 26983}, {fd = 825110644, events = 26158, revents = 12899}, {fd = 947400245,
            events = 24374, revents = 13366}, {fd = 0, events = 0, revents = 0}, {fd = 0, events = 0, revents = 0}, {fd = 0,
            events = 0, revents = 0}, {fd = 0, events = 0, revents = 0}, {fd = 587202560, events = 8241, revents = 19795}, {
            fd =<PHONE_NUMBER>, events = 8302, revents = 25939}, {fd = 842080368, events = 12576, revents = 14905}, {fd = 893007409,
            events = 8244, revents = 21589}, {fd = 808591427, events = 13873, revents = 0}, {fd = 0, events = 0, revents = 0}, {
            fd = 0, events = 0, revents = 0}, {fd = 0, events = 0, revents = 0}, {fd = 0, events = 14456, revents = 24374}, {
            fd = -1577790208, events = 6490, revents = -31925}, {fd = 0, events = 0, revents = 0}, {fd = 0, events = 0, revents = 0},
          {fd = 22, events = 0, revents = 0}, {fd = -1390814509, events = 32732, revents = 0}, {fd = 0, events = 0, revents = 0}, {
            fd = -1, events = -1, revents = -1}, {fd =<PHONE_NUMBER>, events = 21872, revents = 0}, {fd = -565375552, events = 32764,
            revents = 0}, {fd = 0, events = 0, revents = 0}, {fd = -2132904361, events = 32732, revents = 0}}
#2  0x00007fdc80db2302 in httpReconnect2 (http=http@entry=0x55703f160870, msec=msec@entry=30000, cancel=cancel@entry=0x0)
    at http.c:2413
        addr = <optimized out>
#3  0x00007fdc80db1dff in http_send (http=http@entry=0x55703f160870, request=request@entry=HTTP_STATE_POST,
    uri=uri@entry=0x7fdc80de7657 "/") at http.c:4330
        i = <optimized out>
        buf = "/", '\000' <repeats 36 times>, "\066\063\061\000\000\000\000\000\000\000\000\240\016M\336\374\177\000\000\240\016M\336\374\177\000\000\000\021M\336\374\177\000\000J\365ހ\334\177\000\000\030\020M\336\374\177\000\000\001\000\000\000\000\000\000\000\376\000\000\000\000\000\000\000\006\350\355\254\334\177\000\000\001\200\255\373\000\000\000\000\000\021M\336\374\177\000\000\000\021M\336\374\177\000\000\000\021M\336\374\177\000\000\026\000\000\000\005\000\035\000\003\021M\336\374\177\000\000\026\000\000\000\005\000\035\000\000\021M\336\374\177\000\000\376\021M\336\374\177", '\000' <repeats 26 times>...
        value = <optimized out>
        codes = {0x0, 0x7fdc80de81b8 "OPTIONS", 0x7fdc80de81cb "GET", 0x0, 0x7fdc80de81ee "HEAD", 0x7fdc80de81fe "POST", 0x0, 0x0,
          0x7fdc80de8238 "PUT", 0x0, 0x7fdc80de825b "DELETE", 0x7fdc80de826d "TRACE", 0x7fdc80de7ba5 "CLOSE", 0x0, 0x0}
#4  0x00007fdc80db26d5 in httpPost (http=http@entry=0x55703f160870, uri=uri@entry=0x7fdc80de7657 "/") at http.c:1878
No locals.
#5  0x00007fdc80dda1c5 in cupsSendRequest (http=http@entry=0x55703f160870, request=request@entry=0x55703f15cfa0,
    resource=resource@entry=0x7fdc80de7657 "/", length=length@entry=724) at request.c:712
        status = HTTP_STATUS_NONE
        got_status = <optimized out>
        state = <optimized out>
        expect = HTTP_STATUS_CONTINUE
#6  0x00007fdc80dda744 in cupsDoIORequest (http=0x55703f160870, http@entry=0x0, request=request@entry=0x55703f15cfa0,
    resource=resource@entry=0x7fdc80de7657 "/", infile=infile@entry=-1, outfile=outfile@entry=-1) at request.c:211
        response = 0x0
        length = 724
        status = <optimized out>
        fileinfo = {st_dev = 0, st_ino = 0, st_nlink = 0, st_mode = 0, st_uid = 0, st_gid = 0, __pad0 = 0, st_rdev = 0, st_size = 0,
          st_blksize = 0, st_blocks = 0, st_atim = {tv_sec = 0, tv_nsec = 0}, st_mtim = {tv_sec = 0, tv_nsec = 0}, st_ctim = {
            tv_sec = 0, tv_nsec = 0}, __glibc_reserved = {0, 0, 0}}
        bytes = <optimized out>
        buffer = '\000' <repeats 12640 times>...
#7  0x00007fdc80ddab16 in cupsDoRequest (http=http@entry=0x0, request=request@entry=0x55703f15cfa0,
    resource=resource@entry=0x7fdc80de7657 "/") at request.c:301
No locals.
#8  0x00007fdc80da2dbb in _cupsGetDests (http=http@entry=0x0, op=op@entry=IPP_OP_CUPS_GET_PRINTERS, name=name@entry=0x0,
    dests=dests@entry=0x55703f03c910, type=type@entry=0, mask=mask@entry=134217728) at dest.c:1633
        num_dests = 0
        dest = <optimized out>
        request = 0x55703f15cfa0
        response = <optimized out>
        attr = <optimized out>
        printer_name = <optimized out>
        uri = "[\000\000\000n", '\000' <repeats 19 times>, "w\000\000\000|", '\000' <repeats 11 times>, "\060x\020?pU\000\000@\224\n?pU\000\000\200h\020?pU\000\000\200x\020?pU\000\000\335(A\255\334\177\000\000\002\000\000\000\000\000\000\000Z5>\255\334\177\000\000\000\000\000\000\000\000\000\000\241\064>\255\334\177\000\000\220\200\020?pU\000\000\331\345S\260\334\177\000\000\300\224M\336\374\177\000\000\364ET\260\334\177\000\000 \227\r?pU\000\000\300\230\r?pU\000\000\b\000\000\000\000\000\000\000\300\224M\336\374\177\000\000 \000\000\000\b\000\000\000\025\000\001\000\376\312\355\376\006\000\000\000\377\377\377\377"...
        num_options = <optimized out>
        options = 0x0
        optname = "\000\000\000\000\000\000\000\000\035k6\260\334\177\000\000\000\000\000\000\000\000\000\000\364\374\066\260\002", '\000' <repeats 11 times>, "w\036B\203\334\177\000\000\000\000\000\000\000\000\000\000\035k6\260\334\177\000\000\000\000\000\000\000\000\000\000\364\374\066\260\002", '\000' <repeats 11 times>, "l\036B\203\334\177\000\000\000\000\000\000\000\000\000\000\035k6\260\334\177\000\000\000\000\000\000\000\000\000\000{)\215|\002", '\000' <repeats 11 times>, "\035k6\260\334\177\000\000\000\000\000\000\000\000\000\000\364\374\066\260\002", '\000' <repeats 11 times>, "p)\215|\334\177\000\000\000\000\000\000\000\000\000\000\035k6\260\334\177\000\000\000\000\000\000\000\000\000\000"...
        value = "\230\000\000\000\000\000\000\000\t\000\000\000\000\000\000\000\230IX\260\334\177\000\000\340\235M\336\374\177\000\000\245\204\233\254\334\177\000\000\203\315\066\260\334\177\000\000\000\000\001\000\001\000\001\000\230IX\260\334\177\000\000@\243M\336\374\177\000\000S\320\066\260\334\177\000\000\001\000\000\000\000\000\000\000\230IX\260\334\177\000\000\000\000\000\000\000\000\000\000\223\215\210\004\315vl\347`]:\255\334\177\000\000N\304\066\260\334\177\000\000\001\000\000\000\000\000\000\000\210\317U\260\334\177\000\000`\234M\336\374\177\000\000\223\215\210\004\315vl\347\270\r\001\203\334\177\000\000N\304\066\260\334\177\000\000\001\000\000\000\000\000\000\000\320\304U\260\334\177\000\000\220\234M\336\374\177\000\000"...
        ptr = <optimized out>
        pattrs = {0x7fdc80de67c1 "auth-info-required", 0x7fdc80de6762 "device-uri", 0x7fdc80de5fa1 "job-sheets-default",
          0x7fdc80de67d4 "marker-change-time", 0x7fdc80de67e7 "marker-colors", 0x7fdc80de67f5 "marker-high-levels",
          0x7fdc80de6808 "marker-levels", 0x7fdc80de6816 "marker-low-levels", 0x7fdc80de6828 "marker-message",
          0x7fdc80de6837 "marker-names", 0x7fdc80de6844 "marker-types", 0x7fdc80de6851 "printer-commands",
          0x7fdc80de6938 "printer-defaults", 0x7fdc80de66e1 "printer-info", 0x7fdc80de688e "printer-is-accepting-jobs",
          0x7fdc80de6862 "printer-is-shared", 0x7fdc80de6642 "printer-location", 0x7fdc80de66ee "printer-make-and-model",
          0x7fdc80de6970 "printer-mandatory-job-attributes", 0x7fdc80de6716 "printer-name", 0x7fdc80de674b "printer-state",
          0x7fdc80de6874 "printer-state-change-time", 0x7fdc80deb9d0 "printer-state-reasons", 0x7fdc80de6682 "printer-type",
          0x7fdc80de6735 "printer-uri-supported"}
#9  0x00007fdc80da403f in cupsGetDests2 (http=http@entry=0x0, dests=dests@entry=0x55703f03c910) at dest.c:1855
        num_dests = <optimized out>
        dest = <optimized out>
        home = <optimized out>
        filename = "h\r\000\000\000\000\000\000@8\344\254\334\177\000\000Ѕ\020?pU\000\000\300C\030\255\334\177\000\000\n", '\000' <repeats 11 times>, "\001\000\000\000\377\003\000\000\000\000\000\000\302J\344\254\334\177\000\000O\254M\336\374\177\000\000Ѕ\020?pU", '\000' <repeats 19 times>, "\004\000\000\000\000\000\000\300\201\020?pU\000\000Ѕ\020?pU\000\000\034\323\344\254\334\177\000\000с\020?pU\000\000\277\205\020?pU\000\000\000\004\000\000\000\000\000\000Ѕ\020?pU\000\000\000\000\000\000\000\000\000\000\300C\030\255\334\177\000\000\000\004\000\000\000\000\000\000\300\201\020?pU\000\000Ѕ\020?pU\000\000\034\323\344\254\334\177"...
        defprinter = <optimized out>
        name = "f\000\000\000\000\000\000\000\032\336\344\254\334\177\000\000H\000\000\000\000\000\000\000(", '\000' <repeats 15 times>, "d\000\000\000\000\000\000\000\360\316\025?pU\000\000`\201\020?pU\000\000\340z\030\255\334\177\000\000Ё\020?pU\000\000Q\000\000\000\000\000\000\000P\a\000\000\000\000\000\000!\000\000\000\000\000\000\000\332\304\344\254\334\177\000\000\335\000\000\000\000\000\000\000\260A\002?pU\000\000\300A\002?pU\000\000O\000\000\000\000\000\000\000O\000\000\000\000\000\000\000\340z\030\255\334\177\000\000p\000\000\000\000\000\000\000F\326\344\254\334\177\000\000p\201\020?pU\000\000<EMAIL_ADDRESS>        instance = <optimized out>
        user_default = <optimized out>
        num_reals = <optimized out>
        reals = <optimized out>
        cg = 0x55703f15e800
#10 0x00007fdc80da42d2 in cupsGetDests (dests=dests@entry=0x55703f03c910) at dest.c:1802
No locals.
#11 0x00007fdc8100ca55 in gsd_print_notifications_manager_start_idle (data=data@entry=0x55703f03c960)
    at gsd-print-notifications-manager.c:1362
        manager = 0x55703f03c960
        __func__ = "gsd_print_notifications_manager_start_idle"
#12 0x00007fdcad3f1987 in g_idle_dispatch (source=0x55703f044190,
    callback=0x7fdc8100c980 <gsd_print_notifications_manager_start_idle>, user_data=0x55703f03c960) at gmain.c:5543
        again = <optimized out>
#13 0x00007fdcad3f4f22 in g_main_dispatch (context=0x55703ed05b00) at gmain.c:3201
        dispatch = 0x7fdcad3f1970 <g_idle_dispatch>
        prev_source = 0x0
        was_in_call = 0
        user_data = 0x55703f03c960
        callback = 0x7fdc8100c980 <gsd_print_notifications_manager_start_idle>
        cb_funcs = 0x7fdcad6bb280 <g_source_callback_funcs>
        cb_data = 0x55703f044200
        need_destroy = <optimized out>
        source = 0x55703f044190
        current = 0x55703ecd3520
        i = 6
#14 g_main_context_dispatch (context=context@entry=0x55703ed05b00) at gmain.c:3854
No locals.
#15 0x00007fdcad3f52a0 in g_main_context_iterate (context=0x55703ed05b00, block=block@entry=1, dispatch=dispatch@entry=1,
    self=<optimized out>) at gmain.c:3927
        max_priority = 200
        timeout = 0
        some_ready = 1
        nfds = 6
        allocated_nfds = 6
        fds = <optimized out>
#16 0x00007fdcad3f55c2 in g_main_loop_run (loop=0x55703ef9d1b0) at gmain.c:4123
        __func__ = "g_main_loop_run"
#17 0x00007fdcaefd9fe5 in gtk_main () at gtkmain.c:1295
        loop = 0x55703ef9d1b0
#18 0x000055703d63866b in main (argc=<optimized out>, argv=<optimized out>) at main.c:434
        __func__ = "main"

Reopening for now; with the changes in the released 2.2.0 I was unable to get this behavior in my Ubuntu and Fedora VMs, but I will re-test and try to duplicate.

I think this bug is cause by this return: https://github.com/apple/cups/blob/master/cups/http-addrlist.c#L329
When cupsd is not running, nfds=1, fds[0].revents=POLLIN|POLLOUT|POLLERR|POLLHUP, the for loop will not assign value to neither *sock nor addrlist.
But addrlist is not NULL because it has been assigned here https://github.com/apple/cups/blob/master/cups/http-addrlist.c#L239. The caller of httpAddrConnect2() will think the connection has been established.
Add addrlist = NULL; before the for loop fix this issue

Xuzhen's patch worked for me.

@michaelrsweet I found that If /var/run/cups/cups.sock already exists, connect() in httpAddrConnect2() tried to connect to it and failed with ECONNREFUSED, then everything worked as expected. But if /var/run/cups/cups.sock not exists, connect() tried to connect to localhost and failed with EINPROGRESS, then this bug appeared. Maybe this is the reason why this bug cannot be reproducedin your VMs

@michaelrsweet I think the first issue, what Xu Zhen talks about, is solved by your previous patch ('Allow http*Connect to return early if all addresses fail'). To reproduce this, I needed to stop cups.service, cups.path and cups.socket. But to reproduce issue, which Xu Zhen's patch fixed, I needed to disable all these services in addition to stopping them.

@zdohnal  Yes, /var/run/cups/cups.sock was created by cups.socket unit at startup. Just stop the unit will not delete it.

@xuzhen Your fix breaks printers/services that have more than one address. Which is basically always the case these days...

OK, the poll/select that detects an error with any of the previous sockets will (incorrectly) return the next address in the list rather than continuing until all connections have failed.

[master 0ca77b3] Handle partial failures when connecting (Issue #4866)
Please let me know if the latest changes do not solve your issues...

(and of course I messed up the commit message...)

It worked for me

Worked for me.

Good, let's call this fixed then. 2.2.1 release will be released soon with this fix...

(soon being in a week or so)


#2347 : Add django_mailbox

@Hamza, why did you add this? django-mailbox is required only by applications that use lino_xl.lib.mailbox. Lino should not depend on it. Even lino_xl shouldn't, because many applications  don't need django-mailbox. E.g. Lino Tera does not use lino_xl.lib.mailbox, so it would be disturbing if django-mailbox gets installed on a Lino Tera site.

The test suits fails because the django-mailbox is not installed. I will changed it to the the book and on the test section.

You guys have tagged the wrong person FYI
On Tue, Aug 7, 2018 at 1:15 PM, Hamza Khchine<EMAIL_ADDRESS>wrote:

The test suits fails because the django-mailbox is not installed. I will
changed it to the the book and on the test section.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/lino-framework/lino/pull/99#issuecomment-411187358,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AEOh906XnzVcZM4Jw1JDvxWD75iPSe4Gks5uOfVogaJpZM4VxnqJ
.

Oops I see. Thanks @hamza for mentioning.


reset-cluster command to clean up druid state

...stored on metadata and deep storage.
this patch introduces the "reset-cluster" tool , check out the doc in reset-cluster.md file.
Note: It deletes the segments by simply cleaning up the druid_segments table and deleting the storageDirectory on deep storage. It is very fast and good enough for the intended use case of dev/testing environments.
However, ideally, segments should be deleted by iterating the records in druid_segments table and then deleting their files one by one (because, in theory, they could be stored in different locations in different deep storages). This behavior can be implemented and exposed with another flag to the command. But, I did not see the need for that just yet, so it can be supported in future.

👍

@himanshug UT is failing


Upgrade 0.10.0

Upgrade to the most recent release of flow-hydraulics/flow-wallet-api

closing this for now - we can take care of this upgrade after the launch


fix: fix error when calling service.start()

Currently service.start() must be called with opts: { probe: boolean }. This isn't documented. Two possible fixes:

Update the docs to document the required parameter for service.start(opts)
Integrate the change here which starts the service with the same config.probe that the service was created with.

It doesn't look like this was actually included in #44, but it can still be applied to the latest master branch. Could we reopen this and get it applied?


[Tooltip] Tooltip with props followCursor coordinates off when scroll and land on tooltip

Duplicates

[X] I have searched the existing issues

Latest version

[X] I have tested the latest version

Steps to reproduce 🕹
Steps:

Create a list/grid of tooltip components that include the followCursor prop. Be sure that the list/grid is long enough that the page is scrollable
Scroll up and/or down and land on some of the tooltips
It doesn't happen every time, but observe the positioning of the tooltip is sometimes off or positioned in the top left corner

A demo can be found here: https://codesandbox.io/s/elastic-napier-56dmk0?file=/src/App.js
Current behavior 😯
Sandbox: https://codesandbox.io/s/elastic-napier-56dmk0?file=/src/App.js
The position of the tooltip sometimes ends up in the top left corner, or not near your cursor after you land on a tooltip after scrolling up or down quickly. Once you move your mouse, the position is correctly calculated.
Expected behavior 🤔
After scrolling and landing on the tooltip, the position should be correctly calculated and next to the cursor.
Context 🔦
I'm working with a design that includes a potentially long list of cards in a grid that have tooltips on them. This bug creates a bit of a jarring experience when scrolling and the tooltip jumping positions.
For now, we are utilizing enter delays which helps, but the problem is still reproducible.
Your environment 🌎
Using Chrome

npx @mui/envinfo
```
    System:
    OS: macOS 12.5.1
  Binaries:
    Node: 16.17.0 - /usr/local/bin/node
    Yarn: Not Found
    npm: 8.15.0 - /usr/local/bin/npm
  Browsers:
    Chrome: 105.0.5195.125
    Edge: Not Found
    Firefox: Not Found
    Safari: 16.0
```

I can reproduce the issue. Marked this as a bug.
https://user-images.githubusercontent.com/18292247/208415912-5ef9aa21-f3e2-4625-a9d8-c6526dcdd2d9.mov


BUG 2165941: rbd: discard not found error from GetMetadata

During ResyncVolume call, discard not found error from GetMetadata API. If the image gets resynced the local image creation time will be lost, if the key is not present in the image metadata then we can assume that the image is already resynced.
Signed-off-by: Madhu Rajanna<EMAIL_ADDRESS>(cherry picked from commit 683821c4073d731d85f1050d77d1f316c1bee5f8)

/bugzilla refresh

/assign @Rakshith-R

/lgtm


Langchain FilemanagementToolkit incorrectly writes python code to files

Checked other resources

[X] I added a very descriptive title to this issue.
[X] I searched the LangChain documentation with the integrated search.
[X] I used the GitHub search to find a similar question and didn't find it.
[X] I am sure that this is a bug in LangChain rather than my code.
[X] The bug is not resolved by updating to the latest stable version of LangChain (or the specific integration package).

Example Code
file_management = FileManagementToolkit(
# If you don't provide a root_dir, operations will default to the current working directory
root_dir=root_dir
).get_tools()
using this tool to write data to a python file writes the data as a string and the \n is interpreted as a character not as \n itself and the rest of the code is not moved to the new line
Error Message and Stack Trace (if applicable)
No response
Description
Trying to use the filemanagementtoolkit to write python code in a new line but it fails in correctly doing so as it should
System Info
windows,
python -11.4

Yeah that is the version on the venv I'm using

can you provide you venv comand or provide mini reproduce repos. i‘ not familiar with venv,i use a conda environment locally

The venv isn't the problem the issue is that the toolkit is not correctly writing the files even without the venv

just want to have a try. 😄
in linux. i find the \n is worked. open the file that is a new line.if read file using 'read_tool',yes.it is a '\n' character in the string.i think this is normal.


Blueprints: timeCreated and lastModified should be date-time format

In this PR, BlueprintResurceStatusBase properties timeCreated and lastModified format is set to date-time. This is a breaking change.
Latest improvements:
MSFT employees can try out our new experience at OpenAPI Hub  - one location for using our validation tools and finding your workflow.

Contribution checklist:

[x] I have reviewed the documentation for the workflow.
[x] Validation tools were run on swagger spec(s) and have all been fixed in this PR.
[ ] The OpenAPI Hub was used for checking validation status and next steps.

ARM API Review Checklist

[ ] Service team MUST add the "WaitForARMFeedback" label if the management plane API changes fall into one of the below categories.
adding/removing APIs.
adding/removing properties.
adding/removing API-version.
adding a new service in Azure.

Failure to comply may result in delays for manifest application. Note this does not apply to data plane APIs.

[ ] If you are blocked on ARM review and want to get the PR merged urgently, please get the ARM oncall for reviews (RP Manifest Approvers team under Azure Resource Manager service) from IcM and reach out to them.
Please follow the link to find more details on API review process.

Automation for azure-sdk-for-ruby

Automation for azure-sdk-for-python

Automation for azure-sdk-for-js

Can one of the admins verify this patch?

Automation for azure-sdk-for-go

Automation for azure-sdk-for-net
A PR has been created for you:
https://github.com/azure/azure-sdk-for-net/pull/6143
.NET SDK Commits:
https://github.com/adxsdknet/azure-sdk-for-net/pull/6143/commits/8638d169bb711a2101f28e4b5d74b4df93713bf1

Automation for azure-sdk-for-java


Italian translations for sensors

Added italian translations for sensors.
I created the json by hand, are there any tool to check the validity/help the editing of these files?

Thanks!!
The hassfest GH action that's part of the PR's checks should validate the translations. One way of testing it is to paste the file into your custom_components/aquarea/translations folder in your HA installation, and another one is to run the Home Assistant devcontainer from VS Code.


Port: Honda odyssey hybrid 2022 China

https://github.com/dragonpilot-community/dragonpilot/pull/175

also https://github.com/dragonpilot-community/dp-devel/pull/32


FOV splitting (Luigi) and Feature selection options in summarizer (Eleni)

Hi Avelino,
@luigiferiani and I merged our changes and we are making a pull request that includes:

Simple feature selection options in the summarizer gui (on my side) and
FOV splitting functionality (on Luigi's side).

These are @luigiferiani 's comments with details about the changes he made:

Adding support for fields of view spanning multiple wells of a multi well plate. Square wells are supported, and so are (experimentally) circular wells. In particular, the code was built to work with the Motif multicamera rigs developed by LoopBio Gmbh.
I will think of a way to tweak the current solution so that it can be easily adopted by other users.

FOV splitting is not enabled by default, but triggered by a parameter.
FOV splitting can happen either at the COMPRESS step, or at the features step (see this commit for more information)
Both the Viewer and the Summarizer support FOV-splitting-information.

Added support for OpenCV 4: the signature of cv2.findContours changed in OpenCV >= 4.0.0. Placed checks that deal with the different number of outputs with OpenCV 3.x and 4.x. This should make installation easier for users, since OpenCV had to be forced to be a specific version to avoid this bug.

Fixed bug in trackProvenance, the version of Tierpsy was not being recorded.

I simplified the solution for the bug caused by the different versions findContours in OpenCV versions 3 and 4.


Missing sign-form-lineal.svg

Lots of logs on production that say: File reference docassemble.AssemblyLine:sign-form-lineal.svg DID NOT EXIST. Idk what could be going on
https://github.com/SuffolkLITLab/docassemble-AssemblyLine/blob/ea9e2a08105265db6a93a25c40889ebc3da29d58/docassemble/AssemblyLine/data/questions/al_visual.yml#L195

I am familiar with this one--I think it's something in the github feedback form that's not causing any user-visible errors. but we should fix to make logs more readable.


Simplify F.triplet test

Applies the function test case https://github.com/chainer/chainer/pull/3499.

Could you check conflicts?
Jenkins, test this please.

Jenkins CI test (for commit 9fcbeac3a8afdef3faa8ab60b06a76cce0d2e36a, target branch master) failed with status FAILURE.
(For contributors, please wait until the reviewer confirms the details of the error.)

Just dropping a reference, in case we'd want to pass the test without using the non-differentiable-dodging. It can be closed otherwise. https://github.com/chainer/chainer/pull/6855

Jenkins CI test (for commit ee71638950d56ffd40d6650d7cedbf0fd7cb4446, target branch master) failed with status FAILURE.


chore(deps): bump https://github.com/salaboy/fmtok8s-email from 0.0.33 to 0.0.34

Update salaboy/fmtok8s-email from 0.0.33 to 0.0.34
Command run was jx step create pr chart --name fmtok8s-email --version 0.0.34 --repo https://github.com/salaboy/fmtok8s-springone-app.git

[APPROVALNOTIFIER] This PR is NOT APPROVED
This pull-request has been approved by:
To complete the pull request process, please assign salaboy
You can assign the PR to them by writing /assign @salaboy in a comment when ready.
The full list of commands accepted by this bot can be found here.

Needs approval from an approver in each of these files:

OWNERS

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment


add low /no code build framework into nave-ui may power it more

This function solves the problem (这个功能解决的问题)
hope easily build page with a clean ui
Expected API (期望的 API)
i guess it need huge design over original  architecture

We have no extra energy to do this. If you are interested feel free to open a new project based on naive-ui.


[BUG]: None argument not handled for built-in types

Problem description
A function that takes argument int*, const char* or std::string* doesn't accept None even if .none() is specified.
Passing None works for struct Foo*. In pybind11, it works for all types additionally for char*.
Reproducible example code
m.def("string_none", [](std::string *p) { return !p; }, "p"_a.none());
m.def("int_none", [](int *p) { return !p; }, "p"_a.none());
m.def("cstring_none", [](const char *p) { return !p; }, "p"_a.none());

t.string_none(None)
t.int_none(None)
t.cstring_none(None)

Each of the functions above ends with an error message like this:
>       t.int_none(None)
E       TypeError: int_none(): incompatible function arguments. The following argument types are supported:
E           1. int_none(p: typing.Optional[int]) -> bool
E
E       Invoked with types: NoneType

his change is intentional in nanobind, where it simplified the type casters and function dispatch loop. To accomplish your goal, you would have to wrap the pointers in std::optional or similar types in other frameworks. If you absolutely need this functionality, then I suggest to use the more general pybind11 framework. (nanobind is designed to be tiny+fast, and that entails dropping features sometimes)

I appreciate it's tiny and fast – that's why I migrating to nanobind.
The current behavior is actually documented, I just missed it before opening this issue.
That said, I tested it quickly and I believe that all that's needed to convert None->nullptr for char* (pybind11 also doesn't handle None for built-in types, but makes exception for char*) would be one line change in this error-handling branch:
--- a/include/nanobind/nb_cast.h
+++ b/include/nanobind/nb_cast.h
@@ -284,7 +284,7 @@ template <> struct type_caster<char> {
         value = PyUnicode_AsUTF8AndSize(src.ptr(), &size);
         if (!value) {
             PyErr_Clear();
-            return false;
+            return src.is_none();
         }
         return true;
     }

No problem if you prefer to not handle None here, though. The workaround with std::optional is also good.


[MINOR][DOCS] Fix fabric8 version in documentation

What changes were proposed in this pull request?

fix kubernetes-client version doc
Why are the changes needed?

correct doc
Does this PR introduce any user-facing change?

nah
How was this patch tested?

nah

Test build #118574 has started for PR 27605 at commit 46fb5bb.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder-K8s/23329/
Test PASSed.

Test build #118574 has finished for PR 27605 at commit 46fb5bb.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/118574/
Test PASSed.

Test build #118626 has started for PR 27605 at commit bf2d0ac.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder-K8s/23379/
Test PASSed.

Test build #118626 has finished for PR 27605 at commit bf2d0ac.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/118626/
Test PASSed.

Merged to master/3.0


Switch back to iced master

Currently onagre is build on my iced fork and use a patched wgpu version (see:  myfreeweb/wgpu) to support window transparency on wayland.
When those will be merged/released we will be able to transition use to iced/master:

[ ]  iced/#599
[ ] wgpu 0.6

Im asuming this error has something to do with it?? any idea on a fix i tried looking in the Cargo.toml and didnt see anything wrong with the dependancy urls...
╰─>$ cargo build
Updating git repository https://github.com/oknozor/iced
error: failed to get iced as a dependency of package onagre v0.1.0 (/usr/home/buckbucks/git/arewewayland/onagre)
Caused by:
failed to load source for dependency iced
Caused by:
Unable to update https://github.com/oknozor/iced#267b69c3
Caused by:
object not found - no match for id (267b69c311bf33ba20aab5883d5ed72e9254dd70); class=Odb (9); code=NotFound (-3)

I made some update on the iced fork and update de lock file on onagre, can you try to build again ?


Mrgeo info doesn't find MrsPyramid

The mrgeo info command is currently broken.
Eg. if I run:

./bin/mrgeo info greece

where greece is a MrsPyramid dataset, I get:

MrsPyramid does not exist: "greece"

I think it's useful command so would be nice to keep if possible.

It looks like the command isn't using the DataProvider interface to get the pyramid.  I'll change it...


Backup/restore best practice guide

We're seeing an increasing number backup/restore as well as migration use cases. These obviously can be done with Monaco, however no how-to guide or best practices are currently provided.
It would be nice to have such a guide in the official Monaco documentation.

Agreed

@tobigremmer-dt as you are one of the experts on backup/restore use-cases, could you possibly contribute such a guide yourself?
Feel free to reach out internally for pointers on how to add to the new documentation's guides https://www.dynatrace.com/support/help/shortlink/configuration-as-code-guides


full gene names

The functionality described in the CTD2 Github for displaying full gene names and additional background information should also be implemented in the HIPC Dashboard.
See https://github.com/CBIIT/nci-ctd2-dashboard/issues/240

works as expected, tested in production.  Finds example "HEL-S-163pA" from CBIIT/nci-ctd2-dashboard#240


паника при cntrl+c

как повторить:
cargo pike new test_plugin
cd test_plugin
cargo build
cargo pike run

и сразу жмем cntrl+c
получаем повисший процесс и лог:
SocketError: unexpected EOF when reading from socket, called on fd 22, aka <IP_ADDRESS>:58584, peer of <IP_ADDRESS>:3001: Broken pipe
CRITICAL: failed to activate myself: failed to connect to address '<IP_ADDRESS>:3001': Connection refused (os error 111), shutting down...
2024-12-23 17:11:13.367 [2120715] main/104/interactive C> failed to activate myself: failed to connect to address '<IP_ADDRESS>:3001': Connection refused (os error 111), shutting down...
thread 'main' panicked at src/cli/run.rs:143:53:
called `Result::unwrap()` on an `Err` value: EIO
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace

Должно решиться с тикетом #16


[Oruga-next][Vue 3.x] AddonsClass not working on Field component

Overview of the problem
Oruga-next version: [0.2.2]
Vuejs version: [3.0.5]
OS/Browser: Chromium/Firefox
Description
o-field--addons class is not added on Field component because of slot implementation on Vue3.
The problem is here:
oruga/packages/oruga/src/components/field/Field.vue
hasAddons() {
            let renderedNode = 0
            if (this.$slots.default) {
                renderedNode = this.$slots.default.reduce((i, node) => node.tag ? i + 1 : i, 0)
            }
            return (
                renderedNode > 1 &&
                this.addons &&
                !this.horizontal
            )
        }

this.$slots
https://v3.vuejs.org/guide/migration/slots-unification.html
Maybe deep refactoring is required, because Oruga uses lots of slot.

You are watching Vue 2 branch, you should take a look at oruga-next branch.
Btw we are working on new breaking release 0.3.0 and soon I'll update next branch 😉

You are watching Vue 2 branch, you should take a look at oruga-next branch.
Btw we are working on new breaking release 0.3.0 and soon I'll update next branch 😉

I can't see oruga-next branch in GH, but I'm using it on my code (I installed Oruga with yarn add @oruga-ui/oruga-next command).

I can't see oruga-next branch in GH, but I'm using it on my code (I installed Oruga with yarn add @oruga-ui/oruga-next command).

I meat packages https://www.github.com/oruga-ui/oruga/tree/develop/packages%2Foruga-next
It's working in progress, but probably next week will be available!!

I meat packages https://www.github.com/oruga-ui/oruga/tree/develop/packages%2Foruga-next
It's working in progress, but probably next week will be available!!

@jtommy I solved this issue by changing this line: https://github.com/oruga-ui/oruga/blob/d75cb663b6322ff89e244997e8c795dfd894fd08/packages/oruga-next/src/components/field/Field.vue#L218
With this code:
                renderedNode = this.$slots.default().reduce((i: number, node: any) => node.type ? i + 1 : i, 0)

Seems that no more tag attrib in node element.

@jtommy I solved this issue by changing this line: https://github.com/oruga-ui/oruga/blob/d75cb663b6322ff89e244997e8c795dfd894fd08/packages/oruga-next/src/components/field/Field.vue#L218
With this code:
                renderedNode = this.$slots.default().reduce((i: number, node: any) => node.type ? i + 1 : i, 0)

Seems that no more tag attrib in node element.

@jtommy I just got the same error, could you reopen the issue or help me to workaround this issue ?
I would like to avoid hot-patching oruga codebase like @mllull did.


Allow override of federation directives

See issue 1125.

Added some logic to track what directives are used, and defaulted the imported directives to only import what is used

Added some logic to track what directives are used, and defaulted the imported directives to only import what is used

Awesome! Going to be using this straight away. Thanks.


support for protocol buffers?

Hello this looks great, thanks very much. I'm using the levelDB setting - as I'd like to save a bunch of records via Node.js - then copy it all over to my server for read only access from my serverless single page javascript app.
Look like I'll be able to do that nicely with this - but I'm also planning to use protocol buffers instead of json, as I have a lot of data - I've seen some other Node.js libraries that save to leveldb with this - and I think I can just decode/encode with yours - but have you thought of adding support for this?
Thanks again.

Hello Mspanish,
I actually hadn't heard of protocol buffers before you opened this issue, just learned a few things. 👍
I'm honestly not sure how you would go about writing protocol buffer support, from my (very basic) understanding it's not a standard but a set of concepts like Flux.
I'd guess that the protocol buffer feature would provide an alternative to the data model architecture currently being used, a different way to describe how you're storing the data.
Let me know what you're thinking.
Best,
Scott

I just heard about it yesterday :)  I'm just trying to get the leanest, fastest datastore possible for a static website. I started by Googling "alternative to JSON"  - and quickly came up with MessagePack, BSON, and then Protocol Buffers as well as a couple of similar ones. Seems binary stores and loads quicker, which would be great!
I'll keep digging as it looks quite promising - -but one question I have is about NanoSql - I haven't tested client side yet  - but using LevelDB that I just copy over (prepopulated with static data) - the user can access records 1 at a time, right? As in, when they search for a specific record - they don't have to download all of the JSON in order to access it?  For example right now I have maybe 10MB of data that feeds my graphics app -  but the chunks are actually  very small - not even 1 KB per record. So imagine what a waste if each user had to download all that JSON just to get a few graphic definitions! I tried Oboe.js for streaming regular json - but it had no effect on the quantity of data they had to do - even though I set it to "hang up" when they found their item, as some items were located closer to the bottom of the index - the user still ends up with a big payload just to access a few things.
The old way to do this is to just use a server for the data - and I was going to do that - until I began looking into all of this other stuff, and thought there just may  be a way to do this.
Thanks for your lib, it shows a lot of initiative, and looks like a fantastic db.

I've been using NanoSQL as a MySQL replacement on quite a few projects with great success.
With NanoSQL and the LevelDB backend a full table scan of 100,000 records takes around a second on a low end system.  So even if you use a complex .where() statement with a large number of records, you can expect the result back very quickly.
If you can find a way to keep your search queries  limited to trie types or secondary indexes, you can expect queries to return within 10s of milliseconds.
I've got a little bit of documentation optimizing queries:
https://github.com/ClickSimply/Nano-SQL/wiki/4.-Default-Store#performance-considerations
So you can use .where() on the server to select only the records the user is looking for, with that you can simply write a simple function with express to return only the desired results from the server:
app.get("/items", (req, res) => {
    if (!req.query.title) {
        res.status(500).send("Invalid query!").end();
        return false;
    }
    nSQL("records").query("select").where(["title","LIKE",req.query.title]).exec().then((rows) => {
        res.status(200).send(rows).end()
    });
});

With that, someone can send a request like website.com/items?title=world and they'll get back a json of all matching records.
This doesn't require the client to download any records they don't need, only getting the ones they're seeking.
Hope that makes sense!
Best,
Scott

Another note... you could easily save the records pulled from your server into client side nanoSQL instance with the same data models.  With persistence on the client enabled this will give you the offline capability you're after.

Hello and thanks again! How do I get the client side to know where the DB is?  So if I have a bunch of saved  data that I created in Node.js, if I copy the db folder over to the client - how would I get NanoSQL to know where to look for it?

I'm not sure if I made it clear enough that I don't plan to serve this app from a server at all, it's a purely serverless environment - where the backend is being built offline.

Are you running an Electron app then?  Where is the LevelDB running from and where is the client system in relationship to it?

No - just plan html5 (Backbone). Right now i'm running on localhost - but the app will deploy to Netlify - a static web host.
I'm building everything locally using Node.js - I am just looking for a chunkable, portable data format so that users can access chunks of data from the Backbone app, with no need for a server.  The alternative is to serve the graphic definitions from a regular database - I've uploaded some data to Appbase.io, and was going to serve my graphic definitions that way when I began reading about Protocol Buffers and other stuff - so I got the idea that I could build the DB using my local server and Node.js, then port all of the data to my web server, where the user could access this data through the web browser/app.

Does levelDB require the user to use only data created BY the particular instance? So you cannnot use prepopulated or portable databases? Sorry about my lack of understanding in this area!

No problem at all. :)
Level DB stores it's actual data in files that aren't portable in the way you're describing, they must opened by software on your computer/server designed to work with Level DB stores.
For the use case you're describing, LevelDB isn't a good solution since it MUST have a nodeJS instance running to serve it's data.
If you're using a static web host your options are very limited.  You have two routes you can take:

You serve the data from somewhere like appbase.io or some other database as service.
Chunk the data down into a bunch of smaller json files, host them on the static web host and ajax them in as desired.

At this point you could use anything to store the data locally in the browser.  If you plan to allow the data to stick around after a page reload then using nanoSQL in your app with {persistent:true} will cause nanoSQL to save all the data you put into it to IndexedDB.
Hope that's helpful!

that's very helpful - wading through all of the leveldb stuff I couldn't really tell if what I wanted to do was possible (it did seem unlikely to have access to any kind of DB client side without reading the whole thing, unless the data was stored in chunks to begin with!  Thanks a lot, I'll see if I can use NanoSql on the other end to help with caching data and user stuff.


Dev / QA: DB scrub script

This script should run when a dev or QA instance is setup.  It should:

Anonymize user data, and/or possibly delete all users with uid != 1, and then add a few authenticated users with the various roles defined in dosomething_user.

If lots of nodes, delete them to maintain a very small set of content.

Here's a Classic Issue :older_man: :older_woman: we should resuscitate.
We run into dev problems when working with a restrictive set of content locally. I'd much rather have a working set that has

A full set of content (campaigns, facts pages, static content, etc.)
A small set of member users

I think we can actually close this one out, if we aren't gong to be moving QA into dev. and stage is mainly good enough for dev


Scratch fixes

scrixes

Known issues (as mentioned in discord):

on main, I can save the scratches I create immediately, whereas on scrixes I cannot
on main, saving seems to convince the front-end that the saved state is equal to the current state, so the save button isn't pressable again until other updates. on scrixes, I can keep pressing save
on main, when I fork, I don't get the "unsaved changes" dialog that I get on scrixes, and when I move to the new fork, changes to the source code trigger a state change. on scrixes, the state seems kind of frozen after forking


Scratch Org Pool creation failure

Describe the bug
Unable to provision a scratch org using sfpowerkit:pool:create
To Reproduce
Steps to reproduce the behavior:

npx sfdx sfpowerkit:pool:create

Expected behavior
Expected scratch orgs to be created and provisioned.
Screenshots

Desktop (please complete the following information):
Pool: Azure Pipelines
Image: ubuntu-20.04

Thanks @Caitlyn-Mills  for raising the issue. Its caused by sfdx plugins missing the user namespace.
We are tracking this closely.

Thanks @Caitlyn-Mills  for raising the issue. Its caused by sfdx plugins missing the user namespace.
We are tracking this closely.

A fix has been applied and testing out

A fix has been applied and testing out

@azlam-abdulsalam -- If you don't mind, would you point me to the active branch that has the hotfix for this issue.  I already have the project setup locally and could verify the fix.  My teams are evaluating Scratch Org Pooling.  We would like to evaluate this weekend as we have some high priority projects that need something like this immediately.  At the moment, the evaluation is blocked by this issue.  Switching to the active hotfix branch would allow us to continue to evaluate while giving your team an independent verification method.  Just let me know.  I appreciate it!

@azlam-abdulsalam -- If you don't mind, would you point me to the active branch that has the hotfix for this issue.  I already have the project setup locally and could verify the fix.  My teams are evaluating Scratch Org Pooling.  We would like to evaluate this weekend as we have some high priority projects that need something like this immediately.  At the moment, the evaluation is blocked by this issue.  Switching to the active hotfix branch would allow us to continue to evaluate while giving your team an independent verification method.  Just let me know.  I appreciate it!

Awesome, happy to help, dm me directly for anything you need to make ot work :)
https://github.com/Accenture/sfpowerkit/tree/hotfix/pool
If you are looking at the CI side of stuff, have a look at sfpowerscripts orchestrator as well.
https://dxatscale.gitbook.io/sfpowerscripts/faq/orchestrator
https://github.com/Accenture/sfpowerscripts

Awesome, happy to help, dm me directly for anything you need to make ot work :)
https://github.com/Accenture/sfpowerkit/tree/hotfix/pool
If you are looking at the CI side of stuff, have a look at sfpowerscripts orchestrator as well.
https://dxatscale.gitbook.io/sfpowerscripts/faq/orchestrator
https://github.com/Accenture/sfpowerscripts


merge from arlac77/npm-package-template-esm-only

package.json

chore(package<EMAIL_ADDRESS>chore(scripts): cover@#overwrite c8 -x 'tests/**/*.mjs' --temp-directory build/tmp ava && c8 report -r lcov -o build/coverage --temp-directory build/tmp

Coverage remained the same at 76.051% when pulling 20f00bfbf0dce93d65ea07957ad9f7bb1db50c08 on npm-template-sync/1 into b8b84b6da94d62ce4d05df3f0e86f647daebc650 on master.

Codecov Report

Merging #579 into master will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##           master     #579   +/-   ##
=======================================
  Coverage   75.94%   75.94%
=======================================
  Files           2        2
  Lines         474      474
=======================================
  Hits          360      360
  Misses        114      114

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update b8b84b6...20f00bf. Read the comment docs.

:tada: This PR is included in version 3.0.0 :tada:
The release is available on:

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


URLs get processed too

The :/ pattern is matched in  "http://foo", so the output is something like "http :frowning: /foo".
Would there be an easy way to fix this?

Hi @akx!
I use with react-autolink in my case, so first convert url to link, then convert if it matches with emoji annotation or emoticon.
  mixins: [
    ReactAutolink,
    ReactEmoji
  ],

  renderMessage: function(contents) {
    return _.flatten(
      this.autolink(contents, {target: "_blank"}).map(function(content) {
        if (React.isValidElement(content)) {
          return content;
        } else {
          return this.emojify(content);
        }
      }.bind(this))
    );
  },

  render: function() {
    return this.renderMessage(this.props.text));
  }

Aside from this solution, I feel I may remove :/ from dictionary, https://github.com/banyan/emoji-emoticon-to-unicode/blob/master/emoji-emoticon-to-unicode.js#L94
What do you think?

For the time being, I ended up just disabling emoticons altogether, which is fine for my use case -- I really only need support for annotations anyway.
Also, hey, react-autolink looks neat! I was looking for something like that, but ended up just writing my own, actually the other way around wrt react-emoji:
function formatText(text) {
    var content = [];
    if(!_.isString(text)) return [];
    _.each(text.split("\n"), function(line, index) {
        line = _.trim(line);
        if(line && line.length) {
            content.push(_.map(ReactEmoji.emojify(line, {useEmoticon: false}), function(bit, index) {
                if(_.isString(bit)) {
                    if(urlRegexp.test(bit)) {
                        bit = {ellipsize(bit, 40)};
                    }
                }
                return bit;
            }));
            content.push(
);
        }
    });
    return content;
}

And thanks for your work on react-emoji!

is there a way to remove :/ from dictionary in config/runtime?

@akx
Sorry for the late reply! Thank you, too! :smile:
@warpech
My friend told me an good idea to use negated lookahead for :/. I'll apply soon (sorry I'm a bit busy today).


[SPARK-9400][SQL] codeGen stringLocate

Jira: https://issues.apache.org/jira/browse/SPARK-9400

Can one of the admins verify this patch?

Can one of the admins verify this patch?

Jenkins, ok to test.

Seems jenkins ignores @rxin's "add to whitelist" order again :)

Test build #1251 has started for   PR 7779 at commit b737590.

Test build #1251 has finished for   PR 7779 at commit b737590.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

LGTM, will merge this into master (fixing the confict).