OpenWrt Forum Archive

Topic: dslite (RFC6333) is broken on WRT3200

The content of this topic has been archived on 5 May 2018. There are no obvious gaps in this topic, but there may still be some posts missing at the end.

Hey everybody,

I received an Linksys WRT 3200 yesterday to replace my old Linksys E4200, which seems to be way to old to handle dslite well, but it works.
It doesn't, however, on the WRT 3200 with no clear reason. I tried latest trunk and davids build, but both get no IPv4 connection at all.
dhcpv6 works fine for wan6 on both builds and I can access the v6 part of the www.

When I watch logread it loops mainly one thing very fast:

Sat Apr  7 16:13:42 2018 daemon.notice netifd: Interface 'wan6_4' is setting up now
Sat Apr  7 16:13:43 2018 daemon.notice netifd: wan6_4 (13814): Command failed: Unknown error
Sat Apr  7 16:13:43 2018 daemon.notice netifd: Interface 'wan6_4' is now down
Sat Apr  7 16:13:43 2018 daemon.notice netifd: Interface 'wan6_4' is setting up now

I tried running /lib/netifd/proto/dslite.sh by itself, which returns "./dslite.sh: line 106: add_protocol: not found", when I comment the last three lines it runs without any output.
My shell scripting ability isn't very powerful, so I can't really make any sense of the json* and proto* parts of it.

Funny sidenode: it's the same on the E4200, but there, it works. I can even stop ds-wan (with luci for example) to stop the error flood in logread and I still keep a working v4 connection.

What else could I check? I am fairly new to openwrt, I am using it for exactly one week now smile So far, I really like what I see, but I really don't know where to look to solve this. Can somebody help please?

Thanks in advance!
Best regards
Tim

Edit: I should add: On the Linksys E4200 I tried everything from 15.05.1 upwards to selfcompiled trunk images, dslite worked on every single one of them with the very same behavior, yet providing a working v4 connection which was slow but stable.

(Last edited by tb on 7 Apr 2018, 17:28)

So a little update from me, I tried official 17.01.4 and it's working right now rock solid for the past 3 hours.

Something between 17.01.4 and now broke dslite on WRT3200, what could it be?

Anybody?

I wanted to try the working configs against the others, and maybe try the same version dnsmasq/odhcp that 17.01.4 uses, any thoughts?

Don't have any new info for you. But when you get the error "protocol not found" sounds like you are missing a kernel module.

Hey,

thanks for the info! I have no idea how to verify that though, especially that I only got that error when I run /lib/netifd/proto/dslite.sh by itself.

The only error I get on 17.01.4 is "Wed Apr 11 10:49:31 2018 daemon.notice netifd: wan6 (1287): Command failed: Unknown error", this happens every minute, but the connection works flawlessly.

So, swapping network conf files with the working 17.01.4 doesn't work.. maybe the newest odhcp6c is faulty?

While on a fresh 17.01.4 I can download packages via IPv6 instantly, newest snapshot from today even has a problem with that.
Would support my theory that the newer odhcp6c version has a bug.

To better understand the less-than-useful error. I would suggest running the script manually like this:

sh -x /lib/netifd/proto/dslite.sh

That will show you display as each line is executed, and you will have a better idea of what is causing the error.

Hey cvmiller,
thanks again!

When I run it like that it indeed shows a nice list of steps. I can run the script like that without an error (you have to be in /lib/netifd/proto when you run it since there are softlinks to ../netifd-proto.sh)
There is no error. Of course there is no connection like that.

I tried newest snapshot with odhcp6c from 17.01.4 - with that I get an working IPv6 connection. DS-Lite still fails though.

I'm experiencing the same issue as described here.
With the current stable release of 17.01.4 it does work but not the latest snapshots or with SuperWRT or Davids WRT Version... :worried: Not sure how i can help to fix it

Thanks for running the script with '-x'. I thought you said you saw the error when running it manually.

I agree there is something that is broken, I am just not sure it is odhcp6c. The Devs should be made aware of this problem before the next release of OpenWrt is released (which I thought was going to be this month). But it would be good to know for sure that it is odhcp6c.

Have you ever used strace? It is a great debugging tool for binary apps. You can "attach" it to a running PID, and it will spit out lots of detail, including your error message if it is, in fact, odhcp6c.

Once you capture the error in strace, you can raise that to the Devs, and it will be much easier for them to fix the problem.

Hey,
yes, there was an error before running it without -x, but the error was caused by the last three lines of the script (and I think they just add the protocol to luci?) - yesterday I ran the command with all the parameters that are used in the working environment - that worked fine.

I tried to use strace once or twice, but I wouldn't say that those are success stories. What do you suggest? strace the dslite script? odhcp6c?

I have never tried to strace a shell script (since one can run -x to debug). I would suggest stracing odhcp6c and pipe that to a grep looking for the error. Something like this:

strace -p <pid of odhcp6c> -o - | grep add_protocol

Note: strace normally prints to stderr, in order to pipe to grep tell strace to output to stdout first e.g. '-o -'

Okay, will do (maybe not tonight, tomorrow then!) smile

the add_protocol thing, I am still not sure if this is the root of the problem. But we will see what strace will show smile I'll report back asap

Sorry for the late reply cvmiller!

I straced the script now. Hope it helps, I'll try and read something out of it too

[b]root@OpenWrt:~#[/b] ifconfig -a
br-lan    Link encap:Ethernet  HWaddr 62:38:E0:C5:45:B0
          inet addr:192.168.1.1  Bcast:192.168.1.255  Mask:255.255.255.0
          inet6 addr: fe80::6038:e0ff:fec5:45b0/64 Scope:Link
          inet6 addr: 2a02:xxx:xxxx:xxxx::1/64 Scope:Global
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:5098 errors:0 dropped:0 overruns:0 frame:0
          TX packets:11016 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:621925 (607.3 KiB)  TX bytes:5445277 (5.1 MiB)

ds-wan    Link encap:UNSPEC  HWaddr 2A-02-09-08-13-00-00-0C-00-00-00-00-00-00-00-00
          inet addr:192.0.0.2  P-t-P:192.0.0.1  Mask:255.255.255.255
          inet6 addr: fe80::88a:bbff:fe63:bae9/64 Scope:Link
          UP POINTOPOINT RUNNING NOARP  MTU:1280  Metric:1
          RX packets:100 errors:0 dropped:0 overruns:0 frame:0
          TX packets:793 errors:5 dropped:5 overruns:0 carrier:5
          collisions:0 txqueuelen:1000
          RX bytes:5799 (5.6 KiB)  TX bytes:44923 (43.8 KiB)

eth0      Link encap:Ethernet  HWaddr 62:38:E0:C5:45:B0
          inet6 addr: fe80::6038:e0ff:fec5:45b0/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:5249 errors:0 dropped:0 overruns:0 frame:0
          TX packets:12430 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:532
          RX bytes:728733 (711.6 KiB)  TX bytes:5595212 (5.3 MiB)
          Interrupt:37

eth0.1    Link encap:Ethernet  HWaddr 62:38:E0:C5:45:B0
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:5141 errors:0 dropped:0 overruns:0 frame:0
          TX packets:11246 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:626589 (611.9 KiB)  TX bytes:5457237 (5.2 MiB)

eth1      Link encap:Ethernet  HWaddr 60:38:E0:C5:45:B0
          inet6 addr: fe80::6238:e0ff:fec5:45b0/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:28397 errors:0 dropped:0 overruns:0 frame:0
          TX packets:5490 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:532
          RX bytes:6201071 (5.9 MiB)  TX bytes:685638 (669.5 KiB)
          Interrupt:36

eth1.2    Link encap:Ethernet  HWaddr 60:38:E0:C5:45:B0
          inet6 addr: 2a02:xxx:xxxx:xxxx:xxxx:xxxx:5e1f/128 Scope:Global
          inet6 addr: fe80::6238:e0ff:fec5:45b0/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:27282 errors:0 dropped:0 overruns:0 frame:0
          TX packets:5451 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:5623025 (5.3 MiB)  TX bytes:660600 (645.1 KiB)

ip6tnl0   Link encap:UNSPEC  HWaddr 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00
          NOARP  MTU:1452  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)

lo        Link encap:Local Loopback
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:65536  Metric:1
          RX packets:14806 errors:0 dropped:0 overruns:0 frame:0
          TX packets:14806 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:1556849 (1.4 MiB)  TX bytes:1556849 (1.4 MiB)

mlan0     Link encap:Ethernet  HWaddr 60:38:E0:C5:45:B3
          BROADCAST MULTICAST  MTU:1500  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)

wlan0     Link encap:Ethernet  HWaddr 60:38:E0:C5:45:B2
          BROADCAST MULTICAST  MTU:1500  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)

wlan1     Link encap:Ethernet  HWaddr 60:38:E0:C5:45:B1
          BROADCAST MULTICAST  MTU:1500  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)
[b]root@OpenWrt:~#[/b] cd /lib/netifd/proto/
[b]root@OpenWrt:/lib/netifd/proto#[/b] strace ./dslite.sh dslite setup wan6_4 {"name":"
wan6_4","ifname":"@wan6","proto":"dslite","peeraddr":"de-dus01a-cr12.aftr.umkbw.
net","tunlink":"wan6","zone":"wan"}
execve("./dslite.sh", ["./dslite.sh", "dslite", "setup", "wan6_4", "{name:wan6_4                                                                                                                                                             ,ifname:@wan6,proto:"...], 0xbec51d60 /* 13 vars */) = 0
set_tls(0xb6fad544, 0xbeac9b88, 0x49052ab4, 0, 0xb6fad4a0) = 0
set_tid_address(0xb6fad4bc)             = 27709
open("/etc/ld-musl-armhf.path", O_RDONLY|O_LARGEFILE|O_CLOEXEC) = -1 ENOENT (No                                                                                                                                                              such file or directory)
open("/lib/libgcc_s.so.1", O_RDONLY|O_LARGEFILE|O_CLOEXEC) = 3
fcntl64(3, F_SETFD, FD_CLOEXEC)         = 0
fstat64(3, {st_mode=S_IFREG|0644, st_size=41251, ...}) = 0
read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0(\0\1\0\0\0\20<\0\0004\0\0\0"..., 93                                                                                                                                                             6) = 936
mmap2(NULL, 110592, PROT_READ|PROT_EXEC, MAP_PRIVATE, 3, 0) = 0xb6f1c000
mmap2(0xb6f35000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED, 3, 0x9000)                                                                                                                                                              = 0xb6f35000
close(3)                                = 0
mprotect(0xb6f35000, 4096, PROT_READ)   = 0
mprotect(0x7f000, 4096, PROT_READ)      = 0
prctl(PR_SET_NAME, "sh")                = 0
getuid32()                              = 0
getpid()                                = 27709
rt_sigprocmask(SIG_UNBLOCK, [RT_1 RT_2], NULL, 8) = 0
rt_sigaction(SIGCHLD, {sa_handler=0x30c5c, sa_mask=~[RTMIN RT_1 RT_2], sa_flags=                                                                                                                                                             SA_RESTORER, sa_restorer=0xb6f78d2c}, NULL, 8) = 0
rt_sigaction(SIGHUP, {sa_handler=SIG_DFL, sa_mask=[], sa_flags=SA_RESTORER|SA_RE                                                                                                                                                             START, sa_restorer=0xb6f78d2c}, {sa_handler=SIG_DFL, sa_mask=[], sa_flags=0}, 8)                                                                                                                                                              = 0
getppid()                               = 27707
uname({sysname="Linux", nodename="OpenWrt", ...}) = 0
stat64("/lib/netifd/proto", {st_mode=S_IFDIR|0755, st_size=232, ...}) = 0
stat64(".", {st_mode=S_IFDIR|0755, st_size=232, ...}) = 0
open("./dslite.sh", O_RDONLY|O_LARGEFILE) = 3
fcntl64(3, F_DUPFD, 10)                 = 10
close(3)                                = 0
fcntl64(10, F_SETFD, FD_CLOEXEC)        = 0
rt_sigaction(SIGINT, NULL, {sa_handler=SIG_DFL, sa_mask=[], sa_flags=0}, 8) = 0
rt_sigaction(SIGINT, {sa_handler=0x30c5c, sa_mask=~[RTMIN RT_1 RT_2], sa_flags=S                                                                                                                                                             A_RESTORER, sa_restorer=0xb6f78d2c}, NULL, 8) = 0
rt_sigaction(SIGQUIT, NULL, {sa_handler=SIG_DFL, sa_mask=[], sa_flags=0}, 8) = 0
rt_sigaction(SIGQUIT, {sa_handler=SIG_IGN, sa_mask=~[RTMIN RT_1 RT_2], sa_flags=                                                                                                                                                             SA_RESTORER, sa_restorer=0xb6f78d2c}, NULL, 8) = 0
rt_sigaction(SIGTERM, NULL, {sa_handler=SIG_DFL, sa_mask=[], sa_flags=0}, 8) = 0
read(10, "#!/bin/sh\n# dslite.sh - IPv4-in-"..., 511) = 511
wait4(-1, 0xbeac998c, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbeac9944, WNOHANG, NULL)    = -1 ECHILD (No child process)
open("/lib/functions.sh", O_RDONLY|O_LARGEFILE) = 3
fcntl64(3, F_DUPFD, 10)                 = 11
close(3)                                = 0
fcntl64(11, F_SETFD, FD_CLOEXEC)        = 0
read(11, "#!/bin/sh\n# Copyright (C) 2006-2"..., 511) = 511
wait4(-1, 0xbeac9634, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbeac9634, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbeac9634, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbeac9634, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbeac9634, WNOHANG, NULL)    = -1 ECHILD (No child process)
read(11, "\"${val%% $str *}\" != \"$val\" ]\n}\n"..., 511) = 511
wait4(-1, 0xbeac9634, WNOHANG, NULL)    = -1 ECHILD (No child process)
read(11, "CONFIG_SECTION=\"$name\"\n\texport $"..., 511) = 511
read(11, "ECTION\" \"${varname}_ITEM$len\" \"$"..., 511) = 511
brk(NULL)                               = 0x87a000
brk(0x87b000)                           = 0x87b000
read(11, "> <section> <option> [<default>]"..., 511) = 511
read(11, "\n\tlocal ___type=\"$1\"\n\t[ \"$#\" -ge"..., 511) = 511
brk(0x87c000)                           = 0x87c000
read(11, "TH\"\n\t[ -z \"$len\" ] && return 0\n\t"..., 511) = 511
read(11, "/${name}.prerm-pkg\"\n\n\tlocal shel"..., 511) = 511
brk(0x87d000)                           = 0x87d000
read(11, " tuple oIFS=\"$IFS\"\n\t\tfor tuple i"..., 511) = 511
read(11, "n \"$uname\" ] && [ -n \"$gname\" ];"..., 511) = 511
brk(0x87e000)                           = 0x87e000
read(11, "fi\n\n\tif [ -z \"$root\" ] && grep -"..., 511) = 511
read(11, "che 2>/dev/null\n\n\tlocal shell=\"$"..., 511) = 511
brk(0x880000)                           = 0x880000
read(11, "ART##mtd}\"\n\n\techo ${INDEX}\n}\n\nfi"..., 511) = 511
read(11, "T}/etc/group\n}\n\ngroup_add_next()"..., 511) = 511
read(11, " $grp | grep \":$\")\" ] && delim=\""..., 511) = 511
brk(0x881000)                           = 0x881000
read(11, "     uid=$((uid + 1))\n\t\tdone\n\t}\n"..., 511) = 511
read(11, "|| echo \"generic\"\n}\n\n[ -z \"$IPKG"..., 511) = 94
wait4(-1, 0xbeac961c, WNOHANG, NULL)    = -1 ECHILD (No child process)
stat64("/lib/config/uci.sh", {st_mode=S_IFREG|0644, st_size=3691, ...}) = 0
wait4(-1, 0xbeac961c, WNOHANG, NULL)    = -1 ECHILD (No child process)
open("/lib/config/uci.sh", O_RDONLY|O_LARGEFILE) = 3
fcntl64(3, F_DUPFD, 10)                 = 12
close(3)                                = 0
fcntl64(12, F_SETFD, FD_CLOEXEC)        = 0
read(12, "#!/bin/sh\n# Shell script compati"..., 511) = 511
read(12, "n the implied warranty of\n# MERC"..., 511) = 511
wait4(-1, 0xbeac930c, WNOHANG, NULL)    = -1 ECHILD (No child process)
read(12, " ${NO_EXPORT:+-n} CONFIG_${VAR}="..., 511) = 511
brk(0x882000)                           = 0x882000
read(12, "}\n\nuci_set_default() {\n\tlocal PA"..., 511) = 511
read(12, "\n\tlocal CONFIG=\"$2\"\n\tlocal OPTIO"..., 511) = 511
brk(0x883000)                           = 0x883000
read(12, " \"$4\" \"/var/state\"\n}\n\nuci_get() "..., 511) = 511
read(12, "PE\")\"\n\telse\n\t\t/sbin/uci ${UCI_CO"..., 511) = 511
brk(0x884000)                           = 0x884000
read(12, "OPTION}\"\n}\n\nuci_commit() {\n\tloca"..., 511) = 114
read(12, "", 511)                       = 0
close(12)                               = 0
read(11, "", 511)                       = 0
close(11)                               = 0
wait4(-1, 0xbeac9944, WNOHANG, NULL)    = -1 ECHILD (No child process)
open("/lib/functions/network.sh", O_RDONLY|O_LARGEFILE) = 3
fcntl64(3, F_DUPFD, 10)                 = 11
close(3)                                = 0
fcntl64(11, F_SETFD, FD_CLOEXEC)        = 0
read(11, "# 1: destination variable\n# 2: i"..., 511) = 511
read(11, "ipaddr() {\n\t__network_ifstatus \""..., 511) = 511
read(11, "\"$1\" \"$2\" \"['ipv4-address'][0]['"..., 511) = 511
read(11, " do\n\t\t\tcase \"$__addr\" in fe[8ab]"..., 511) = 511
brk(0x885000)                           = 0x885000
read(11, "nterface\nnetwork_get_ipaddrs() {"..., 511) = 511
read(11, " __addr in $__addr; do\n\t\t\t__list"..., 511) = 511
read(11, " determine all IPv4 subnets of g"..., 511) = 511
read(11, "dr}\"\n\t\tdone\n\tfi\n\n\tif __network_i"..., 511) = 511
brk(0x886000)                           = 0x886000
read(11, "_get_prefixes6() {\n\t__network_if"..., 511) = 511
read(11, "IPv6 gateway of given logical in"..., 511) = 511
read(11, "s if \"true\" (optional)\nnetwork_g"..., 511) = 511
read(11, "$2\" \".inactive['dns-search'][ *]\""..., 511) = 511
brk(0x887000)                           = 0x887000
read(11, "ind_wan() { __network_wan \"$1\" \""..., 511) = 511
read(11, "erface\nnetwork_get_protocol() { "..., 511) = 511
read(11, "e name\nnetwork_defer_device()\n{\n"..., 511) = 466
read(11, "", 511)                       = 0
close(11)                               = 0
wait4(-1, 0xbeac995c, WNOHANG, NULL)    = -1 ECHILD (No child process)
open("../netifd-proto.sh", O_RDONLY|O_LARGEFILE) = 3
fcntl64(3, F_DUPFD, 10)                 = 11
close(3)                                = 0
fcntl64(11, F_SETFD, FD_CLOEXEC)        = 0
read(11, "NETIFD_MAIN_DIR=\"${NETIFD_MAIN_D"..., 511) = 511
wait4(-1, 0xbeac964c, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbeac964c, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbeac964c, WNOHANG, NULL)    = -1 ECHILD (No child process)
open("/usr/share/libubox/jshn.sh", O_RDONLY|O_LARGEFILE) = 3
fcntl64(3, F_DUPFD, 10)                 = 12
close(3)                                = 0
fcntl64(12, F_SETFD, FD_CLOEXEC)        = 0
read(12, "# functions for parsing and gene"..., 511) = 511
brk(0x888000)                           = 0x888000
read(12, "\"\"\n}\n\n_set_var() {\n\t# var=$1\n\tlo"..., 511) = 511
read(12, "_UNSET\" \"${4}_$var\"\n\t_jshn_appen"..., 511) = 511
brk(0x889000)                           = 0x889000
read(12, "EFIX}JSON_CUR\" \"U_$_s_cur\"\n}\n\njs"..., 511) = 511
read(12, "NSET\n}\n\njson_init() {\n\tjson_clea"..., 511) = 511
brk(0x88a000)                           = 0x88a000
read(12, "neric int \"$1\" \"$2\" \"$cur\"\n}\n\njs"..., 511) = 511
read(12, " \"$JSON_PREFIX\"} -w \n}\n\njson_get"..., 511) = 511
brk(0x88b000)                           = 0x88b000
read(12, "s() {\n\tlocal _v_dest=\"$1\"\n\tlocal"..., 511) = 511
read(12, " \"export -- \\\"$__dest=\\${$__var:"..., 511) = 511
brk(0x88c000)                           = 0x88c000
read(12, "ar JSON_CUR \"$cur\"\n\t\treturn 0\n\t}"..., 511) = 511
read(12, "n_get_type type \"$target\"\n\tcase "..., 511) = 347
brk(0x88d000)                           = 0x88d000
read(12, "", 511)                       = 0
close(12)                               = 0
wait4(-1, 0xbeac964c, WNOHANG, NULL)    = -1 ECHILD (No child process)
open("/lib/netifd/utils.sh", O_RDONLY|O_LARGEFILE) = 3
fcntl64(3, F_DUPFD, 10)                 = 12
close(3)                                = 0
fcntl64(12, F_SETFD, FD_CLOEXEC)        = 0
read(12, "N=\"\n\"\n\nappend() {\n\tlocal var=\"$1"..., 511) = 511
wait4(-1, 0xbeac933c, WNOHANG, NULL)    = -1 ECHILD (No child process)
read(12, "nt \"\" \"$type\"\n\t\tjson_close_array"..., 511) = 250
read(12, "", 511)                       = 0
close(12)                               = 0
read(11, "\"\n}\n\nproto_add_dynamic_defaults("..., 511) = 511
read(11, "ace\\\" \\\"$ifname\\\"\"\n}\n\nproto_init"..., 511) = 511
brk(0x88e000)                           = 0x88e000
read(11, "close_nested() {\n\t[ -n \"$PROTO_N"..., 511) = 511
brk(0x88f000)                           = 0x88f000
read(11, "to_add_ipv4_address() {\n\tlocal a"..., 511) = 511
read(11, "\"$target/$mask/$gw/$metric///$so"..., 511) = 511
read(11, "\n\tfi\n}\n\n_proto_push_ipv4_addr() "..., 511) = 511
brk(0x890000)                           = 0x890000
read(11, "eferred valid offlink\n\n\taddress="..., 511) = 511
read(11, "\"$class\" ] && json_add_string cl"..., 511) = 511
brk(0x891000)                           = 0x891000
read(11, "mask \"$mask\"\n\t[ -n \"$gw\" ] && js"..., 511) = 511
brk(0x892000)                           = 0x892000
read(11, "face=\"$1\"\n\tlocal options=\"$2\"\n\tj"..., 511) = 511
read(11, "sh_array \"ip6prefix\" \"$PROTO_PRE"..., 511) = 511
brk(0x893000)                           = 0x893000
read(11, "\"\n\t\tshift\n\tdone\n\tjson_close_arra"..., 511) = 511
read(11, "\t\tjson_add_string \"\" \"$1\"\n\t\tshif"..., 511) = 511
brk(0x894000)                           = 0x894000
read(11, "\t# see tickets #11046, #11545, #"..., 511) = 511
read(11, "\t\t\t\tadd_default_handler \"proto_$"..., 511) = 511
read(11, "setup|teardown|renew)\n\t\t\tinterfa"..., 511) = 329
brk(0x895000)                           = 0x895000
brk(0x896000)                           = 0x896000
read(11, "", 511)                       = 0
close(11)                               = 0
wait4(-1, 0xbeac9974, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbeac96c4, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbeac96c4, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbeac96dc, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbeac96f4, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbeac9614, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbeac9614, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbeac962c, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbeac9644, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbeac965c, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbeac9674, WNOHANG, NULL)    = -1 ECHILD (No child process)
read(10, "cfg\"\n\t\treturn\n\t}\n\n\t( proto_add_h"..., 511) = 511
read(10, "\tif ! network_get_ipaddr6 ip6add"..., 511) = 511
read(10, "\"$tunlink\" ] && json_add_string "..., 511) = 511
brk(0x898000)                           = 0x898000
read(10, "raddr\"\n\tproto_config_add_string "..., 511) = 225
wait4(-1, 0xbeac998c, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbeac998c, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbeac970c, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbeac96bc, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbeac9424, WNOHANG, NULL)    = -1 ECHILD (No child process)
pipe([3, 4])                            = 0
rt_sigprocmask(SIG_BLOCK, ~[], [], 8)   = 0
fork()                                  = 27730
rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0
close(4)                                = 0
read(3, Failed to parse message data
"", 128)                        = 0
close(3)                                = 0
wait4(-1, [{WIFEXITED(s) && WEXITSTATUS(s) == 1}], 0, NULL) = 27730
--- SIGCHLD {si_signo=SIGCHLD, si_code=CLD_EXITED, si_pid=27730, si_uid=0, si_st                                                                                                                                                             atus=1, si_utime=0, si_stime=0} ---
sigreturn({mask=[]})                    = 27730
wait4(-1, 0xbeac91d4, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbeac9424, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbeac943c, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbeac9454, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbeac9044, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbeac8af4, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbeac8af4, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbeac8b0c, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbeac8b24, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbeac8b3c, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbeac8b54, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbeac88d4, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbeac88a4, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbeac88a4, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbeac88a4, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbeac88a4, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbeac85f4, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbeac85f4, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbeac860c, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbeac83bc, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbeac7fac, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbeac8624, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbeac863c, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbeac8214, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbeac8214, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbeac88d4, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbeac88a4, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbeac88a4, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbeac88a4, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbeac88a4, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbeac85f4, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbeac85f4, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbeac860c, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbeac83bc, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbeac7fac, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbeac8624, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbeac863c, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbeac8214, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbeac8214, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbeac88d4, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbeac88a4, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbeac88a4, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbeac88a4, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbeac88a4, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbeac85f4, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbeac85f4, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbeac860c, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbeac83bc, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbeac7fac, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbeac8624, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbeac863c, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbeac8214, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbeac8214, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbeac88d4, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbeac88a4, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbeac88a4, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbeac88a4, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbeac88a4, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbeac85f4, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbeac85f4, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbeac860c, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbeac83bc, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbeac7fac, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbeac8624, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbeac863c, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbeac8214, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbeac8214, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbeac88d4, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbeac88a4, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbeac88a4, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbeac88a4, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbeac88a4, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbeac85f4, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbeac85f4, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbeac860c, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbeac83bc, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbeac7fac, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbeac8624, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbeac863c, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbeac8214, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbeac8214, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbeac88d4, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbeac88a4, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbeac88a4, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbeac88a4, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbeac88a4, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbeac85f4, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbeac85f4, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbeac860c, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbeac83bc, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbeac7fac, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbeac8624, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbeac863c, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbeac8214, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbeac8214, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbeac88d4, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbeac88a4, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbeac88a4, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbeac88a4, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbeac88a4, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbeac85f4, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbeac85f4, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbeac860c, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbeac83bc, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbeac7fac, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbeac8624, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbeac863c, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbeac8214, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbeac8214, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbeac88d4, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbeac8b54, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbeac8b24, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbeac882c, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbeac882c, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbeac8844, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbeac85c4, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbeac832c, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbeac832c, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbeac80dc, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbeac7ccc, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbeac82fc, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbeac835c, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbeac85c4, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbeac85dc, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbeac885c, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbeac85dc, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbeac85dc, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbeac838c, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbeac7f7c, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbeac85f4, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbeac8344, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbeac832c, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbeac8314, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbeac82fc, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbeac835c, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbeac8374, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbeac810c, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbeac810c, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbeac7cfc, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbeac838c, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbeac8124, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbeac8124, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbeac7d14, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbeac8874, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbeac8624, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbeac82fc, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbeac82fc, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbeac80ac, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbeac7c9c, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbeac8314, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbeac80c4, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbeac832c, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbeac8344, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbeac80dc, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbeac80dc, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbeac7ccc, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbeac835c, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbeac8374, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbeac838c, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbeac8124, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbeac8124, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbeac7d14, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbeac83a4, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbeac813c, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbeac813c, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbeac7d2c, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbeac83bc, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbeac810c, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbeac80f4, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbeac80dc, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbeac80c4, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbeac8124, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbeac813c, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbeac7ed4, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbeac7ed4, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbeac7ac4, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbeac8154, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbeac7eec, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbeac7eec, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbeac7adc, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbeac885c, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbeac8844, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbeac85c4, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbeac85c4, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbeac8374, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbeac7f64, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbeac85dc, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbeac832c, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbeac8314, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbeac8314, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbeac80c4, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbeac8344, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbeac835c, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbeac80f4, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbeac80f4, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbeac7ce4, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbeac8374, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbeac810c, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbeac810c, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbeac7cfc, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbeac8844, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbeac885c, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbeac88a4, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbeac8654, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbeac83d4, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbeac83d4, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbeac8184, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbeac7d74, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbeac83ec, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbeac819c, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbeac7d8c, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbeac88bc, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbeac8624, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbeac8624, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbeac863c, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbeac83bc, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbeac83bc, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbeac816c, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbeac7d5c, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbeac83d4, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbeac8124, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbeac810c, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbeac80f4, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbeac80dc, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbeac813c, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbeac8154, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbeac7eec, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbeac7eec, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbeac7adc, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbeac816c, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbeac7f04, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbeac7f04, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbeac7af4, WNOHANG, NULL)    = -1 ECHILD (No child process)
pipe([3, 4])                            = 0
rt_sigprocmask(SIG_BLOCK, ~[], [], 8)   = 0
fork()                                  = 27748
rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0
close(4)                                = 0
read(3, "{ \"action\": 3, \"error\": [ \"MISSI"..., 128) = 71
read(3, "", 128)                        = 0
--- SIGCHLD {si_signo=SIGCHLD, si_code=CLD_EXITED, si_pid=27748, si_uid=0, si_st                                                                                                                                                             atus=0, si_utime=0, si_stime=0} ---
sigreturn({mask=[]})                    = 0
close(3)                                = 0
wait4(-1, [{WIFEXITED(s) && WEXITSTATUS(s) == 0}], 0, NULL) = 27748
stat64("/usr/sbin/ubus", 0xbeac86a0)    = -1 ENOENT (No such file or directory)
stat64("/usr/bin/ubus", 0xbeac86a0)     = -1 ENOENT (No such file or directory)
stat64("/sbin/ubus", 0xbeac86a0)        = -1 ENOENT (No such file or directory)
stat64("/bin/ubus", {st_mode=S_IFREG|0755, st_size=12300, ...}) = 0
rt_sigprocmask(SIG_BLOCK, ~[], [], 8)   = 0
fork()                                  = 27752
rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0
wait4(-1, [{WIFEXITED(s) && WEXITSTATUS(s) == 0}], 0, NULL) = 27752
--- SIGCHLD {si_signo=SIGCHLD, si_code=CLD_EXITED, si_pid=27752, si_uid=0, si_st                                                                                                                                                             atus=0, si_utime=0, si_stime=0} ---
sigreturn({mask=[]})                    = 27752
wait4(-1, 0xbeac8b24, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbeac8874, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbeac8874, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbeac888c, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbeac860c, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbeac8374, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbeac8374, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbeac8124, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbeac7d14, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbeac8344, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbeac8344, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbeac8344, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbeac8344, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbeac8344, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbeac8344, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbeac83a4, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbeac860c, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbeac8624, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbeac88a4, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbeac8624, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbeac8624, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbeac83d4, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbeac7fc4, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbeac863c, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbeac838c, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbeac8374, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbeac835c, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbeac8344, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbeac83a4, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbeac83bc, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbeac8154, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbeac8154, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbeac7d44, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbeac83d4, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbeac816c, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbeac816c, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbeac7d5c, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbeac88bc, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbeac8624, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbeac8624, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbeac863c, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbeac83bc, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbeac83bc, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbeac816c, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbeac7d5c, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbeac83d4, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbeac8124, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbeac810c, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbeac80f4, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbeac80dc, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbeac813c, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbeac8154, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbeac7eec, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbeac7eec, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbeac7adc, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbeac816c, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbeac7f04, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbeac7f04, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbeac7af4, WNOHANG, NULL)    = -1 ECHILD (No child process)
pipe([3, 4])                            = 0
rt_sigprocmask(SIG_BLOCK, ~[], [], 8)   = 0
fork()                                  = 27755
rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0
close(4)                                = 0
read(3, "{ \"action\": 4, \"interface\": \"wan"..., 128) = 39
read(3, "", 128)                        = 0
--- SIGCHLD {si_signo=SIGCHLD, si_code=CLD_EXITED, si_pid=27755, si_uid=0, si_st                                                                                                                                                             atus=0, si_utime=0, si_stime=0} ---
sigreturn({mask=[]})                    = 0
close(3)                                = 0
wait4(-1, [{WIFEXITED(s) && WEXITSTATUS(s) == 0}], 0, NULL) = 27755
rt_sigprocmask(SIG_BLOCK, ~[], [], 8)   = 0
fork()                                  = 27757
rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0
wait4(-1, [{WIFEXITED(s) && WEXITSTATUS(s) == 0}], 0, NULL) = 27757
--- SIGCHLD {si_signo=SIGCHLD, si_code=CLD_EXITED, si_pid=27757, si_uid=0, si_st                                                                                                                                                             atus=0, si_utime=0, si_stime=0} ---
sigreturn({mask=[]})                    = 27757
wait4(-1, 0xbeac8b3c, WNOHANG, NULL)    = -1 ECHILD (No child process)
read(10, "", 511)                       = 0
exit_group(0)                           = ?
+++ exited with 0 +++
[b]root@OpenWrt:/lib/netifd/proto#[/b] cat /etc/openwrt_release
DISTRIB_ID='OpenWrt'
DISTRIB_RELEASE='SNAPSHOT'
DISTRIB_REVISION='r6687-d13c7ac'
DISTRIB_TARGET='mvebu/cortexa9'
DISTRIB_ARCH='arm_cortex-a9_vfpv3'
DISTRIB_DESCRIPTION='OpenWrt SNAPSHOT r6687-d13c7ac'
DISTRIB_TAINTS=''


[b]root@OpenWrt:/lib/netifd/proto#[/b] strace ./dslite.sh
execve("./dslite.sh", ["./dslite.sh"], 0xbed09de0 /* 13 vars */) = 0
set_tls(0xb6faa544, 0xbecf6c18, 0x49055ab4, 0, 0xb6faa4a0) = 0
set_tid_address(0xb6faa4bc)             = 30847
open("/etc/ld-musl-armhf.path", O_RDONLY|O_LARGEFILE|O_CLOEXEC) = -1 ENOENT (No such file or directory)
open("/lib/libgcc_s.so.1", O_RDONLY|O_LARGEFILE|O_CLOEXEC) = 3
fcntl64(3, F_SETFD, FD_CLOEXEC)         = 0
fstat64(3, {st_mode=S_IFREG|0644, st_size=41251, ...}) = 0
read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0(\0\1\0\0\0\20<\0\0004\0\0\0"..., 936) = 936
mmap2(NULL, 110592, PROT_READ|PROT_EXEC, MAP_PRIVATE, 3, 0) = 0xb6f19000
mmap2(0xb6f32000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED, 3, 0x9000) = 0xb6f32000
close(3)                                = 0
mprotect(0xb6f32000, 4096, PROT_READ)   = 0
mprotect(0x7f000, 4096, PROT_READ)      = 0
prctl(PR_SET_NAME, "sh")                = 0
getuid32()                              = 0
getpid()                                = 30847
rt_sigprocmask(SIG_UNBLOCK, [RT_1 RT_2], NULL, 8) = 0
rt_sigaction(SIGCHLD, {sa_handler=0x30c5c, sa_mask=~[RTMIN RT_1 RT_2], sa_flags=SA_RESTORER, sa_restorer=0xb6f75d2c}, NULL, 8) = 0
rt_sigaction(SIGHUP, {sa_handler=SIG_DFL, sa_mask=[], sa_flags=SA_RESTORER|SA_RESTART, sa_restorer=0xb6f75d2c}, {sa_handler=SIG_DFL, sa_mask=[], sa_flags=0}, 8) = 0
getppid()                               = 30845
uname({sysname="Linux", nodename="OpenWrt", ...}) = 0
stat64("/lib/netifd/proto", {st_mode=S_IFDIR|0755, st_size=232, ...}) = 0
stat64(".", {st_mode=S_IFDIR|0755, st_size=232, ...}) = 0
open("./dslite.sh", O_RDONLY|O_LARGEFILE) = 3
fcntl64(3, F_DUPFD, 10)                 = 10
close(3)                                = 0
fcntl64(10, F_SETFD, FD_CLOEXEC)        = 0
rt_sigaction(SIGINT, NULL, {sa_handler=SIG_DFL, sa_mask=[], sa_flags=0}, 8) = 0
rt_sigaction(SIGINT, {sa_handler=0x30c5c, sa_mask=~[RTMIN RT_1 RT_2], sa_flags=SA_RESTORER, sa_restorer=0xb6f75d2c}, NULL, 8) = 0
rt_sigaction(SIGQUIT, NULL, {sa_handler=SIG_DFL, sa_mask=[], sa_flags=0}, 8) = 0
rt_sigaction(SIGQUIT, {sa_handler=SIG_IGN, sa_mask=~[RTMIN RT_1 RT_2], sa_flags=SA_RESTORER, sa_restorer=0xb6f75d2c}, NULL, 8) = 0
rt_sigaction(SIGTERM, NULL, {sa_handler=SIG_DFL, sa_mask=[], sa_flags=0}, 8) = 0
read(10, "#!/bin/sh\n# dslite.sh - IPv4-in-"..., 511) = 511
wait4(-1, 0xbecf6a1c, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbecf69d4, WNOHANG, NULL)    = -1 ECHILD (No child process)
open("/lib/functions.sh", O_RDONLY|O_LARGEFILE) = 3
fcntl64(3, F_DUPFD, 10)                 = 11
close(3)                                = 0
fcntl64(11, F_SETFD, FD_CLOEXEC)        = 0
read(11, "#!/bin/sh\n# Copyright (C) 2006-2"..., 511) = 511
wait4(-1, 0xbecf66c4, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbecf66c4, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbecf66c4, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbecf66c4, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbecf66c4, WNOHANG, NULL)    = -1 ECHILD (No child process)
read(11, "\"${val%% $str *}\" != \"$val\" ]\n}\n"..., 511) = 511
wait4(-1, 0xbecf66c4, WNOHANG, NULL)    = -1 ECHILD (No child process)
read(11, "CONFIG_SECTION=\"$name\"\n\texport $"..., 511) = 511
read(11, "ECTION\" \"${varname}_ITEM$len\" \"$"..., 511) = 511
brk(NULL)                               = 0x1924000
brk(0x1925000)                          = 0x1925000
read(11, "> <section> <option> [<default>]"..., 511) = 511
read(11, "\n\tlocal ___type=\"$1\"\n\t[ \"$#\" -ge"..., 511) = 511
brk(0x1926000)                          = 0x1926000
read(11, "TH\"\n\t[ -z \"$len\" ] && return 0\n\t"..., 511) = 511
read(11, "/${name}.prerm-pkg\"\n\n\tlocal shel"..., 511) = 511
brk(0x1927000)                          = 0x1927000
read(11, " tuple oIFS=\"$IFS\"\n\t\tfor tuple i"..., 511) = 511
read(11, "n \"$uname\" ] && [ -n \"$gname\" ];"..., 511) = 511
brk(0x1928000)                          = 0x1928000
read(11, "fi\n\n\tif [ -z \"$root\" ] && grep -"..., 511) = 511
read(11, "che 2>/dev/null\n\n\tlocal shell=\"$"..., 511) = 511
brk(0x192a000)                          = 0x192a000
read(11, "ART##mtd}\"\n\n\techo ${INDEX}\n}\n\nfi"..., 511) = 511
read(11, "T}/etc/group\n}\n\ngroup_add_next()"..., 511) = 511
read(11, " $grp | grep \":$\")\" ] && delim=\""..., 511) = 511
brk(0x192b000)                          = 0x192b000
read(11, "     uid=$((uid + 1))\n\t\tdone\n\t}\n"..., 511) = 511
read(11, "|| echo \"generic\"\n}\n\n[ -z \"$IPKG"..., 511) = 94
wait4(-1, 0xbecf66ac, WNOHANG, NULL)    = -1 ECHILD (No child process)
stat64("/lib/config/uci.sh", {st_mode=S_IFREG|0644, st_size=3691, ...}) = 0
wait4(-1, 0xbecf66ac, WNOHANG, NULL)    = -1 ECHILD (No child process)
open("/lib/config/uci.sh", O_RDONLY|O_LARGEFILE) = 3
fcntl64(3, F_DUPFD, 10)                 = 12
close(3)                                = 0
fcntl64(12, F_SETFD, FD_CLOEXEC)        = 0
read(12, "#!/bin/sh\n# Shell script compati"..., 511) = 511
read(12, "n the implied warranty of\n# MERC"..., 511) = 511
wait4(-1, 0xbecf639c, WNOHANG, NULL)    = -1 ECHILD (No child process)
read(12, " ${NO_EXPORT:+-n} CONFIG_${VAR}="..., 511) = 511
brk(0x192c000)                          = 0x192c000
read(12, "}\n\nuci_set_default() {\n\tlocal PA"..., 511) = 511
read(12, "\n\tlocal CONFIG=\"$2\"\n\tlocal OPTIO"..., 511) = 511
brk(0x192d000)                          = 0x192d000
read(12, " \"$4\" \"/var/state\"\n}\n\nuci_get() "..., 511) = 511
read(12, "PE\")\"\n\telse\n\t\t/sbin/uci ${UCI_CO"..., 511) = 511
brk(0x192e000)                          = 0x192e000
read(12, "OPTION}\"\n}\n\nuci_commit() {\n\tloca"..., 511) = 114
read(12, "", 511)                       = 0
close(12)                               = 0
read(11, "", 511)                       = 0
close(11)                               = 0
wait4(-1, 0xbecf69d4, WNOHANG, NULL)    = -1 ECHILD (No child process)
open("/lib/functions/network.sh", O_RDONLY|O_LARGEFILE) = 3
fcntl64(3, F_DUPFD, 10)                 = 11
close(3)                                = 0
fcntl64(11, F_SETFD, FD_CLOEXEC)        = 0
read(11, "# 1: destination variable\n# 2: i"..., 511) = 511
read(11, "ipaddr() {\n\t__network_ifstatus \""..., 511) = 511
read(11, "\"$1\" \"$2\" \"['ipv4-address'][0]['"..., 511) = 511
read(11, " do\n\t\t\tcase \"$__addr\" in fe[8ab]"..., 511) = 511
brk(0x192f000)                          = 0x192f000
read(11, "nterface\nnetwork_get_ipaddrs() {"..., 511) = 511
read(11, " __addr in $__addr; do\n\t\t\t__list"..., 511) = 511
read(11, " determine all IPv4 subnets of g"..., 511) = 511
read(11, "dr}\"\n\t\tdone\n\tfi\n\n\tif __network_i"..., 511) = 511
brk(0x1930000)                          = 0x1930000
read(11, "_get_prefixes6() {\n\t__network_if"..., 511) = 511
read(11, "IPv6 gateway of given logical in"..., 511) = 511
read(11, "s if \"true\" (optional)\nnetwork_g"..., 511) = 511
read(11, "$2\" \".inactive['dns-search'][ *]\""..., 511) = 511
brk(0x1931000)                          = 0x1931000
read(11, "ind_wan() { __network_wan \"$1\" \""..., 511) = 511
read(11, "erface\nnetwork_get_protocol() { "..., 511) = 511
read(11, "e name\nnetwork_defer_device()\n{\n"..., 511) = 466
read(11, "", 511)                       = 0
close(11)                               = 0
wait4(-1, 0xbecf69ec, WNOHANG, NULL)    = -1 ECHILD (No child process)
open("../netifd-proto.sh", O_RDONLY|O_LARGEFILE) = 3
fcntl64(3, F_DUPFD, 10)                 = 11
close(3)                                = 0
fcntl64(11, F_SETFD, FD_CLOEXEC)        = 0
read(11, "NETIFD_MAIN_DIR=\"${NETIFD_MAIN_D"..., 511) = 511
wait4(-1, 0xbecf66dc, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbecf66dc, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbecf66dc, WNOHANG, NULL)    = -1 ECHILD (No child process)
open("/usr/share/libubox/jshn.sh", O_RDONLY|O_LARGEFILE) = 3
fcntl64(3, F_DUPFD, 10)                 = 12
close(3)                                = 0
fcntl64(12, F_SETFD, FD_CLOEXEC)        = 0
read(12, "# functions for parsing and gene"..., 511) = 511
brk(0x1932000)                          = 0x1932000
read(12, "\"\"\n}\n\n_set_var() {\n\t# var=$1\n\tlo"..., 511) = 511
read(12, "_UNSET\" \"${4}_$var\"\n\t_jshn_appen"..., 511) = 511
brk(0x1933000)                          = 0x1933000
read(12, "EFIX}JSON_CUR\" \"U_$_s_cur\"\n}\n\njs"..., 511) = 511
read(12, "NSET\n}\n\njson_init() {\n\tjson_clea"..., 511) = 511
brk(0x1934000)                          = 0x1934000
read(12, "neric int \"$1\" \"$2\" \"$cur\"\n}\n\njs"..., 511) = 511
read(12, " \"$JSON_PREFIX\"} -w \n}\n\njson_get"..., 511) = 511
brk(0x1935000)                          = 0x1935000
read(12, "s() {\n\tlocal _v_dest=\"$1\"\n\tlocal"..., 511) = 511
read(12, " \"export -- \\\"$__dest=\\${$__var:"..., 511) = 511
brk(0x1936000)                          = 0x1936000
read(12, "ar JSON_CUR \"$cur\"\n\t\treturn 0\n\t}"..., 511) = 511
read(12, "n_get_type type \"$target\"\n\tcase "..., 511) = 347
brk(0x1937000)                          = 0x1937000
read(12, "", 511)                       = 0
close(12)                               = 0
wait4(-1, 0xbecf66dc, WNOHANG, NULL)    = -1 ECHILD (No child process)
open("/lib/netifd/utils.sh", O_RDONLY|O_LARGEFILE) = 3
fcntl64(3, F_DUPFD, 10)                 = 12
close(3)                                = 0
fcntl64(12, F_SETFD, FD_CLOEXEC)        = 0
read(12, "N=\"\n\"\n\nappend() {\n\tlocal var=\"$1"..., 511) = 511
wait4(-1, 0xbecf63cc, WNOHANG, NULL)    = -1 ECHILD (No child process)
read(12, "nt \"\" \"$type\"\n\t\tjson_close_array"..., 511) = 250
read(12, "", 511)                       = 0
close(12)                               = 0
read(11, "\"\n}\n\nproto_add_dynamic_defaults("..., 511) = 511
read(11, "ace\\\" \\\"$ifname\\\"\"\n}\n\nproto_init"..., 511) = 511
brk(0x1938000)                          = 0x1938000
read(11, "close_nested() {\n\t[ -n \"$PROTO_N"..., 511) = 511
brk(0x1939000)                          = 0x1939000
read(11, "to_add_ipv4_address() {\n\tlocal a"..., 511) = 511
read(11, "\"$target/$mask/$gw/$metric///$so"..., 511) = 511
read(11, "\n\tfi\n}\n\n_proto_push_ipv4_addr() "..., 511) = 511
brk(0x193a000)                          = 0x193a000
read(11, "eferred valid offlink\n\n\taddress="..., 511) = 511
read(11, "\"$class\" ] && json_add_string cl"..., 511) = 511
brk(0x193b000)                          = 0x193b000
read(11, "mask \"$mask\"\n\t[ -n \"$gw\" ] && js"..., 511) = 511
brk(0x193c000)                          = 0x193c000
read(11, "face=\"$1\"\n\tlocal options=\"$2\"\n\tj"..., 511) = 511
read(11, "sh_array \"ip6prefix\" \"$PROTO_PRE"..., 511) = 511
brk(0x193d000)                          = 0x193d000
read(11, "\"\n\t\tshift\n\tdone\n\tjson_close_arra"..., 511) = 511
read(11, "\t\tjson_add_string \"\" \"$1\"\n\t\tshif"..., 511) = 511
brk(0x193e000)                          = 0x193e000
read(11, "\t# see tickets #11046, #11545, #"..., 511) = 511
read(11, "\t\t\t\tadd_default_handler \"proto_$"..., 511) = 511
read(11, "setup|teardown|renew)\n\t\t\tinterfa"..., 511) = 329
brk(0x193f000)                          = 0x193f000
brk(0x1940000)                          = 0x1940000
read(11, "", 511)                       = 0
close(11)                               = 0
wait4(-1, 0xbecf6a04, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbecf6754, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbecf6754, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbecf676c, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbecf6784, WNOHANG, NULL)    = -1 ECHILD (No child process)
read(10, "cfg\"\n\t\treturn\n\t}\n\n\t( proto_add_h"..., 511) = 511
read(10, "\tif ! network_get_ipaddr6 ip6add"..., 511) = 511
read(10, "\"$tunlink\" ] && json_add_string "..., 511) = 511
brk(0x1942000)                          = 0x1942000
read(10, "raddr\"\n\tproto_config_add_string "..., 511) = 225
wait4(-1, 0xbecf6a1c, WNOHANG, NULL)    = -1 ECHILD (No child process)
stat64("/usr/sbin/add_protocol", 0xbecf6a68) = -1 ENOENT (No such file or directory)
stat64("/usr/bin/add_protocol", 0xbecf6a68) = -1 ENOENT (No such file or directory)
stat64("/sbin/add_protocol", 0xbecf6a68) = -1 ENOENT (No such file or directory)
stat64("/bin/add_protocol", 0xbecf6a68) = -1 ENOENT (No such file or directory)
writev(2, [{iov_base="./dslite.sh: ", iov_len=13}, {iov_base=NULL, iov_len=0}], 2./dslite.sh: ) = 13
writev(2, [{iov_base="line 106: ", iov_len=10}, {iov_base=NULL, iov_len=0}], 2line 106: ) = 10
writev(2, [{iov_base="add_protocol: not found", iov_len=23}, {iov_base=NULL, iov_len=0}], 2add_protocol: not found) = 23
writev(2, [{iov_base="", iov_len=0}, {iov_base="\n", iov_len=1}], 2
) = 1
read(10, "", 511)                       = 0
exit_group(127)                         = ?
+++ exited with 127 +++
root@OpenWrt:/lib/netifd/proto#

This is the output of the working 17.01.4...

[b]root@MARS:/root$[/b] cd /lib/netifd/proto
[b]root@MARS:/lib/netifd/proto$[/b] strace ./dslite.sh dslite setup wan6_4 {"name":"
wan6_4","ifname":"@wan6","proto":"dslite","peeraddr":"de-dus01a-cr12.aftr.umkbw.                                                                                                                                                             
net","tunlink":"wan6","zone":"wan"}
execve("./dslite.sh", ["./dslite.sh", "dslite", "setup", "wan6_4", "name:\nwan6_                                                                                                                                                             4", "ifname:@wan6", "proto:dslite", "peeraddr:de-dus01a-cr12.aftr.umk"..., "tunl                                                                                                                                                             ink:wan6", "zone:wan"], [/* 13 vars */]) = 0
set_tls(0xb6f05544, 0xbe82cba0, 0xb6f060a0, 0, 0xb6f0549c) = 0
set_tid_address(0xb6f054b8)             = 4175
open("/etc/ld-musl-armhf.path", O_RDONLY|O_LARGEFILE|O_CLOEXEC) = -1 ENOENT (No                                                                                                                                                              such file or directory)
open("/lib/libgcc_s.so.1", O_RDONLY|O_LARGEFILE|O_CLOEXEC) = 3
fcntl64(3, F_SETFD, FD_CLOEXEC)         = 0
fstat64(3, {st_mode=S_IFREG|0644, st_size=37883, ...}) = 0
read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0(\0\1\0\0\0000;\0\0004\0\0\0"..., 93                                                                                                                                                             6) = 936
mmap2(NULL, 106496, PROT_READ|PROT_EXEC, MAP_PRIVATE, 3, 0) = 0xb6e76000
mmap2(0xb6e8f000, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED, 3, 0x9000)                                                                                                                                                              = 0xb6e8f000
close(3)                                = 0
mprotect(0xb6f03000, 4096, PROT_READ)   = 0
getuid32()                              = 0
getpid()                                = 4175
rt_sigaction(SIGCHLD, {sa_handler=SIG_DFL, sa_mask=[], sa_flags=SA_RESTORER|SA_R                                                                                                                                                             ESTART, sa_restorer=0xb6ed1cb4}, {sa_handler=SIG_DFL, sa_mask=[], sa_flags=0}, 8                                                                                                                                                             ) = 0
rt_sigaction(SIGHUP, {sa_handler=SIG_DFL, sa_mask=[], sa_flags=SA_RESTORER|SA_RE                                                                                                                                                             START, sa_restorer=0xb6ed1cb4}, {sa_handler=SIG_DFL, sa_mask=[], sa_flags=0}, 8)                                                                                                                                                              = 0
getppid()                               = 4173
uname({sysname="Linux", nodename="MARS", ...}) = 0
stat64("/lib/netifd/proto", {st_mode=S_IFDIR|0755, st_size=296, ...}) = 0
stat64(".", {st_mode=S_IFDIR|0755, st_size=296, ...}) = 0
open("./dslite.sh", O_RDONLY|O_LARGEFILE) = 3
fcntl64(3, F_DUPFD, 10)                 = 10
close(3)                                = 0
fcntl64(10, F_SETFD, FD_CLOEXEC)        = 0
rt_sigaction(SIGINT, NULL, {sa_handler=SIG_DFL, sa_mask=[], sa_flags=0}, 8) = 0
rt_sigprocmask(SIG_UNBLOCK, [RT_1 RT_2], NULL, 8) = 0
rt_sigaction(SIGINT, {sa_handler=0x2e550, sa_mask=~[RTMIN RT_1 RT_2], sa_flags=S                                                                                                                                                             A_RESTORER, sa_restorer=0xb6ed1cb4}, NULL, 8) = 0
rt_sigaction(SIGQUIT, NULL, {sa_handler=SIG_DFL, sa_mask=[], sa_flags=0}, 8) = 0
rt_sigaction(SIGQUIT, {sa_handler=SIG_IGN, sa_mask=~[RTMIN RT_1 RT_2], sa_flags=                                                                                                                                                             SA_RESTORER, sa_restorer=0xb6ed1cb4}, NULL, 8) = 0
rt_sigaction(SIGTERM, NULL, {sa_handler=SIG_DFL, sa_mask=[], sa_flags=0}, 8) = 0
rt_sigaction(SIGTERM, {sa_handler=SIG_DFL, sa_mask=~[RTMIN RT_1 RT_2], sa_flags=                                                                                                                                                             SA_RESTORER, sa_restorer=0xb6ed1cb4}, NULL, 8) = 0
read(10, "#!/bin/sh\n# dslite.sh - IPv4-in-"..., 511) = 511
wait4(-1, 0xbe82c474, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbe82bf34, WNOHANG, NULL)    = -1 ECHILD (No child process)
open("/lib/functions.sh", O_RDONLY|O_LARGEFILE) = 3
fcntl64(3, F_DUPFD, 10)                 = 11
close(3)                                = 0
fcntl64(11, F_SETFD, FD_CLOEXEC)        = 0
read(11, "#!/bin/sh\n# Copyright (C) 2006-2"..., 511) = 511
wait4(-1, 0xbe82baa4, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbe82baa4, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbe82baa4, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbe82baa4, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbe82baa4, WNOHANG, NULL)    = -1 ECHILD (No child process)
read(11, "\"${val%% $str *}\" != \"$val\" ]\n}\n"..., 511) = 511
wait4(-1, 0xbe82baa4, WNOHANG, NULL)    = -1 ECHILD (No child process)
brk(NULL)                               = 0x3c4000
brk(0x3c5000)                           = 0x3c5000
read(11, "CONFIG_SECTION=\"$name\"\n\texport $"..., 511) = 511
read(11, "ECTION\" \"${varname}_ITEM$len\" \"$"..., 511) = 511
brk(0x3c6000)                           = 0x3c6000
read(11, "> <section> <option> [<default>]"..., 511) = 511
read(11, "\n\tlocal ___type=\"$1\"\n\t[ \"$#\" -ge"..., 511) = 511
brk(0x3c7000)                           = 0x3c7000
read(11, "TH\"\n\t[ -z \"$len\" ] && return 0\n\t"..., 511) = 511
read(11, "/${name}.prerm-pkg\"\n\n\tlocal shel"..., 511) = 511
brk(0x3c8000)                           = 0x3c8000
read(11, " tuple oIFS=\"$IFS\"\n\t\tfor tuple i"..., 511) = 511
read(11, " \"$uname\" ] && [ -n \"$gname\" ]; "..., 511) = 511
brk(0x3c9000)                           = 0x3c9000
read(11, "i\n\n\tif [ -z \"$root\" ] && grep -q"..., 511) = 511
read(11, "}.list\"); do\n\t\tif [ -n \"$root\" ]"..., 511) = 511
brk(0x3ca000)                           = 0x3ca000
read(11, "-d /dev/mtdblock ] && PREFIX=/de"..., 511) = 511
read(11, "roup | cut -d: -f3)\n\t[ -n \"$gid\""..., 511) = 511
read(11, "_INSTROOT}/etc/group\n\t[ -n \"$IPK"..., 511) = 511
brk(0x3cb000)                           = 0x3cb000
read(11, "\" ] || lock /var/lock/passwd\n\tec"..., 511) = 395
brk(0x3cc000)                           = 0x3cc000
wait4(-1, 0xbe82b8e4, WNOHANG, NULL)    = -1 ECHILD (No child process)
stat64("/lib/config/uci.sh", {st_mode=S_IFREG|0644, st_size=3643, ...}) = 0
wait4(-1, 0xbe82b8e4, WNOHANG, NULL)    = -1 ECHILD (No child process)
open("/lib/config/uci.sh", O_RDONLY|O_LARGEFILE) = 3
fcntl64(3, F_DUPFD, 10)                 = 12
close(3)                                = 0
fcntl64(12, F_SETFD, FD_CLOEXEC)        = 0
read(12, "#!/bin/sh\n# Shell script compati"..., 511) = 511
read(12, "n the implied warranty of\n# MERC"..., 511) = 511
wait4(-1, 0xbe82b454, WNOHANG, NULL)    = -1 ECHILD (No child process)
read(12, " ${NO_EXPORT:+-n} CONFIG_${VAR}="..., 511) = 511
read(12, "}\n\nuci_set_default() {\n\tlocal PA"..., 511) = 511
read(12, "\n\tlocal CONFIG=\"$2\"\n\tlocal OPTIO"..., 511) = 511
brk(0x3cd000)                           = 0x3cd000
read(12, " \"$4\" \"/var/state\"\n}\n\nuci_get() "..., 511) = 511
read(12, "PE\")\"\n\telse\n\t\t/sbin/uci ${UCI_CO"..., 511) = 511
read(12, "/sbin/uci ${UCI_CONFIG_DIR:+-c $"..., 511) = 66
read(12, "", 511)                       = 0
close(12)                               = 0
read(11, "", 511)                       = 0
close(11)                               = 0
wait4(-1, 0xbe82bf34, WNOHANG, NULL)    = -1 ECHILD (No child process)
open("/lib/functions/network.sh", O_RDONLY|O_LARGEFILE) = 3
fcntl64(3, F_DUPFD, 10)                 = 11
close(3)                                = 0
fcntl64(11, F_SETFD, FD_CLOEXEC)        = 0
read(11, "# 1: destination variable\n# 2: i"..., 511) = 511
brk(0x3ce000)                           = 0x3ce000
read(11, "ipaddr() {\n\t__network_ifstatus \""..., 511) = 511
read(11, "\"$1\" \"$2\" \"['ipv4-address'][0]['"..., 511) = 511
read(11, " do\n\t\t\tcase \"$__addr\" in fe[8ab]"..., 511) = 511
read(11, "nterface\nnetwork_get_ipaddrs() {"..., 511) = 511
read(11, " __addr in $__addr; do\n\t\t\t__list"..., 511) = 511
brk(0x3cf000)                           = 0x3cf000
read(11, " determine all IPv4 subnets of g"..., 511) = 511
read(11, "dr}\"\n\t\tdone\n\tfi\n\n\tif __network_i"..., 511) = 511
brk(0x3d0000)                           = 0x3d0000
read(11, "_get_prefixes6() {\n\t__network_if"..., 511) = 511
read(11, "IPv6 gateway of given logical in"..., 511) = 511
read(11, "s if \"true\" (optional)\nnetwork_g"..., 511) = 511
read(11, "$2\" \".inactive['dns-search'][ *]\""..., 511) = 511
read(11, "ind_wan() { __network_wan \"$1\" \""..., 511) = 511
read(11, "erface\nnetwork_get_protocol() { "..., 511) = 511
read(11, "e name\nnetwork_defer_device()\n{\n"..., 511) = 466
brk(0x3d1000)                           = 0x3d1000
read(11, "", 511)                       = 0
close(11)                               = 0
wait4(-1, 0xbe82c0f4, WNOHANG, NULL)    = -1 ECHILD (No child process)
open("../netifd-proto.sh", O_RDONLY|O_LARGEFILE) = 3
fcntl64(3, F_DUPFD, 10)                 = 11
close(3)                                = 0
fcntl64(11, F_SETFD, FD_CLOEXEC)        = 0
read(11, "NETIFD_MAIN_DIR=\"${NETIFD_MAIN_D"..., 511) = 511
wait4(-1, 0xbe82bc64, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbe82bc64, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbe82bc64, WNOHANG, NULL)    = -1 ECHILD (No child process)
open("/usr/share/libubox/jshn.sh", O_RDONLY|O_LARGEFILE) = 3
fcntl64(3, F_DUPFD, 10)                 = 12
close(3)                                = 0
fcntl64(12, F_SETFD, FD_CLOEXEC)        = 0
read(12, "# functions for parsing and gene"..., 511) = 511
read(12, "\"\"\n}\n\n_set_var() {\n\t# var=$1\n\tlo"..., 511) = 511
read(12, "_UNSET\" \"${4}_$var\"\n\t_jshn_appen"..., 511) = 511
brk(0x3d2000)                           = 0x3d2000
read(12, "EFIX}JSON_CUR\" \"U_$_s_cur\"\n}\n\njs"..., 511) = 511
read(12, "NSET\n}\n\njson_init() {\n\tjson_clea"..., 511) = 511
brk(0x3d3000)                           = 0x3d3000
read(12, "neric int \"$1\" \"$2\" \"$cur\"\n}\n\njs"..., 511) = 511
read(12, "cal __dest=\"$1\"\n\tlocal __cur\n\n\t_"..., 511) = 511
brk(0x3d4000)                           = 0x3d4000
read(12, "al _select=\n\tlocal _json_no_warn"..., 511) = 511
read(12, "\\\"\\${$__var+x}\\${3+x}\\\" ]\"\n}\n\njs"..., 511) = 511
read(12, "pe type \"$target\"\n\tcase \"$type\" "..., 511) = 339
brk(0x3d5000)                           = 0x3d5000
read(12, "", 511)                       = 0
close(12)                               = 0
wait4(-1, 0xbe82bc64, WNOHANG, NULL)    = -1 ECHILD (No child process)
open("/lib/netifd/utils.sh", O_RDONLY|O_LARGEFILE) = 3
fcntl64(3, F_DUPFD, 10)                 = 12
close(3)                                = 0
fcntl64(12, F_SETFD, FD_CLOEXEC)        = 0
read(12, "N=\"\n\"\n\nappend() {\n\tlocal var=\"$1"..., 511) = 511
wait4(-1, 0xbe82b7d4, WNOHANG, NULL)    = -1 ECHILD (No child process)
read(12, "nt \"\" \"$type\"\n\t\tjson_close_array"..., 511) = 250
read(12, "", 511)                       = 0
close(12)                               = 0
read(11, "ute\" ] && json_add_boolean defau"..., 511) = 511
brk(0x3d6000)                           = 0x3d6000
read(11, "name=\"$1\"\n\tlocal up=\"$2\"\n\tlocal "..., 511) = 511
read(11, "_close_object\n\tPROTO_NESTED_OPEN"..., 511) = 511
read(11, "sk=\"$2\"\n\tlocal broadcast=\"$3\"\n\tl"..., 511) = 511
brk(0x3d7000)                           = 0x3d7000
read(11, "v6_route() {\n\tlocal target=\"$1\"\n"..., 511) = 511
read(11, "cal address mask broadcast ptp\n\n"..., 511) = 511
brk(0x3d8000)                           = 0x3d8000
read(11, "str#*/}\"\n\tmask=\"${str%%/*}\"\n\tstr"..., 511) = 511
read(11, "ose_object\n}\n\n_proto_push_string"..., 511) = 511
brk(0x3d9000)                           = 0x3d9000
read(11, " \"$gw\"\n\t[ -n \"$metric\" ] && json"..., 511) = 511
brk(0x3da000)                           = 0x3da000
read(11, "face\" \"$interface\"\n\tubus $option"..., 511) = 511
read(11, "ing\n\t_proto_push_array \"dns\" \"$P"..., 511) = 511
read(11, "S\" ] && {\n\t\tjson_add_array env\n\t"..., 511) = 511
brk(0x3db000)                           = 0x3db000
read(11, "rray\n\t_proto_notify \"$interface\""..., 511) = 511
read(11, "\t\tjson_add_int action 6\n\t\tjson_a"..., 511) = 511
read(11, "son_init\n\t\t\t\tjson_add_string \"na"..., 511) = 511
brk(0x3dc000)                           = 0x3dc000
read(11, "a=\"$1\"; shift\n\t\t\tifname=\"$1\"; sh"..., 511) = 276
brk(0x3dd000)                           = 0x3dd000
read(11, "", 511)                       = 0
close(11)                               = 0
wait4(-1, 0xbe82c2b4, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbe82b7bc, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbe82b7bc, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbe82b97c, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbe82bb3c, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbe82b064, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbe82b064, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbe82b224, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbe82b3e4, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbe82b5a4, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbe82b764, WNOHANG, NULL)    = -1 ECHILD (No child process)
read(10, "cfg\"\n\t\treturn\n\t}\n\n\t( proto_add_h"..., 511) = 511
read(10, "\tif ! network_get_ipaddr6 ip6add"..., 511) = 511
read(10, "\"$tunlink\" ] && json_add_string "..., 511) = 511
brk(0x3df000)                           = 0x3df000
read(10, "raddr\"\n\tproto_config_add_string "..., 511) = 225
wait4(-1, 0xbe82c474, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbe82c474, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbe82bcfc, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbe82bca4, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbe82b36c, WNOHANG, NULL)    = -1 ECHILD (No child process)
pipe([3, 4])                            = 0
rt_sigprocmask(SIG_BLOCK, ~[], [], 8)   = 0
fork()                                  = 4176
rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0
close(4)                                = 0
read(3, Failed to parse message data
"", 128)                        = 0
--- SIGCHLD {si_signo=SIGCHLD, si_code=CLD_EXITED, si_pid=4176, si_uid=0, si_sta                                                                                                                                                             tus=1, si_utime=0, si_stime=0} ---
close(3)                                = 0
wait4(-1, [{WIFEXITED(s) && WEXITSTATUS(s) == 1}], 0, NULL) = 4176
wait4(-1, 0xbe82af74, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbe82b36c, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbe82b52c, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbe82b6ec, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbe82b2ec, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbe8276f4, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbe8276f4, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbe8278b4, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbe827a74, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbe827c34, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbe827df4, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbe82781c, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbe82749c, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbe82749c, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbe82749c, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbe82749c, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbe8269a4, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbe8269a4, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbe826b64, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbe82676c, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbe82636c, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbe826d24, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbe826ee4, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbe826924, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbe826924, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbe82781c, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbe82749c, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbe82749c, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbe82749c, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbe82749c, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbe8269a4, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbe8269a4, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbe826b64, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbe82676c, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbe82636c, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbe826d24, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbe826ee4, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbe826924, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbe826924, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbe82781c, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbe82749c, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbe82749c, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbe82749c, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbe82749c, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbe8269a4, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbe8269a4, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbe826b64, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbe82676c, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbe82636c, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbe826d24, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbe826ee4, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbe826924, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbe826924, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbe82781c, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbe82749c, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbe82749c, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbe82749c, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbe82749c, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbe8269a4, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbe8269a4, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbe826b64, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbe82676c, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbe82636c, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbe826d24, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbe826ee4, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbe826924, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbe826924, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbe82781c, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbe82749c, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbe82749c, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbe82749c, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbe82749c, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbe8269a4, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbe8269a4, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbe826b64, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbe82676c, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbe82636c, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbe826d24, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbe826ee4, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbe826924, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbe826924, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbe82781c, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbe82749c, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbe82749c, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbe82749c, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbe82749c, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbe8269a4, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbe8269a4, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbe826b64, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbe82676c, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbe82636c, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbe826d24, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbe826ee4, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbe826924, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbe826924, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbe82781c, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbe82749c, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbe82749c, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbe82749c, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbe82749c, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbe8269a4, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbe8269a4, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbe826b64, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbe82676c, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbe82636c, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbe826d24, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbe826ee4, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbe826924, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbe826924, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbe82781c, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbe827df4, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbe827a74, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbe826a3c, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbe826a3c, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbe826bfc, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbe826484, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbe825b4c, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbe825b4c, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbe825754, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbe825354, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbe825b14, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbe825ecc, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbe826484, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbe826644, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbe826dbc, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbe826644, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbe826644, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbe82624c, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbe825e4c, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbe826804, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbe825d0c, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbe825b4c, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbe82598c, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbe8257cc, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbe825ecc, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbe82608c, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbe825ad4, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbe825ad4, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbe8256d4, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbe82624c, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbe825c94, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbe825c94, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbe825894, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbe826f7c, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbe826b84, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbe8257cc, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbe8257cc, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbe8253d4, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbe824fd4, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbe82598c, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbe825594, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbe825b4c, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbe825d0c, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbe825754, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbe825754, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbe825354, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbe825ecc, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbe82608c, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbe82624c, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbe825c94, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbe825c94, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbe825894, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbe82640c, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbe825e54, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbe825e54, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbe825a54, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbe8265cc, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbe825ad4, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbe825914, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbe825754, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbe825594, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbe825c94, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbe825e54, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbe82589c, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbe82589c, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbe82549c, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbe826014, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbe825a5c, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbe825a5c, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbe82565c, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbe826f5c, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbe826d9c, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbe826624, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbe826624, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbe82622c, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbe825e2c, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbe8267e4, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbe825cec, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbe825b2c, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbe825b2c, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbe825734, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbe825eac, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbe82606c, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbe825ab4, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbe825ab4, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbe8256b4, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbe82622c, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbe825c74, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbe825c74, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbe825874, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbe826d9c, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbe826f5c, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbe8272fc, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbe826f04, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbe82678c, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbe82678c, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbe826394, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbe825f94, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbe82694c, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbe826554, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbe826154, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbe8274bc, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbe826b84, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbe826b84, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbe826d44, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbe8265cc, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbe8265cc, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbe8261d4, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbe825dd4, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbe82678c, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbe825c94, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbe825ad4, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbe825914, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbe825754, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbe825e54, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbe826014, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbe825a5c, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbe825a5c, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbe82565c, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbe8261d4, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbe825c1c, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbe825c1c, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbe82581c, WNOHANG, NULL)    = -1 ECHILD (No child process)
pipe([3, 4])                            = 0
rt_sigprocmask(SIG_BLOCK, ~[], [], 8)   = 0
fork()                                  = 4177
rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0
close(4)                                = 0
read(3, "{ \"action\": 3, \"error\": [ \"MISSI"..., 128) = 71
read(3, "", 128)                        = 0
--- SIGCHLD {si_signo=SIGCHLD, si_code=CLD_EXITED, si_pid=4177, si_uid=0, si_sta                                                                                                                                                             tus=0, si_utime=0, si_stime=0} ---
close(3)                                = 0
wait4(-1, [{WIFEXITED(s) && WEXITSTATUS(s) == 0}], 0, NULL) = 4177
stat64("/usr/sbin/ubus", 0xbe826ed0)    = -1 ENOENT (No such file or directory)
stat64("/usr/bin/ubus", 0xbe826ed0)     = -1 ENOENT (No such file or directory)
stat64("/sbin/ubus", 0xbe826ed0)        = -1 ENOENT (No such file or directory)
stat64("/bin/ubus", {st_mode=S_IFREG|0755, st_size=12300, ...}) = 0
rt_sigprocmask(SIG_BLOCK, ~[], [], 8)   = 0
fork()                                  = 4179
rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0
wait4(-1, [{WIFEXITED(s) && WEXITSTATUS(s) == 0}], 0, NULL) = 4179
--- SIGCHLD {si_signo=SIGCHLD, si_code=CLD_EXITED, si_pid=4179, si_uid=0, si_sta                                                                                                                                                             tus=0, si_utime=0, si_stime=0} ---
wait4(-1, 0xbe827a74, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbe826f7c, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbe826f7c, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbe82713c, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbe8269c4, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbe82608c, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbe82608c, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbe825c94, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbe825894, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbe826054, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbe826054, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbe826054, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbe826054, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbe826054, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbe826054, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbe82640c, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbe8269c4, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbe826b84, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbe8272fc, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbe826b84, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbe826b84, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbe82678c, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbe82638c, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbe826d44, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbe82624c, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbe82608c, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbe825ecc, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbe825d0c, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbe82640c, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbe8265cc, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbe826014, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbe826014, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbe825c14, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbe82678c, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbe8261d4, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbe8261d4, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbe825dd4, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbe8274bc, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbe826b84, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbe826b84, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbe826d44, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbe8265cc, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbe8265cc, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbe8261d4, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbe825dd4, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbe82678c, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbe825c94, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbe825ad4, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbe825914, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbe825754, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbe825e54, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbe826014, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbe825a5c, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbe825a5c, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbe82565c, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbe8261d4, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbe825c1c, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbe825c1c, WNOHANG, NULL)    = -1 ECHILD (No child process)
wait4(-1, 0xbe82581c, WNOHANG, NULL)    = -1 ECHILD (No child process)
pipe([3, 4])                            = 0
rt_sigprocmask(SIG_BLOCK, ~[], [], 8)   = 0
fork()                                  = 4180
rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0
close(4)                                = 0
read(3, "{ \"action\": 4, \"interface\": \"wan"..., 128) = 39
--- SIGCHLD {si_signo=SIGCHLD, si_code=CLD_EXITED, si_pid=4180, si_uid=0, si_sta                                                                                                                                                             tus=0, si_utime=0, si_stime=0} ---
read(3, "", 128)                        = 0
close(3)                                = 0
wait4(-1, [{WIFEXITED(s) && WEXITSTATUS(s) == 0}], 0, NULL) = 4180
rt_sigprocmask(SIG_BLOCK, ~[], [], 8)   = 0
fork()                                  = 4182
rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0
wait4(-1, [{WIFEXITED(s) && WEXITSTATUS(s) == 0}], 0, NULL) = 4182
--- SIGCHLD {si_signo=SIGCHLD, si_code=CLD_EXITED, si_pid=4182, si_uid=0, si_sta                                                                                                                                                             tus=0, si_utime=0, si_stime=1} ---
wait4(-1, 0xbe827c34, WNOHANG, NULL)    = -1 ECHILD (No child process)
read(10, "", 511)                       = 0
exit_group(0)                           = ?
+++ exited with 0 +++

Thanks for the strace outputs. It looks like the new version is looking for 'add_protocol' program but can't find it. Perhaps the snapshot software is a work in progress, and they haven't finished submitting code? Hopefully the Devs will take a look at this, and fix it.

cvmiller wrote:

Thanks for the strace outputs. It looks like the new version is looking for 'add_protocol' program but can't find it. Perhaps the snapshot software is a work in progress, and they haven't finished submitting code? Hopefully the Devs will take a look at this, and fix it.

How can we make aware of it? Should we submit an issue to the bugtracker, if yes, how?
Does this only affect dslite or is there something else broken?

Thanks a lot!

Hopefully they will get it fixed before the next release of OpenWrt (which I thought was going to be soon). Thanks for doing the debugging.

The discussion might have continued from here.