beagleboard / librobotcontrol

Robotics Focused library for embedded Linux computers. Mirror of https://git.beagleboard.org/beagleboard/librobotcontrol
https://beagleboard.org/librobotcontrol
MIT License
194 stars 154 forks source link

Kernel Error when using BeagleBone Blue Motor PWM Outputs #212

Open ansarid opened 2 years ago

ansarid commented 2 years ago

Describe the bug Using a Beaglebone Blue. Sometimes running the motors runs fine, other times running the motors fails and requires a reboot to fix.

To Reproduce Steps to reproduce the behavior:

  1. Run rc_test_motors -d 1 It may run successfully, it may fail.

I have captured a strace output of normal operation and a failure. The lines of interest are:

238-239
285-286
361->end

Here are the lines of interest: Normal Run:

...
write(5, "0\0", 2)                      = -1 ENODEV (No such device)
write(5, "1\0", 2)                      = -1 ENODEV (No such device)
...
write(7, "0\0", 2)                      = -1 ENODEV (No such device)
write(7, "1\0", 2)                      = -1 ENODEV (No such device)
...
write(7, "40000", 5)                    = 5
ioctl(19, GPIOHANDLE_SET_LINE_VALUES_IOCTL, 0xbeb374c8) = 0
ioctl(20, GPIOHANDLE_SET_LINE_VALUES_IOCTL, 0xbeb374c8) = 0
write(8, "40000", 5)                    = 5
nanosleep({tv_sec=0, tv_nsec=500000000}, 0xbeb37518) = 0
nanosleep({tv_sec=0, tv_nsec=500000000}, 0xbeb37518) = 0
nanosleep({tv_sec=0, tv_nsec=500000000}, 0xbeb37518) = 0
nanosleep({tv_sec=0, tv_nsec=500000000}, 0xbeb37518) = 0
nanosleep({tv_sec=0, tv_nsec=500000000}, 0xbeb37518) = 0
nanosleep({tv_sec=0, tv_nsec=500000000}, 0xbeb37518) = 0
nanosleep({tv_sec=0, tv_nsec=500000000}, 0xbeb37518) = 0
nanosleep({tv_sec=0, tv_nsec=500000000}, 0xbeb37518) = 0
nanosleep({tv_sec=0, tv_nsec=500000000}, 0xbeb37518) = 0
nanosleep({tv_sec=0, tv_nsec=500000000}, 0xbeb37518) = 0
nanosleep({tv_sec=0, tv_nsec=500000000}, 0xbeb37518) = 0
nanosleep({tv_sec=0, tv_nsec=500000000}, ^C{tv_sec=0, tv_nsec=473918958}) = ? ERESTART_RESTARTBLOCK (Interrupted by signal)
strace: Process 1910 detached

Failed Run:

...
write(5, "0\0", 2)                      = 2
write(5, "1\0", 2)                      = 2
...
write(7, "0\0", 2)                      = 2
write(7, "1\0", 2)                      = 2
...
write(7, "40000", 5
Message from syslogd@SCUTTLE at Sep 18 05:15:31 ...
 kernel:[  565.524616] Internal error: : 1028 [#1] PREEMPT SMP ARM

Message from syslogd@SCUTTLE at Sep 18 05:15:31 ...
 kernel:[  565.637435] Process rc_test_motors (pid: 2595, stack limit = 0x8fa35472)
)                    = ?
+++ killed by SIGSEGV +++

Message from syslogd@SCUTTLE at Sep 18 05:15:31 ...
 kernel:[  565.648543] 7e00:                                     00009c40 d9e97e6c db7feb00 c07a1918
fish: “strace rc_test_motors -d 1” terminated by signal SIGSEGV (Address boundary error)

Message from syslogd@SCUTTLE at Sep 18 05:15:31 ...
 kernel:[  565.681409] 7e80: d9e97ed4 c079f3e0 d9e9a600 00000003 00000000 d9e97f60 d9e97ebc d9e97ea8

Message from syslogd@SCUTTLE at Sep 18 05:15:31 ...
 kernel:[  565.689627] 7ea0: c08d65e8 c079f3ec c08d65c0 d9e9a600 d9e97ed4 d9e97ec0 c03abb1c c08d65cc

Message from syslogd@SCUTTLE at Sep 18 05:15:31 ...
 kernel:[  565.697843] 7ec0: 00000005 d9e9a600 d9e97f0c d9e97ed8 c03ab10c c03abae0 00000003 00000000

Message from syslogd@SCUTTLE at Sep 18 05:15:31 ...
 kernel:[  565.706059] 7ee0: dab68d88 c03ab014 d9e15180 beacf480 d9e97f60 00000000 00000000 00000004

Message from syslogd@SCUTTLE at Sep 18 05:15:31 ...
 kernel:[  565.714275] 7f00: d9e97f24 d9e97f10 c0319564 c03ab020 00000005 d9e15180 d9e97f54 d9e97f28

Message from syslogd@SCUTTLE at Sep 18 05:15:31 ...
 kernel:[  565.722492] 7f20: c031976c c0319548 00000000 c033bd58 d9e15180 c1506e08 d9e15180 beacf480

Message from syslogd@SCUTTLE at Sep 18 05:15:31 ...
 kernel:[  565.730707] 7f40: 00000003 00000000 d9e97f94 d9e97f58 c0319a4c c03196c4 00000003 00000000

Message from syslogd@SCUTTLE at Sep 18 05:15:31 ...
 kernel:[  565.738924] 7f60: 00000003 00000000 ffffe000 172d0e31 b6f1e614 b6f09000 00000041 00000004

Message from syslogd@SCUTTLE at Sep 18 05:15:31 ...
 kernel:[  565.747141] 7f80: c0101204 d9e96000 d9e97fa4 d9e97f98 c0319ad8 c03199e4 00000000 d9e97fa8

Message from syslogd@SCUTTLE at Sep 18 05:15:31 ...
 kernel:[  565.755358] 7fa0: c01011e4 c0319acc b6f1e614 b6f09000 00000007 beacf480 00000005 00000000

Message from syslogd@SCUTTLE at Sep 18 05:15:31 ...
 kernel:[  565.763574] 7fc0: b6f1e614 b6f09000 00000041 00000004 00000000 00000000 004b4000 00000000

Message from syslogd@SCUTTLE at Sep 18 05:15:31 ...
 kernel:[  565.771791] 7fe0: 00000004 beacf468 b6eaa34b b6eac526 600d0030 00000007 00000000 00000000

Message from syslogd@SCUTTLE at Sep 18 05:15:31 ...
 kernel:[  565.884981] Code: e5940000 eb0524e7 e594a02c e6ff7077 (e1da30b0)

Here are the full outputs: Normal Run:

SCUTTLE ~ ➜  strace rc_test_motors -d 1
execve("/usr/bin/rc_test_motors", ["rc_test_motors", "-d", "1"], 0xbea006d8 /* 21 vars */) = 0
brk(NULL)                               = 0x10fb000
uname({sysname="Linux", nodename="SCUTTLE", ...}) = 0
mmap2(NULL, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb6f75000
access("/etc/ld.so.preload", R_OK)      = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "/etc/ld.so.cache", O_RDONLY|O_LARGEFILE|O_CLOEXEC) = 3
fstat64(3, {st_mode=S_IFREG|0644, st_size=118889, ...}) = 0
mmap2(NULL, 118889, PROT_READ, MAP_PRIVATE, 3, 0) = 0xb6f31000
close(3)                                = 0
openat(AT_FDCWD, "/lib/arm-linux-gnueabihf/libm.so.6", O_RDONLY|O_LARGEFILE|O_CLOEXEC) = 3
read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0(\0\1\0\0\0\250r\0\0004\0\0\0"..., 512) = 512
_llseek(3, 434644, [434644], SEEK_SET)  = 0
read(3, "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 1080) = 1080
_llseek(3, 434288, [434288], SEEK_SET)  = 0
read(3, "A4\0\0\0aeabi\0\1*\0\0\0\0057-A\0\6\n\7A\10\1\t\2\n\4\22"..., 53) = 53
_llseek(3, 434644, [434644], SEEK_SET)  = 0
read(3, "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 1080) = 1080
_llseek(3, 434288, [434288], SEEK_SET)  = 0
read(3, "A4\0\0\0aeabi\0\1*\0\0\0\0057-A\0\6\n\7A\10\1\t\2\n\4\22"..., 53) = 53
_llseek(3, 434644, [434644], SEEK_SET)  = 0
read(3, "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 1080) = 1080
_llseek(3, 434288, [434288], SEEK_SET)  = 0
read(3, "A4\0\0\0aeabi\0\1*\0\0\0\0057-A\0\6\n\7A\10\1\t\2\n\4\22"..., 53) = 53
fstat64(3, {st_mode=S_IFREG|0644, st_size=435724, ...}) = 0
mmap2(NULL, 499832, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0xb6eb6000
mprotect(0xb6f20000, 61440, PROT_NONE)  = 0
mmap2(0xb6f2f000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x69000) = 0xb6f2f000
close(3)                                = 0
openat(AT_FDCWD, "/lib/arm-linux-gnueabihf/librt.so.1", O_RDONLY|O_LARGEFILE|O_CLOEXEC) = 3
read(3, "\177ELF\1\1\1\3\0\0\0\0\0\0\0\0\3\0(\0\1\0\0\0 \30\0\0004\0\0\0"..., 512) = 512
_llseek(3, 21268, [21268], SEEK_SET)    = 0
read(3, "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 1240) = 1240
_llseek(3, 20856, [20856], SEEK_SET)    = 0
read(3, "A2\0\0\0aeabi\0\1(\0\0\0\0057-A\0\6\n\7A\10\1\t\2\n\4\22"..., 51) = 51
_llseek(3, 21268, [21268], SEEK_SET)    = 0
read(3, "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 1240) = 1240
_llseek(3, 20856, [20856], SEEK_SET)    = 0
read(3, "A2\0\0\0aeabi\0\1(\0\0\0\0057-A\0\6\n\7A\10\1\t\2\n\4\22"..., 51) = 51
_llseek(3, 21268, [21268], SEEK_SET)    = 0
read(3, "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 1240) = 1240
_llseek(3, 20856, [20856], SEEK_SET)    = 0
read(3, "A2\0\0\0aeabi\0\1(\0\0\0\0057-A\0\6\n\7A\10\1\t\2\n\4\22"..., 51) = 51
_llseek(3, 21268, [21268], SEEK_SET)    = 0
read(3, "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 1240) = 1240
_llseek(3, 20856, [20856], SEEK_SET)    = 0
read(3, "A2\0\0\0aeabi\0\1(\0\0\0\0057-A\0\6\n\7A\10\1\t\2\n\4\22"..., 51) = 51
fstat64(3, {st_mode=S_IFREG|0644, st_size=22508, ...}) = 0
mmap2(NULL, 86552, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0xb6ea0000
mprotect(0xb6ea5000, 61440, PROT_NONE)  = 0
mmap2(0xb6eb4000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x4000) = 0xb6eb4000
close(3)                                = 0
openat(AT_FDCWD, "/usr/lib/librobotcontrol.so.1", O_RDONLY|O_LARGEFILE|O_CLOEXEC) = 3
read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0(\0\1\0\0\0\220e\0\0004\0\0\0"..., 512) = 512
_llseek(3, 226692, [226692], SEEK_SET)  = 0
read(3, "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 1040) = 1040
_llseek(3, 226344, [226344], SEEK_SET)  = 0
read(3, "A0\0\0\0aeabi\0\1&\0\0\0\0057-A\0\6\n\7A\10\1\t\2\n\4\22"..., 49) = 49
_llseek(3, 226692, [226692], SEEK_SET)  = 0
read(3, "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 1040) = 1040
_llseek(3, 226344, [226344], SEEK_SET)  = 0
read(3, "A0\0\0\0aeabi\0\1&\0\0\0\0057-A\0\6\n\7A\10\1\t\2\n\4\22"..., 49) = 49
_llseek(3, 226692, [226692], SEEK_SET)  = 0
read(3, "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 1040) = 1040
_llseek(3, 226344, [226344], SEEK_SET)  = 0
read(3, "A0\0\0\0aeabi\0\1&\0\0\0\0057-A\0\6\n\7A\10\1\t\2\n\4\22"..., 49) = 49
_llseek(3, 226692, [226692], SEEK_SET)  = 0
read(3, "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 1040) = 1040
_llseek(3, 226344, [226344], SEEK_SET)  = 0
read(3, "A0\0\0\0aeabi\0\1&\0\0\0\0057-A\0\6\n\7A\10\1\t\2\n\4\22"..., 49) = 49
_llseek(3, 226692, [226692], SEEK_SET)  = 0
read(3, "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 1040) = 1040
_llseek(3, 226344, [226344], SEEK_SET)  = 0
read(3, "A0\0\0\0aeabi\0\1&\0\0\0\0057-A\0\6\n\7A\10\1\t\2\n\4\22"..., 49) = 49
_llseek(3, 226692, [226692], SEEK_SET)  = 0
read(3, "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 1040) = 1040
_llseek(3, 226344, [226344], SEEK_SET)  = 0
read(3, "A0\0\0\0aeabi\0\1&\0\0\0\0057-A\0\6\n\7A\10\1\t\2\n\4\22"..., 49) = 49
fstat64(3, {st_mode=S_IFREG|0644, st_size=227732, ...}) = 0
mmap2(NULL, 383024, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0xb6e42000
mprotect(0xb6e79000, 61440, PROT_NONE)  = 0
mmap2(0xb6e88000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x36000) = 0xb6e88000
mmap2(0xb6e8a000, 88112, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0xb6e8a000
close(3)                                = 0
openat(AT_FDCWD, "/lib/arm-linux-gnueabihf/libpthread.so.0", O_RDONLY|O_LARGEFILE|O_CLOEXEC) = 3
read(3, "\177ELF\1\1\1\3\0\0\0\0\0\0\0\0\3\0(\0\1\0\0\0001M\0\0004\0\0\0"..., 512) = 512
_llseek(3, 108864, [108864], SEEK_SET)  = 0
read(3, "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 1400) = 1400
_llseek(3, 74184, [74184], SEEK_SET)    = 0
read(3, "A2\0\0\0aeabi\0\1(\0\0\0\0057-A\0\6\n\7A\10\1\t\2\n\4\22"..., 51) = 51
_llseek(3, 108864, [108864], SEEK_SET)  = 0
read(3, "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 1400) = 1400
_llseek(3, 74184, [74184], SEEK_SET)    = 0
read(3, "A2\0\0\0aeabi\0\1(\0\0\0\0057-A\0\6\n\7A\10\1\t\2\n\4\22"..., 51) = 51
_llseek(3, 108864, [108864], SEEK_SET)  = 0
read(3, "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 1400) = 1400
_llseek(3, 74184, [74184], SEEK_SET)    = 0
read(3, "A2\0\0\0aeabi\0\1(\0\0\0\0057-A\0\6\n\7A\10\1\t\2\n\4\22"..., 51) = 51
_llseek(3, 108864, [108864], SEEK_SET)  = 0
read(3, "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 1400) = 1400
_llseek(3, 74184, [74184], SEEK_SET)    = 0
read(3, "A2\0\0\0aeabi\0\1(\0\0\0\0057-A\0\6\n\7A\10\1\t\2\n\4\22"..., 51) = 51
_llseek(3, 108864, [108864], SEEK_SET)  = 0
read(3, "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 1400) = 1400
_llseek(3, 74184, [74184], SEEK_SET)    = 0
read(3, "A2\0\0\0aeabi\0\1(\0\0\0\0057-A\0\6\n\7A\10\1\t\2\n\4\22"..., 51) = 51
_llseek(3, 108864, [108864], SEEK_SET)  = 0
read(3, "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 1400) = 1400
_llseek(3, 74184, [74184], SEEK_SET)    = 0
read(3, "A2\0\0\0aeabi\0\1(\0\0\0\0057-A\0\6\n\7A\10\1\t\2\n\4\22"..., 51) = 51
fstat64(3, {st_mode=S_IFREG|0755, st_size=110264, ...}) = 0
mmap2(NULL, 148080, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0xb6e1d000
mprotect(0xb6e2f000, 61440, PROT_NONE)  = 0
mmap2(0xb6e3e000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x11000) = 0xb6e3e000
mmap2(0xb6e40000, 4720, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0xb6e40000
close(3)                                = 0
openat(AT_FDCWD, "/lib/arm-linux-gnueabihf/libc.so.6", O_RDONLY|O_LARGEFILE|O_CLOEXEC) = 3
read(3, "\177ELF\1\1\1\3\0\0\0\0\0\0\0\0\3\0(\0\1\0\0\09v\1\0004\0\0\0"..., 512) = 512
_llseek(3, 949188, [949188], SEEK_SET)  = 0
read(3, "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 2840) = 2840
_llseek(3, 945756, [945756], SEEK_SET)  = 0
read(3, "A4\0\0\0aeabi\0\1*\0\0\0\0057-A\0\6\n\7A\10\1\t\2\n\3\f"..., 53) = 53
_llseek(3, 949188, [949188], SEEK_SET)  = 0
read(3, "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 2840) = 2840
_llseek(3, 945756, [945756], SEEK_SET)  = 0
read(3, "A4\0\0\0aeabi\0\1*\0\0\0\0057-A\0\6\n\7A\10\1\t\2\n\3\f"..., 53) = 53
_llseek(3, 949188, [949188], SEEK_SET)  = 0
read(3, "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 2840) = 2840
_llseek(3, 945756, [945756], SEEK_SET)  = 0
read(3, "A4\0\0\0aeabi\0\1*\0\0\0\0057-A\0\6\n\7A\10\1\t\2\n\3\f"..., 53) = 53
_llseek(3, 949188, [949188], SEEK_SET)  = 0
read(3, "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 2840) = 2840
_llseek(3, 945756, [945756], SEEK_SET)  = 0
read(3, "A4\0\0\0aeabi\0\1*\0\0\0\0057-A\0\6\n\7A\10\1\t\2\n\3\f"..., 53) = 53
_llseek(3, 949188, [949188], SEEK_SET)  = 0
read(3, "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 2840) = 2840
_llseek(3, 945756, [945756], SEEK_SET)  = 0
read(3, "A4\0\0\0aeabi\0\1*\0\0\0\0057-A\0\6\n\7A\10\1\t\2\n\3\f"..., 53) = 53
_llseek(3, 949188, [949188], SEEK_SET)  = 0
read(3, "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 2840) = 2840
_llseek(3, 945756, [945756], SEEK_SET)  = 0
read(3, "A4\0\0\0aeabi\0\1*\0\0\0\0057-A\0\6\n\7A\10\1\t\2\n\3\f"..., 53) = 53
fstat64(3, {st_mode=S_IFREG|0755, st_size=952028, ...}) = 0
mmap2(NULL, 1020732, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0xb6d23000
mprotect(0xb6e07000, 65536, PROT_NONE)  = 0
mmap2(0xb6e17000, 12288, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0xe4000) = 0xb6e17000
mmap2(0xb6e1a000, 9020, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0xb6e1a000
close(3)                                = 0
mmap2(NULL, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb6f73000
set_tls(0xb6f734d0)                     = 0
mprotect(0xb6e17000, 8192, PROT_READ)   = 0
mprotect(0xb6e3e000, 4096, PROT_READ)   = 0
mprotect(0xb6f2f000, 4096, PROT_READ)   = 0
mprotect(0xb6eb4000, 4096, PROT_READ)   = 0
mprotect(0xb6e88000, 4096, PROT_READ)   = 0
mprotect(0x423000, 4096, PROT_READ)     = 0
mprotect(0xb6f77000, 4096, PROT_READ)   = 0
munmap(0xb6f31000, 118889)              = 0
set_tid_address(0xb6f73078)             = 1910
set_robust_list(0xb6f73080, 12)         = 0
rt_sigaction(SIGRTMIN, {sa_handler=0xb6e2189d, sa_mask=[], sa_flags=SA_RESTORER|SA_SIGINFO, sa_restorer=0xb6d48cb1}, NULL, 8) = 0
rt_sigaction(SIGRT_1, {sa_handler=0xb6e21921, sa_mask=[], sa_flags=SA_RESTORER|SA_RESTART|SA_SIGINFO, sa_restorer=0xb6d48cb1}, NULL, 8) = 0
rt_sigprocmask(SIG_UNBLOCK, [RTMIN RT_1], NULL, 8) = 0
ugetrlimit(RLIMIT_STACK, {rlim_cur=8192*1024, rlim_max=RLIM_INFINITY}) = 0
rt_sigaction(SIGINT, {sa_handler=0x4128f5, sa_mask=[INT], sa_flags=SA_RESTORER|SA_RESTART, sa_restorer=0xb6d48ca1}, {sa_handler=SIG_DFL, sa_mask=[], sa_flags=0}, 8) = 0
rt_sigaction(SIGINT, {sa_handler=SIG_IGN, sa_mask=[], sa_flags=SA_RESTORER, sa_restorer=0xb6d48ca1}, {sa_handler=0x4128f5, sa_mask=[INT], sa_flags=SA_RESTORER|SA_RESTART, sa_restorer=0xb6d48ca1}, 8) = 0
rt_sigaction(SIGQUIT, {sa_handler=SIG_IGN, sa_mask=[], sa_flags=SA_RESTORER, sa_restorer=0xb6d48ca1}, {sa_handler=SIG_DFL, sa_mask=[], sa_flags=0}, 8) = 0
rt_sigprocmask(SIG_BLOCK, [CHLD], [], 8) = 0
clone(child_stack=NULL, flags=CLONE_PARENT_SETTID|SIGCHLD, parent_tidptr=0xbeb37324) = 1911
wait4(1911, [{WIFEXITED(s) && WEXITSTATUS(s) == 1}], 0, NULL) = 1911
rt_sigaction(SIGINT, {sa_handler=0x4128f5, sa_mask=[INT], sa_flags=SA_RESTORER|SA_RESTART, sa_restorer=0xb6d48ca1}, NULL, 8) = 0
rt_sigaction(SIGQUIT, {sa_handler=SIG_DFL, sa_mask=[], sa_flags=SA_RESTORER, sa_restorer=0xb6d48ca1}, NULL, 8) = 0
rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0
--- SIGCHLD {si_signo=SIGCHLD, si_code=CLD_EXITED, si_pid=1911, si_uid=1000, si_status=1, si_utime=0, si_stime=1} ---
brk(NULL)                               = 0x10fb000
brk(0x111c000)                          = 0x111c000
openat(AT_FDCWD, "/proc/device-tree/model", O_RDONLY) = 3
fstat64(3, {st_mode=S_IFREG|0444, st_size=26, ...}) = 0
read(3, "TI AM335x BeagleBone Blue\0", 4096) = 26
read(3, "", 4096)                       = 0
close(3)                                = 0
openat(AT_FDCWD, "/sys/devices/platform/ocp/48300000.epwmss/48300200.pwm/pwm", O_RDONLY|O_NONBLOCK|O_LARGEFILE|O_CLOEXEC|O_DIRECTORY) = 3
fstat64(3, {st_mode=S_IFDIR|0775, st_size=0, ...}) = 0
getdents64(3, /* 3 entries */, 32768)   = 80
getdents64(3, /* 0 entries */, 32768)   = 0
close(3)                                = 0
lstat64("/sys/devices/platform/ocp/48300000.epwmss/48300200.pwm/pwm/pwmchip1/unexport", {st_mode=S_IFREG|0220, st_size=4096, ...}) = 0
openat(AT_FDCWD, "/sys/devices/platform/ocp/48300000.epwmss/48300200.pwm/pwm/pwmchip1/unexport", O_WRONLY) = 3
write(3, "0\0", 2)                      = -1 ENODEV (No such device)
write(3, "1\0", 2)                      = -1 ENODEV (No such device)
close(3)                                = 0
openat(AT_FDCWD, "/sys/devices/platform/ocp/48300000.epwmss/48300200.pwm/pwm", O_RDONLY|O_NONBLOCK|O_LARGEFILE|O_CLOEXEC|O_DIRECTORY) = 3
fstat64(3, {st_mode=S_IFDIR|0775, st_size=0, ...}) = 0
getdents64(3, /* 3 entries */, 32768)   = 80
getdents64(3, /* 0 entries */, 32768)   = 0
close(3)                                = 0
lstat64("/sys/devices/platform/ocp/48300000.epwmss/48300200.pwm/pwm/pwmchip1/export", {st_mode=S_IFREG|0220, st_size=4096, ...}) = 0
openat(AT_FDCWD, "/sys/devices/platform/ocp/48300000.epwmss/48300200.pwm/pwm/pwmchip1/export", O_WRONLY) = 3
write(3, "0\0", 2)                      = 2
write(3, "1\0", 2)                      = 2
close(3)                                = 0
access("/sys/class/pwm/pwmchip0/pwm0/enable", F_OK) = -1 ENOENT (No such file or directory)
access("/sys/class/pwm/pwm-1:0/enable", F_OK) = 0
access("/sys/class/pwm/pwm-1:1/enable", F_OK) = 0
openat(AT_FDCWD, "/sys/class/pwm/pwm-1:0/duty_cycle", O_WRONLY) = -1 EACCES (Permission denied)
nanosleep({tv_sec=0, tv_nsec=600000000}, 0xbeb37390) = 0
openat(AT_FDCWD, "/sys/class/pwm/pwm-1:0/duty_cycle", O_WRONLY) = 3
openat(AT_FDCWD, "/sys/class/pwm/pwm-1:1/duty_cycle", O_WRONLY) = 4
openat(AT_FDCWD, "/sys/class/pwm/pwm-1:0/enable", O_WRONLY) = 5
openat(AT_FDCWD, "/sys/class/pwm/pwm-1:1/enable", O_WRONLY) = 6
openat(AT_FDCWD, "/sys/class/pwm/pwm-1:0/period", O_WRONLY) = 7
openat(AT_FDCWD, "/sys/class/pwm/pwm-1:1/period", O_WRONLY) = 8
openat(AT_FDCWD, "/sys/class/pwm/pwm-1:0/polarity", O_WRONLY) = 9
openat(AT_FDCWD, "/sys/class/pwm/pwm-1:1/polarity", O_WRONLY) = 10
write(7, "40000", 5)                    = 5
write(8, "40000", 5)                    = 5
write(9, "normal\0", 7)                 = 7
write(10, "normal\0", 7)                = 7
write(3, "0\0", 2)                      = 2
write(4, "0\0", 2)                      = 2
write(5, "1\0", 2)                      = 2
write(6, "1\0", 2)                      = 2
close(5)                                = 0
close(6)                                = 0
close(7)                                = 0
close(8)                                = 0
close(9)                                = 0
close(10)                               = 0
openat(AT_FDCWD, "/sys/devices/platform/ocp/48302000.epwmss/48302200.pwm/pwm", O_RDONLY|O_NONBLOCK|O_LARGEFILE|O_CLOEXEC|O_DIRECTORY) = 5
fstat64(5, {st_mode=S_IFDIR|0775, st_size=0, ...}) = 0
getdents64(5, /* 3 entries */, 32768)   = 80
getdents64(5, /* 0 entries */, 32768)   = 0
close(5)                                = 0
lstat64("/sys/devices/platform/ocp/48302000.epwmss/48302200.pwm/pwm/pwmchip4/unexport", {st_mode=S_IFREG|0220, st_size=4096, ...}) = 0
openat(AT_FDCWD, "/sys/devices/platform/ocp/48302000.epwmss/48302200.pwm/pwm/pwmchip4/unexport", O_WRONLY) = 5
write(5, "0\0", 2)                      = -1 ENODEV (No such device)
write(5, "1\0", 2)                      = -1 ENODEV (No such device)
close(5)                                = 0
openat(AT_FDCWD, "/sys/devices/platform/ocp/48302000.epwmss/48302200.pwm/pwm", O_RDONLY|O_NONBLOCK|O_LARGEFILE|O_CLOEXEC|O_DIRECTORY) = 5
fstat64(5, {st_mode=S_IFDIR|0775, st_size=0, ...}) = 0
getdents64(5, /* 3 entries */, 32768)   = 80
getdents64(5, /* 0 entries */, 32768)   = 0
close(5)                                = 0
lstat64("/sys/devices/platform/ocp/48302000.epwmss/48302200.pwm/pwm/pwmchip4/export", {st_mode=S_IFREG|0220, st_size=4096, ...}) = 0
openat(AT_FDCWD, "/sys/devices/platform/ocp/48302000.epwmss/48302200.pwm/pwm/pwmchip4/export", O_WRONLY) = 5
write(5, "0\0", 2)                      = 2
write(5, "1\0", 2)                      = 2
close(5)                                = 0
access("/sys/class/pwm/pwmchip2/pwm0/enable", F_OK) = -1 ENOENT (No such file or directory)
access("/sys/class/pwm/pwm-4:0/enable", F_OK) = 0
access("/sys/class/pwm/pwm-4:1/enable", F_OK) = 0
openat(AT_FDCWD, "/sys/class/pwm/pwm-4:0/duty_cycle", O_WRONLY) = -1 EACCES (Permission denied)
nanosleep({tv_sec=0, tv_nsec=600000000}, 0xbeb37390) = 0
openat(AT_FDCWD, "/sys/class/pwm/pwm-4:0/duty_cycle", O_WRONLY) = 5
openat(AT_FDCWD, "/sys/class/pwm/pwm-4:1/duty_cycle", O_WRONLY) = 6
openat(AT_FDCWD, "/sys/class/pwm/pwm-4:0/enable", O_WRONLY) = 7
openat(AT_FDCWD, "/sys/class/pwm/pwm-4:1/enable", O_WRONLY) = 8
openat(AT_FDCWD, "/sys/class/pwm/pwm-4:0/period", O_WRONLY) = 9
openat(AT_FDCWD, "/sys/class/pwm/pwm-4:1/period", O_WRONLY) = 10
openat(AT_FDCWD, "/sys/class/pwm/pwm-4:0/polarity", O_WRONLY) = 11
openat(AT_FDCWD, "/sys/class/pwm/pwm-4:1/polarity", O_WRONLY) = 12
write(9, "40000", 5)                    = 5
write(10, "40000", 5)                   = 5
write(11, "normal\0", 7)                = 7
write(12, "normal\0", 7)                = 7
write(5, "0\0", 2)                      = 2
write(6, "0\0", 2)                      = 2
write(7, "1\0", 2)                      = 2
write(8, "1\0", 2)                      = 2
close(7)                                = 0
close(8)                                = 0
close(9)                                = 0
close(10)                               = 0
close(11)                               = 0
close(12)                               = 0
openat(AT_FDCWD, "/sys/devices/platform/ocp/48304000.epwmss/48304200.pwm/pwm", O_RDONLY|O_NONBLOCK|O_LARGEFILE|O_CLOEXEC|O_DIRECTORY) = 7
fstat64(7, {st_mode=S_IFDIR|0775, st_size=0, ...}) = 0
getdents64(7, /* 3 entries */, 32768)   = 80
getdents64(7, /* 0 entries */, 32768)   = 0
close(7)                                = 0
lstat64("/sys/devices/platform/ocp/48304000.epwmss/48304200.pwm/pwm/pwmchip7/unexport", {st_mode=S_IFREG|0220, st_size=4096, ...}) = 0
openat(AT_FDCWD, "/sys/devices/platform/ocp/48304000.epwmss/48304200.pwm/pwm/pwmchip7/unexport", O_WRONLY) = 7
write(7, "0\0", 2)                      = -1 ENODEV (No such device)
write(7, "1\0", 2)                      = -1 ENODEV (No such device)
close(7)                                = 0
openat(AT_FDCWD, "/sys/devices/platform/ocp/48304000.epwmss/48304200.pwm/pwm", O_RDONLY|O_NONBLOCK|O_LARGEFILE|O_CLOEXEC|O_DIRECTORY) = 7
fstat64(7, {st_mode=S_IFDIR|0775, st_size=0, ...}) = 0
getdents64(7, /* 3 entries */, 32768)   = 80
getdents64(7, /* 0 entries */, 32768)   = 0
close(7)                                = 0
lstat64("/sys/devices/platform/ocp/48304000.epwmss/48304200.pwm/pwm/pwmchip7/export", {st_mode=S_IFREG|0220, st_size=4096, ...}) = 0
openat(AT_FDCWD, "/sys/devices/platform/ocp/48304000.epwmss/48304200.pwm/pwm/pwmchip7/export", O_WRONLY) = 7
write(7, "0\0", 2)                      = 2
write(7, "1\0", 2)                      = 2
close(7)                                = 0
access("/sys/class/pwm/pwmchip4/pwm0/enable", F_OK) = -1 ENOENT (No such file or directory)
access("/sys/class/pwm/pwm-7:0/enable", F_OK) = 0
access("/sys/class/pwm/pwm-7:1/enable", F_OK) = 0
openat(AT_FDCWD, "/sys/class/pwm/pwm-7:0/duty_cycle", O_WRONLY) = -1 EACCES (Permission denied)
nanosleep({tv_sec=0, tv_nsec=600000000}, 0xbeb37390) = 0
openat(AT_FDCWD, "/sys/class/pwm/pwm-7:0/duty_cycle", O_WRONLY) = 7
openat(AT_FDCWD, "/sys/class/pwm/pwm-7:1/duty_cycle", O_WRONLY) = 8
openat(AT_FDCWD, "/sys/class/pwm/pwm-7:0/enable", O_WRONLY) = 9
openat(AT_FDCWD, "/sys/class/pwm/pwm-7:1/enable", O_WRONLY) = 10
openat(AT_FDCWD, "/sys/class/pwm/pwm-7:0/period", O_WRONLY) = 11
openat(AT_FDCWD, "/sys/class/pwm/pwm-7:1/period", O_WRONLY) = 12
openat(AT_FDCWD, "/sys/class/pwm/pwm-7:0/polarity", O_WRONLY) = 13
openat(AT_FDCWD, "/sys/class/pwm/pwm-7:1/polarity", O_WRONLY) = 14
write(11, "40000", 5)                   = 5
write(12, "40000", 5)                   = 5
write(13, "normal\0", 7)                = 7
write(14, "normal\0", 7)                = 7
write(7, "0\0", 2)                      = 2
write(8, "0\0", 2)                      = 2
write(9, "1\0", 2)                      = 2
write(10, "1\0", 2)                     = 2
close(9)                                = 0
close(10)                               = 0
close(11)                               = 0
close(12)                               = 0
close(13)                               = 0
close(14)                               = 0
openat(AT_FDCWD, "/dev/gpiochip0", O_RDWR) = 9
ioctl(9, GPIO_GET_LINEHANDLE_IOCTL, 0xbeb37394) = 0
openat(AT_FDCWD, "/dev/gpiochip2", O_RDWR) = 11
ioctl(11, GPIO_GET_LINEHANDLE_IOCTL, 0xbeb37394) = 0
ioctl(9, GPIO_GET_LINEHANDLE_IOCTL, 0xbeb37394) = 0
openat(AT_FDCWD, "/dev/gpiochip1", O_RDWR) = 14
ioctl(14, GPIO_GET_LINEHANDLE_IOCTL, 0xbeb37394) = 0
ioctl(9, GPIO_GET_LINEHANDLE_IOCTL, 0xbeb37394) = 0
ioctl(11, GPIO_GET_LINEHANDLE_IOCTL, 0xbeb37394) = 0
ioctl(11, GPIO_GET_LINEHANDLE_IOCTL, 0xbeb37394) = 0
ioctl(11, GPIO_GET_LINEHANDLE_IOCTL, 0xbeb37394) = 0
ioctl(11, GPIO_GET_LINEHANDLE_IOCTL, 0xbeb37394) = 0
ioctl(12, GPIOHANDLE_SET_LINE_VALUES_IOCTL, 0xbeb374b0) = 0
ioctl(13, GPIOHANDLE_SET_LINE_VALUES_IOCTL, 0xbeb374b0) = 0
write(5, "0", 1)                        = 1
ioctl(15, GPIOHANDLE_SET_LINE_VALUES_IOCTL, 0xbeb374b0) = 0
ioctl(16, GPIOHANDLE_SET_LINE_VALUES_IOCTL, 0xbeb374b0) = 0
write(6, "0", 1)                        = 1
ioctl(17, GPIOHANDLE_SET_LINE_VALUES_IOCTL, 0xbeb374b0) = 0
ioctl(18, GPIOHANDLE_SET_LINE_VALUES_IOCTL, 0xbeb374b0) = 0
write(7, "0", 1)                        = 1
ioctl(19, GPIOHANDLE_SET_LINE_VALUES_IOCTL, 0xbeb374b0) = 0
ioctl(20, GPIOHANDLE_SET_LINE_VALUES_IOCTL, 0xbeb374b0) = 0
write(8, "0", 1)                        = 1
ioctl(10, GPIOHANDLE_SET_LINE_VALUES_IOCTL, 0xbeb374d0) = 0
fstat64(1, {st_mode=S_IFCHR|0620, st_rdev=makedev(0x88, 0), ...}) = 0
write(1, "sending duty cycle 1.0000\n", 26sending duty cycle 1.0000
) = 26
ioctl(12, GPIOHANDLE_SET_LINE_VALUES_IOCTL, 0xbeb374c8) = 0
ioctl(13, GPIOHANDLE_SET_LINE_VALUES_IOCTL, 0xbeb374c8) = 0
write(5, "40000", 5)                    = 5
ioctl(15, GPIOHANDLE_SET_LINE_VALUES_IOCTL, 0xbeb374c8) = 0
ioctl(16, GPIOHANDLE_SET_LINE_VALUES_IOCTL, 0xbeb374c8) = 0
write(6, "40000", 5)                    = 5
ioctl(17, GPIOHANDLE_SET_LINE_VALUES_IOCTL, 0xbeb374c8) = 0
ioctl(18, GPIOHANDLE_SET_LINE_VALUES_IOCTL, 0xbeb374c8) = 0
write(7, "40000", 5)                    = 5
ioctl(19, GPIOHANDLE_SET_LINE_VALUES_IOCTL, 0xbeb374c8) = 0
ioctl(20, GPIOHANDLE_SET_LINE_VALUES_IOCTL, 0xbeb374c8) = 0
write(8, "40000", 5)                    = 5
nanosleep({tv_sec=0, tv_nsec=500000000}, 0xbeb37518) = 0
nanosleep({tv_sec=0, tv_nsec=500000000}, 0xbeb37518) = 0
nanosleep({tv_sec=0, tv_nsec=500000000}, 0xbeb37518) = 0
nanosleep({tv_sec=0, tv_nsec=500000000}, 0xbeb37518) = 0
nanosleep({tv_sec=0, tv_nsec=500000000}, 0xbeb37518) = 0
nanosleep({tv_sec=0, tv_nsec=500000000}, 0xbeb37518) = 0
nanosleep({tv_sec=0, tv_nsec=500000000}, 0xbeb37518) = 0
nanosleep({tv_sec=0, tv_nsec=500000000}, 0xbeb37518) = 0
nanosleep({tv_sec=0, tv_nsec=500000000}, 0xbeb37518) = 0
nanosleep({tv_sec=0, tv_nsec=500000000}, 0xbeb37518) = 0
nanosleep({tv_sec=0, tv_nsec=500000000}, 0xbeb37518) = 0
nanosleep({tv_sec=0, tv_nsec=500000000}, ^C{tv_sec=0, tv_nsec=473918958}) = ? ERESTART_RESTARTBLOCK (Interrupted by signal)
strace: Process 1910 detached

Failed Run:

SCUTTLE ~ ➜  strace rc_test_motors -d 1
execve("/usr/bin/rc_test_motors", ["rc_test_motors", "-d", "1"], 0xbedac6d8 /* 21 vars */) = 0
brk(NULL)                               = 0x199c000
uname({sysname="Linux", nodename="SCUTTLE", ...}) = 0
mmap2(NULL, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb6ff5000
access("/etc/ld.so.preload", R_OK)      = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "/etc/ld.so.cache", O_RDONLY|O_LARGEFILE|O_CLOEXEC) = 3
fstat64(3, {st_mode=S_IFREG|0644, st_size=118889, ...}) = 0
mmap2(NULL, 118889, PROT_READ, MAP_PRIVATE, 3, 0) = 0xb6fb1000
close(3)                                = 0
openat(AT_FDCWD, "/lib/arm-linux-gnueabihf/libm.so.6", O_RDONLY|O_LARGEFILE|O_CLOEXEC) = 3
read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0(\0\1\0\0\0\250r\0\0004\0\0\0"..., 512) = 512
_llseek(3, 434644, [434644], SEEK_SET)  = 0
read(3, "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 1080) = 1080
_llseek(3, 434288, [434288], SEEK_SET)  = 0
read(3, "A4\0\0\0aeabi\0\1*\0\0\0\0057-A\0\6\n\7A\10\1\t\2\n\4\22"..., 53) = 53
_llseek(3, 434644, [434644], SEEK_SET)  = 0
read(3, "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 1080) = 1080
_llseek(3, 434288, [434288], SEEK_SET)  = 0
read(3, "A4\0\0\0aeabi\0\1*\0\0\0\0057-A\0\6\n\7A\10\1\t\2\n\4\22"..., 53) = 53
_llseek(3, 434644, [434644], SEEK_SET)  = 0
read(3, "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 1080) = 1080
_llseek(3, 434288, [434288], SEEK_SET)  = 0
read(3, "A4\0\0\0aeabi\0\1*\0\0\0\0057-A\0\6\n\7A\10\1\t\2\n\4\22"..., 53) = 53
fstat64(3, {st_mode=S_IFREG|0644, st_size=435724, ...}) = 0
mmap2(NULL, 499832, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0xb6f36000
mprotect(0xb6fa0000, 61440, PROT_NONE)  = 0
mmap2(0xb6faf000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x69000) = 0xb6faf000
close(3)                                = 0
openat(AT_FDCWD, "/lib/arm-linux-gnueabihf/librt.so.1", O_RDONLY|O_LARGEFILE|O_CLOEXEC) = 3
read(3, "\177ELF\1\1\1\3\0\0\0\0\0\0\0\0\3\0(\0\1\0\0\0 \30\0\0004\0\0\0"..., 512) = 512
_llseek(3, 21268, [21268], SEEK_SET)    = 0
read(3, "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 1240) = 1240
_llseek(3, 20856, [20856], SEEK_SET)    = 0
read(3, "A2\0\0\0aeabi\0\1(\0\0\0\0057-A\0\6\n\7A\10\1\t\2\n\4\22"..., 51) = 51
_llseek(3, 21268, [21268], SEEK_SET)    = 0
read(3, "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 1240) = 1240
_llseek(3, 20856, [20856], SEEK_SET)    = 0
read(3, "A2\0\0\0aeabi\0\1(\0\0\0\0057-A\0\6\n\7A\10\1\t\2\n\4\22"..., 51) = 51
_llseek(3, 21268, [21268], SEEK_SET)    = 0
read(3, "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 1240) = 1240
_llseek(3, 20856, [20856], SEEK_SET)    = 0
read(3, "A2\0\0\0aeabi\0\1(\0\0\0\0057-A\0\6\n\7A\10\1\t\2\n\4\22"..., 51) = 51
_llseek(3, 21268, [21268], SEEK_SET)    = 0
read(3, "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 1240) = 1240
_llseek(3, 20856, [20856], SEEK_SET)    = 0
read(3, "A2\0\0\0aeabi\0\1(\0\0\0\0057-A\0\6\n\7A\10\1\t\2\n\4\22"..., 51) = 51
fstat64(3, {st_mode=S_IFREG|0644, st_size=22508, ...}) = 0
mmap2(NULL, 86552, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0xb6f20000
mprotect(0xb6f25000, 61440, PROT_NONE)  = 0
mmap2(0xb6f34000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x4000) = 0xb6f34000
close(3)                                = 0
openat(AT_FDCWD, "/usr/lib/librobotcontrol.so.1", O_RDONLY|O_LARGEFILE|O_CLOEXEC) = 3
read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0(\0\1\0\0\0\220e\0\0004\0\0\0"..., 512) = 512
_llseek(3, 226692, [226692], SEEK_SET)  = 0
read(3, "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 1040) = 1040
_llseek(3, 226344, [226344], SEEK_SET)  = 0
read(3, "A0\0\0\0aeabi\0\1&\0\0\0\0057-A\0\6\n\7A\10\1\t\2\n\4\22"..., 49) = 49
_llseek(3, 226692, [226692], SEEK_SET)  = 0
read(3, "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 1040) = 1040
_llseek(3, 226344, [226344], SEEK_SET)  = 0
read(3, "A0\0\0\0aeabi\0\1&\0\0\0\0057-A\0\6\n\7A\10\1\t\2\n\4\22"..., 49) = 49
_llseek(3, 226692, [226692], SEEK_SET)  = 0
read(3, "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 1040) = 1040
_llseek(3, 226344, [226344], SEEK_SET)  = 0
read(3, "A0\0\0\0aeabi\0\1&\0\0\0\0057-A\0\6\n\7A\10\1\t\2\n\4\22"..., 49) = 49
_llseek(3, 226692, [226692], SEEK_SET)  = 0
read(3, "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 1040) = 1040
_llseek(3, 226344, [226344], SEEK_SET)  = 0
read(3, "A0\0\0\0aeabi\0\1&\0\0\0\0057-A\0\6\n\7A\10\1\t\2\n\4\22"..., 49) = 49
_llseek(3, 226692, [226692], SEEK_SET)  = 0
read(3, "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 1040) = 1040
_llseek(3, 226344, [226344], SEEK_SET)  = 0
read(3, "A0\0\0\0aeabi\0\1&\0\0\0\0057-A\0\6\n\7A\10\1\t\2\n\4\22"..., 49) = 49
_llseek(3, 226692, [226692], SEEK_SET)  = 0
read(3, "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 1040) = 1040
_llseek(3, 226344, [226344], SEEK_SET)  = 0
read(3, "A0\0\0\0aeabi\0\1&\0\0\0\0057-A\0\6\n\7A\10\1\t\2\n\4\22"..., 49) = 49
fstat64(3, {st_mode=S_IFREG|0644, st_size=227732, ...}) = 0
mmap2(NULL, 383024, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0xb6ec2000
mprotect(0xb6ef9000, 61440, PROT_NONE)  = 0
mmap2(0xb6f08000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x36000) = 0xb6f08000
mmap2(0xb6f0a000, 88112, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0xb6f0a000
close(3)                                = 0
openat(AT_FDCWD, "/lib/arm-linux-gnueabihf/libpthread.so.0", O_RDONLY|O_LARGEFILE|O_CLOEXEC) = 3
read(3, "\177ELF\1\1\1\3\0\0\0\0\0\0\0\0\3\0(\0\1\0\0\0001M\0\0004\0\0\0"..., 512) = 512
_llseek(3, 108864, [108864], SEEK_SET)  = 0
read(3, "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 1400) = 1400
_llseek(3, 74184, [74184], SEEK_SET)    = 0
read(3, "A2\0\0\0aeabi\0\1(\0\0\0\0057-A\0\6\n\7A\10\1\t\2\n\4\22"..., 51) = 51
_llseek(3, 108864, [108864], SEEK_SET)  = 0
read(3, "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 1400) = 1400
_llseek(3, 74184, [74184], SEEK_SET)    = 0
read(3, "A2\0\0\0aeabi\0\1(\0\0\0\0057-A\0\6\n\7A\10\1\t\2\n\4\22"..., 51) = 51
_llseek(3, 108864, [108864], SEEK_SET)  = 0
read(3, "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 1400) = 1400
_llseek(3, 74184, [74184], SEEK_SET)    = 0
read(3, "A2\0\0\0aeabi\0\1(\0\0\0\0057-A\0\6\n\7A\10\1\t\2\n\4\22"..., 51) = 51
_llseek(3, 108864, [108864], SEEK_SET)  = 0
read(3, "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 1400) = 1400
_llseek(3, 74184, [74184], SEEK_SET)    = 0
read(3, "A2\0\0\0aeabi\0\1(\0\0\0\0057-A\0\6\n\7A\10\1\t\2\n\4\22"..., 51) = 51
_llseek(3, 108864, [108864], SEEK_SET)  = 0
read(3, "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 1400) = 1400
_llseek(3, 74184, [74184], SEEK_SET)    = 0
read(3, "A2\0\0\0aeabi\0\1(\0\0\0\0057-A\0\6\n\7A\10\1\t\2\n\4\22"..., 51) = 51
_llseek(3, 108864, [108864], SEEK_SET)  = 0
read(3, "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 1400) = 1400
_llseek(3, 74184, [74184], SEEK_SET)    = 0
read(3, "A2\0\0\0aeabi\0\1(\0\0\0\0057-A\0\6\n\7A\10\1\t\2\n\4\22"..., 51) = 51
fstat64(3, {st_mode=S_IFREG|0755, st_size=110264, ...}) = 0
mmap2(NULL, 148080, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0xb6e9d000
mprotect(0xb6eaf000, 61440, PROT_NONE)  = 0
mmap2(0xb6ebe000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x11000) = 0xb6ebe000
mmap2(0xb6ec0000, 4720, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0xb6ec0000
close(3)                                = 0
openat(AT_FDCWD, "/lib/arm-linux-gnueabihf/libc.so.6", O_RDONLY|O_LARGEFILE|O_CLOEXEC) = 3
read(3, "\177ELF\1\1\1\3\0\0\0\0\0\0\0\0\3\0(\0\1\0\0\09v\1\0004\0\0\0"..., 512) = 512
_llseek(3, 949188, [949188], SEEK_SET)  = 0
read(3, "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 2840) = 2840
_llseek(3, 945756, [945756], SEEK_SET)  = 0
read(3, "A4\0\0\0aeabi\0\1*\0\0\0\0057-A\0\6\n\7A\10\1\t\2\n\3\f"..., 53) = 53
_llseek(3, 949188, [949188], SEEK_SET)  = 0
read(3, "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 2840) = 2840
_llseek(3, 945756, [945756], SEEK_SET)  = 0
read(3, "A4\0\0\0aeabi\0\1*\0\0\0\0057-A\0\6\n\7A\10\1\t\2\n\3\f"..., 53) = 53
_llseek(3, 949188, [949188], SEEK_SET)  = 0
read(3, "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 2840) = 2840
_llseek(3, 945756, [945756], SEEK_SET)  = 0
read(3, "A4\0\0\0aeabi\0\1*\0\0\0\0057-A\0\6\n\7A\10\1\t\2\n\3\f"..., 53) = 53
_llseek(3, 949188, [949188], SEEK_SET)  = 0
read(3, "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 2840) = 2840
_llseek(3, 945756, [945756], SEEK_SET)  = 0
read(3, "A4\0\0\0aeabi\0\1*\0\0\0\0057-A\0\6\n\7A\10\1\t\2\n\3\f"..., 53) = 53
_llseek(3, 949188, [949188], SEEK_SET)  = 0
read(3, "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 2840) = 2840
_llseek(3, 945756, [945756], SEEK_SET)  = 0
read(3, "A4\0\0\0aeabi\0\1*\0\0\0\0057-A\0\6\n\7A\10\1\t\2\n\3\f"..., 53) = 53
_llseek(3, 949188, [949188], SEEK_SET)  = 0
read(3, "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 2840) = 2840
_llseek(3, 945756, [945756], SEEK_SET)  = 0
read(3, "A4\0\0\0aeabi\0\1*\0\0\0\0057-A\0\6\n\7A\10\1\t\2\n\3\f"..., 53) = 53
fstat64(3, {st_mode=S_IFREG|0755, st_size=952028, ...}) = 0
mmap2(NULL, 1020732, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0xb6da3000
mprotect(0xb6e87000, 65536, PROT_NONE)  = 0
mmap2(0xb6e97000, 12288, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0xe4000) = 0xb6e97000
mmap2(0xb6e9a000, 9020, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0xb6e9a000
close(3)                                = 0
mmap2(NULL, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb6ff3000
set_tls(0xb6ff34d0)                     = 0
mprotect(0xb6e97000, 8192, PROT_READ)   = 0
mprotect(0xb6ebe000, 4096, PROT_READ)   = 0
mprotect(0xb6faf000, 4096, PROT_READ)   = 0
mprotect(0xb6f34000, 4096, PROT_READ)   = 0
mprotect(0xb6f08000, 4096, PROT_READ)   = 0
mprotect(0x4b3000, 4096, PROT_READ)     = 0
mprotect(0xb6ff7000, 4096, PROT_READ)   = 0
munmap(0xb6fb1000, 118889)              = 0
set_tid_address(0xb6ff3078)             = 2595
set_robust_list(0xb6ff3080, 12)         = 0
rt_sigaction(SIGRTMIN, {sa_handler=0xb6ea189d, sa_mask=[], sa_flags=SA_RESTORER|SA_SIGINFO, sa_restorer=0xb6dc8cb1}, NULL, 8) = 0
rt_sigaction(SIGRT_1, {sa_handler=0xb6ea1921, sa_mask=[], sa_flags=SA_RESTORER|SA_RESTART|SA_SIGINFO, sa_restorer=0xb6dc8cb1}, NULL, 8) = 0
rt_sigprocmask(SIG_UNBLOCK, [RTMIN RT_1], NULL, 8) = 0
ugetrlimit(RLIMIT_STACK, {rlim_cur=8192*1024, rlim_max=RLIM_INFINITY}) = 0
rt_sigaction(SIGINT, {sa_handler=0x4a28f5, sa_mask=[INT], sa_flags=SA_RESTORER|SA_RESTART, sa_restorer=0xb6dc8ca1}, {sa_handler=SIG_DFL, sa_mask=[], sa_flags=0}, 8) = 0
rt_sigaction(SIGINT, {sa_handler=SIG_IGN, sa_mask=[], sa_flags=SA_RESTORER, sa_restorer=0xb6dc8ca1}, {sa_handler=0x4a28f5, sa_mask=[INT], sa_flags=SA_RESTORER|SA_RESTART, sa_restorer=0xb6dc8ca1}, 8) = 0
rt_sigaction(SIGQUIT, {sa_handler=SIG_IGN, sa_mask=[], sa_flags=SA_RESTORER, sa_restorer=0xb6dc8ca1}, {sa_handler=SIG_DFL, sa_mask=[], sa_flags=0}, 8) = 0
rt_sigprocmask(SIG_BLOCK, [CHLD], [], 8) = 0
clone(child_stack=NULL, flags=CLONE_PARENT_SETTID|SIGCHLD, parent_tidptr=0xbeacf324) = 2596
wait4(2596, [{WIFEXITED(s) && WEXITSTATUS(s) == 1}], 0, NULL) = 2596
rt_sigaction(SIGINT, {sa_handler=0x4a28f5, sa_mask=[INT], sa_flags=SA_RESTORER|SA_RESTART, sa_restorer=0xb6dc8ca1}, NULL, 8) = 0
rt_sigaction(SIGQUIT, {sa_handler=SIG_DFL, sa_mask=[], sa_flags=SA_RESTORER, sa_restorer=0xb6dc8ca1}, NULL, 8) = 0
rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0
--- SIGCHLD {si_signo=SIGCHLD, si_code=CLD_EXITED, si_pid=2596, si_uid=1000, si_status=1, si_utime=0, si_stime=0} ---
brk(NULL)                               = 0x199c000
brk(0x19bd000)                          = 0x19bd000
openat(AT_FDCWD, "/proc/device-tree/model", O_RDONLY) = 3
fstat64(3, {st_mode=S_IFREG|0444, st_size=26, ...}) = 0
read(3, "TI AM335x BeagleBone Blue\0", 4096) = 26
read(3, "", 4096)                       = 0
close(3)                                = 0
openat(AT_FDCWD, "/sys/devices/platform/ocp/48300000.epwmss/48300200.pwm/pwm", O_RDONLY|O_NONBLOCK|O_LARGEFILE|O_CLOEXEC|O_DIRECTORY) = 3
fstat64(3, {st_mode=S_IFDIR|0775, st_size=0, ...}) = 0
getdents64(3, /* 3 entries */, 32768)   = 80
getdents64(3, /* 0 entries */, 32768)   = 0
close(3)                                = 0
lstat64("/sys/devices/platform/ocp/48300000.epwmss/48300200.pwm/pwm/pwmchip1/unexport", {st_mode=S_IFREG|0220, st_size=4096, ...}) = 0
openat(AT_FDCWD, "/sys/devices/platform/ocp/48300000.epwmss/48300200.pwm/pwm/pwmchip1/unexport", O_WRONLY) = 3
write(3, "0\0", 2)                      = 2
write(3, "1\0", 2)                      = 2
close(3)                                = 0
openat(AT_FDCWD, "/sys/devices/platform/ocp/48300000.epwmss/48300200.pwm/pwm", O_RDONLY|O_NONBLOCK|O_LARGEFILE|O_CLOEXEC|O_DIRECTORY) = 3
fstat64(3, {st_mode=S_IFDIR|0775, st_size=0, ...}) = 0
getdents64(3, /* 3 entries */, 32768)   = 80
getdents64(3, /* 0 entries */, 32768)   = 0
close(3)                                = 0
lstat64("/sys/devices/platform/ocp/48300000.epwmss/48300200.pwm/pwm/pwmchip1/export", {st_mode=S_IFREG|0220, st_size=4096, ...}) = 0
openat(AT_FDCWD, "/sys/devices/platform/ocp/48300000.epwmss/48300200.pwm/pwm/pwmchip1/export", O_WRONLY) = 3
write(3, "0\0", 2)                      = 2
write(3, "1\0", 2)                      = 2
close(3)                                = 0
access("/sys/class/pwm/pwmchip0/pwm0/enable", F_OK) = -1 ENOENT (No such file or directory)
access("/sys/class/pwm/pwm-1:0/enable", F_OK) = 0
access("/sys/class/pwm/pwm-1:1/enable", F_OK) = 0
openat(AT_FDCWD, "/sys/class/pwm/pwm-1:0/duty_cycle", O_WRONLY) = -1 EACCES (Permission denied)
nanosleep({tv_sec=0, tv_nsec=600000000}, 0xbeacf390) = 0
openat(AT_FDCWD, "/sys/class/pwm/pwm-1:0/duty_cycle", O_WRONLY) = 3
openat(AT_FDCWD, "/sys/class/pwm/pwm-1:1/duty_cycle", O_WRONLY) = 4
openat(AT_FDCWD, "/sys/class/pwm/pwm-1:0/enable", O_WRONLY) = 5
openat(AT_FDCWD, "/sys/class/pwm/pwm-1:1/enable", O_WRONLY) = 6
openat(AT_FDCWD, "/sys/class/pwm/pwm-1:0/period", O_WRONLY) = 7
openat(AT_FDCWD, "/sys/class/pwm/pwm-1:1/period", O_WRONLY) = 8
openat(AT_FDCWD, "/sys/class/pwm/pwm-1:0/polarity", O_WRONLY) = 9
openat(AT_FDCWD, "/sys/class/pwm/pwm-1:1/polarity", O_WRONLY) = 10
write(7, "40000", 5)                    = 5
write(8, "40000", 5)                    = 5
write(9, "normal\0", 7)                 = 7
write(10, "normal\0", 7)                = 7
write(3, "0\0", 2)                      = 2
write(4, "0\0", 2)                      = 2
write(5, "1\0", 2)                      = 2
write(6, "1\0", 2)                      = 2
close(5)                                = 0
close(6)                                = 0
close(7)                                = 0
close(8)                                = 0
close(9)                                = 0
close(10)                               = 0
openat(AT_FDCWD, "/sys/devices/platform/ocp/48302000.epwmss/48302200.pwm/pwm", O_RDONLY|O_NONBLOCK|O_LARGEFILE|O_CLOEXEC|O_DIRECTORY) = 5
fstat64(5, {st_mode=S_IFDIR|0775, st_size=0, ...}) = 0
getdents64(5, /* 3 entries */, 32768)   = 80
getdents64(5, /* 0 entries */, 32768)   = 0
close(5)                                = 0
lstat64("/sys/devices/platform/ocp/48302000.epwmss/48302200.pwm/pwm/pwmchip4/unexport", {st_mode=S_IFREG|0220, st_size=4096, ...}) = 0
openat(AT_FDCWD, "/sys/devices/platform/ocp/48302000.epwmss/48302200.pwm/pwm/pwmchip4/unexport", O_WRONLY) = 5
write(5, "0\0", 2)                      = 2
write(5, "1\0", 2)                      = 2
close(5)                                = 0
openat(AT_FDCWD, "/sys/devices/platform/ocp/48302000.epwmss/48302200.pwm/pwm", O_RDONLY|O_NONBLOCK|O_LARGEFILE|O_CLOEXEC|O_DIRECTORY) = 5
fstat64(5, {st_mode=S_IFDIR|0775, st_size=0, ...}) = 0
getdents64(5, /* 3 entries */, 32768)   = 80
getdents64(5, /* 0 entries */, 32768)   = 0
close(5)                                = 0
lstat64("/sys/devices/platform/ocp/48302000.epwmss/48302200.pwm/pwm/pwmchip4/export", {st_mode=S_IFREG|0220, st_size=4096, ...}) = 0
openat(AT_FDCWD, "/sys/devices/platform/ocp/48302000.epwmss/48302200.pwm/pwm/pwmchip4/export", O_WRONLY) = 5
write(5, "0\0", 2)                      = 2
write(5, "1\0", 2)                      = 2
close(5)                                = 0
access("/sys/class/pwm/pwmchip2/pwm0/enable", F_OK) = -1 ENOENT (No such file or directory)
access("/sys/class/pwm/pwm-4:0/enable", F_OK) = 0
access("/sys/class/pwm/pwm-4:1/enable", F_OK) = 0
openat(AT_FDCWD, "/sys/class/pwm/pwm-4:0/duty_cycle", O_WRONLY) = -1 EACCES (Permission denied)
nanosleep({tv_sec=0, tv_nsec=600000000}, 0xbeacf390) = 0
openat(AT_FDCWD, "/sys/class/pwm/pwm-4:0/duty_cycle", O_WRONLY) = 5
openat(AT_FDCWD, "/sys/class/pwm/pwm-4:1/duty_cycle", O_WRONLY) = 6
openat(AT_FDCWD, "/sys/class/pwm/pwm-4:0/enable", O_WRONLY) = 7
openat(AT_FDCWD, "/sys/class/pwm/pwm-4:1/enable", O_WRONLY) = 8
openat(AT_FDCWD, "/sys/class/pwm/pwm-4:0/period", O_WRONLY) = 9
openat(AT_FDCWD, "/sys/class/pwm/pwm-4:1/period", O_WRONLY) = 10
openat(AT_FDCWD, "/sys/class/pwm/pwm-4:0/polarity", O_WRONLY) = 11
openat(AT_FDCWD, "/sys/class/pwm/pwm-4:1/polarity", O_WRONLY) = 12
write(9, "40000", 5)                    = 5
write(10, "40000", 5)                   = 5
write(11, "normal\0", 7)                = 7
write(12, "normal\0", 7)                = 7
write(5, "0\0", 2)                      = 2
write(6, "0\0", 2)                      = 2
write(7, "1\0", 2)                      = 2
write(8, "1\0", 2)                      = 2
close(7)                                = 0
close(8)                                = 0
close(9)                                = 0
close(10)                               = 0
close(11)                               = 0
close(12)                               = 0
openat(AT_FDCWD, "/sys/devices/platform/ocp/48304000.epwmss/48304200.pwm/pwm", O_RDONLY|O_NONBLOCK|O_LARGEFILE|O_CLOEXEC|O_DIRECTORY) = 7
fstat64(7, {st_mode=S_IFDIR|0775, st_size=0, ...}) = 0
getdents64(7, /* 3 entries */, 32768)   = 80
getdents64(7, /* 0 entries */, 32768)   = 0
close(7)                                = 0
lstat64("/sys/devices/platform/ocp/48304000.epwmss/48304200.pwm/pwm/pwmchip7/unexport", {st_mode=S_IFREG|0220, st_size=4096, ...}) = 0
openat(AT_FDCWD, "/sys/devices/platform/ocp/48304000.epwmss/48304200.pwm/pwm/pwmchip7/unexport", O_WRONLY) = 7
write(7, "0\0", 2)                      = 2
write(7, "1\0", 2)                      = 2
close(7)                                = 0
openat(AT_FDCWD, "/sys/devices/platform/ocp/48304000.epwmss/48304200.pwm/pwm", O_RDONLY|O_NONBLOCK|O_LARGEFILE|O_CLOEXEC|O_DIRECTORY) = 7
fstat64(7, {st_mode=S_IFDIR|0775, st_size=0, ...}) = 0
getdents64(7, /* 3 entries */, 32768)   = 80
getdents64(7, /* 0 entries */, 32768)   = 0
close(7)                                = 0
lstat64("/sys/devices/platform/ocp/48304000.epwmss/48304200.pwm/pwm/pwmchip7/export", {st_mode=S_IFREG|0220, st_size=4096, ...}) = 0
openat(AT_FDCWD, "/sys/devices/platform/ocp/48304000.epwmss/48304200.pwm/pwm/pwmchip7/export", O_WRONLY) = 7
write(7, "0\0", 2)                      = 2
write(7, "1\0", 2)                      = 2
close(7)                                = 0
access("/sys/class/pwm/pwmchip4/pwm0/enable", F_OK) = -1 ENOENT (No such file or directory)
access("/sys/class/pwm/pwm-7:0/enable", F_OK) = 0
access("/sys/class/pwm/pwm-7:1/enable", F_OK) = 0
openat(AT_FDCWD, "/sys/class/pwm/pwm-7:0/duty_cycle", O_WRONLY) = -1 EACCES (Permission denied)
nanosleep({tv_sec=0, tv_nsec=600000000}, 0xbeacf390) = 0
openat(AT_FDCWD, "/sys/class/pwm/pwm-7:0/duty_cycle", O_WRONLY) = 7
openat(AT_FDCWD, "/sys/class/pwm/pwm-7:1/duty_cycle", O_WRONLY) = 8
openat(AT_FDCWD, "/sys/class/pwm/pwm-7:0/enable", O_WRONLY) = 9
openat(AT_FDCWD, "/sys/class/pwm/pwm-7:1/enable", O_WRONLY) = 10
openat(AT_FDCWD, "/sys/class/pwm/pwm-7:0/period", O_WRONLY) = 11
openat(AT_FDCWD, "/sys/class/pwm/pwm-7:1/period", O_WRONLY) = 12
openat(AT_FDCWD, "/sys/class/pwm/pwm-7:0/polarity", O_WRONLY) = 13
openat(AT_FDCWD, "/sys/class/pwm/pwm-7:1/polarity", O_WRONLY) = 14
write(11, "40000", 5)                   = 5
write(12, "40000", 5)                   = 5
write(13, "normal\0", 7)                = 7
write(14, "normal\0", 7)                = 7
write(7, "0\0", 2)                      = 2
write(8, "0\0", 2)                      = 2
write(9, "1\0", 2)                      = 2
write(10, "1\0", 2)                     = 2
close(9)                                = 0
close(10)                               = 0
close(11)                               = 0
close(12)                               = 0
close(13)                               = 0
close(14)                               = 0
openat(AT_FDCWD, "/dev/gpiochip0", O_RDWR) = 9
ioctl(9, GPIO_GET_LINEHANDLE_IOCTL, 0xbeacf394) = 0
openat(AT_FDCWD, "/dev/gpiochip2", O_RDWR) = 11
ioctl(11, GPIO_GET_LINEHANDLE_IOCTL, 0xbeacf394) = 0
ioctl(9, GPIO_GET_LINEHANDLE_IOCTL, 0xbeacf394) = 0
openat(AT_FDCWD, "/dev/gpiochip1", O_RDWR) = 14
ioctl(14, GPIO_GET_LINEHANDLE_IOCTL, 0xbeacf394) = 0
ioctl(9, GPIO_GET_LINEHANDLE_IOCTL, 0xbeacf394) = 0
ioctl(11, GPIO_GET_LINEHANDLE_IOCTL, 0xbeacf394) = 0
ioctl(11, GPIO_GET_LINEHANDLE_IOCTL, 0xbeacf394) = 0
ioctl(11, GPIO_GET_LINEHANDLE_IOCTL, 0xbeacf394) = 0
ioctl(11, GPIO_GET_LINEHANDLE_IOCTL, 0xbeacf394) = 0
ioctl(12, GPIOHANDLE_SET_LINE_VALUES_IOCTL, 0xbeacf4b0) = 0
ioctl(13, GPIOHANDLE_SET_LINE_VALUES_IOCTL, 0xbeacf4b0) = 0
write(5, "0", 1)                        = 1
ioctl(15, GPIOHANDLE_SET_LINE_VALUES_IOCTL, 0xbeacf4b0) = 0
ioctl(16, GPIOHANDLE_SET_LINE_VALUES_IOCTL, 0xbeacf4b0) = 0
write(6, "0", 1)                        = 1
ioctl(17, GPIOHANDLE_SET_LINE_VALUES_IOCTL, 0xbeacf4b0) = 0
ioctl(18, GPIOHANDLE_SET_LINE_VALUES_IOCTL, 0xbeacf4b0) = 0
write(7, "0", 1)                        = 1
ioctl(19, GPIOHANDLE_SET_LINE_VALUES_IOCTL, 0xbeacf4b0) = 0
ioctl(20, GPIOHANDLE_SET_LINE_VALUES_IOCTL, 0xbeacf4b0) = 0
write(8, "0", 1)                        = 1
ioctl(10, GPIOHANDLE_SET_LINE_VALUES_IOCTL, 0xbeacf4d0) = 0
fstat64(1, {st_mode=S_IFCHR|0620, st_rdev=makedev(0x88, 0), ...}) = 0
write(1, "sending duty cycle 1.0000\n", 26sending duty cycle 1.0000
) = 26
ioctl(12, GPIOHANDLE_SET_LINE_VALUES_IOCTL, 0xbeacf4c8) = 0
ioctl(13, GPIOHANDLE_SET_LINE_VALUES_IOCTL, 0xbeacf4c8) = 0
write(5, "40000", 5)                    = 5
ioctl(15, GPIOHANDLE_SET_LINE_VALUES_IOCTL, 0xbeacf4c8) = 0
ioctl(16, GPIOHANDLE_SET_LINE_VALUES_IOCTL, 0xbeacf4c8) = 0
write(6, "40000", 5)                    = 5
ioctl(17, GPIOHANDLE_SET_LINE_VALUES_IOCTL, 0xbeacf4c8) = 0
ioctl(18, GPIOHANDLE_SET_LINE_VALUES_IOCTL, 0xbeacf4c8) = 0
write(7, "40000", 5
Message from syslogd@SCUTTLE at Sep 18 05:15:31 ...
 kernel:[  565.524616] Internal error: : 1028 [#1] PREEMPT SMP ARM

Message from syslogd@SCUTTLE at Sep 18 05:15:31 ...
 kernel:[  565.637435] Process rc_test_motors (pid: 2595, stack limit = 0x8fa35472)
)                    = ?
+++ killed by SIGSEGV +++

Message from syslogd@SCUTTLE at Sep 18 05:15:31 ...
 kernel:[  565.648543] 7e00:                                     00009c40 d9e97e6c db7feb00 c07a1918
fish: “strace rc_test_motors -d 1” terminated by signal SIGSEGV (Address boundary error)

Message from syslogd@SCUTTLE at Sep 18 05:15:31 ...
 kernel:[  565.681409] 7e80: d9e97ed4 c079f3e0 d9e9a600 00000003 00000000 d9e97f60 d9e97ebc d9e97ea8

Message from syslogd@SCUTTLE at Sep 18 05:15:31 ...
 kernel:[  565.689627] 7ea0: c08d65e8 c079f3ec c08d65c0 d9e9a600 d9e97ed4 d9e97ec0 c03abb1c c08d65cc

Message from syslogd@SCUTTLE at Sep 18 05:15:31 ...
 kernel:[  565.697843] 7ec0: 00000005 d9e9a600 d9e97f0c d9e97ed8 c03ab10c c03abae0 00000003 00000000

Message from syslogd@SCUTTLE at Sep 18 05:15:31 ...
 kernel:[  565.706059] 7ee0: dab68d88 c03ab014 d9e15180 beacf480 d9e97f60 00000000 00000000 00000004

Message from syslogd@SCUTTLE at Sep 18 05:15:31 ...
 kernel:[  565.714275] 7f00: d9e97f24 d9e97f10 c0319564 c03ab020 00000005 d9e15180 d9e97f54 d9e97f28

Message from syslogd@SCUTTLE at Sep 18 05:15:31 ...
 kernel:[  565.722492] 7f20: c031976c c0319548 00000000 c033bd58 d9e15180 c1506e08 d9e15180 beacf480

Message from syslogd@SCUTTLE at Sep 18 05:15:31 ...
 kernel:[  565.730707] 7f40: 00000003 00000000 d9e97f94 d9e97f58 c0319a4c c03196c4 00000003 00000000

Message from syslogd@SCUTTLE at Sep 18 05:15:31 ...
 kernel:[  565.738924] 7f60: 00000003 00000000 ffffe000 172d0e31 b6f1e614 b6f09000 00000041 00000004

Message from syslogd@SCUTTLE at Sep 18 05:15:31 ...
 kernel:[  565.747141] 7f80: c0101204 d9e96000 d9e97fa4 d9e97f98 c0319ad8 c03199e4 00000000 d9e97fa8

Message from syslogd@SCUTTLE at Sep 18 05:15:31 ...
 kernel:[  565.755358] 7fa0: c01011e4 c0319acc b6f1e614 b6f09000 00000007 beacf480 00000005 00000000

Message from syslogd@SCUTTLE at Sep 18 05:15:31 ...
 kernel:[  565.763574] 7fc0: b6f1e614 b6f09000 00000041 00000004 00000000 00000000 004b4000 00000000

Message from syslogd@SCUTTLE at Sep 18 05:15:31 ...
 kernel:[  565.771791] 7fe0: 00000004 beacf468 b6eaa34b b6eac526 600d0030 00000007 00000000 00000000

Message from syslogd@SCUTTLE at Sep 18 05:15:31 ...
 kernel:[  565.884981] Code: e5940000 eb0524e7 e594a02c e6ff7077 (e1da30b0)

Looks similar to #211