kerberos-io / machinery

(DEPRECATED) An open source image processing framework, which uses your USB-, IP- or RPi-camera to recognize events (e.g. motion).
https://www.kerberos.io
490 stars 104 forks source link

Crash after "Starting cloud service: S3" on RPi0 #191

Closed nopmop closed 5 years ago

nopmop commented 5 years ago

Describe the bug kerberosio crashes with the following info:

27/02/2019 17:22:19.924 INFO  [trivial] Capture: Succesfully opened Raspberry Pi camera module.
27/02/2019 17:22:24.926 INFO  [trivial] Capture: Start streaming thread
27/02/2019 17:22:24.927 INFO  [trivial] Stream: Configured stream on port 8889 with quality: 75
27/02/2019 17:22:24.929 INFO  [trivial] Starting cloud service: S3
Segmentation fault

To Reproduce Install on RPi Zero W, Raspbian. Run.

Expected behavior Shouldn't happen.

Screenshots Not applicable.

Operating System and Device (please complete the following information):

Additional context a strace shows the following:

[...]
[pid  1202] write(1, "27/02/2019 17:26:32.249 INFO  [t"..., 6727/02/2019 17:26:32.249 INFO  [trivial] Starting cloud service: S3
) = 67
[pid  1202] rt_sigaction(SIGPIPE, {sa_handler=SIG_IGN, sa_mask=[PIPE], sa_flags=SA_RESTORER|SA_RESTART, sa_restorer=0xb679f6b0}, {sa_handler=SIG_IGN, sa_mask=[HUP ILL SEGV USR2 PIPE STKFLT CONT TSTP TTOU VTALRM PROF WINCH IO PWR RTMIN RT_4 RT_7 RT_8 RT_10 RT_11 RT_13 RT_14 RT_16 RT_20 RT_22 RT_25 RT_26 RT_27 RT_28 RT_29 RT_30], sa_flags=SA_RESTORER, sa_restorer=0xb679f6b0}, 8) = 0
[pid  1202] clock_gettime(CLOCK_MONOTONIC, {tv_sec=1120, tv_nsec=781820377}) = 0
[pid  1202] clock_gettime(CLOCK_MONOTONIC, {tv_sec=1120, tv_nsec=783403310}) = 0
[pid  1202] pipe2([10, 11], O_CLOEXEC)  = 0
[pid  1202] clone(child_stack=NULL, flags=CLONE_CHILD_CLEARTID|CLONE_CHILD_SETTID|SIGCHLD, child_tidptr=0xb5e9c068) = 1216
[pid  1202] close(11)                   = 0
[pid  1202] fcntl64(10, F_SETFD, 0)     = 0
[pid  1202] fstat64(10, {st_mode=S_IFIFO|0600, st_size=0, ...}) = 0
[pid  1202] read(10, strace: Process 1216 attached
strace: Process 1215 attached
 <unfinished ...>
[pid  1216] set_robust_list(0xb5e9c070, 12 <unfinished ...>
[pid  1215] set_robust_list(0xb08ff4b0, 12 <unfinished ...>
[pid  1216] <... set_robust_list resumed> ) = 0
[pid  1215] <... set_robust_list resumed> ) = 0
[pid  1216] dup2(11, 1 <unfinished ...>
[pid  1215] mmap2(NULL, 1847296, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0 <unfinished ...>
[pid  1216] <... dup2 resumed> )        = 1
[pid  1215] <... mmap2 resumed> )       = 0xaff3d000
[pid  1216] execve("/bin/sh", ["sh", "-c", "[ -f /etc/board ] && echo true |"...], [/* 17 vars */] <unfinished ...>
[pid  1215] --- SIGSEGV {si_signo=SIGSEGV, si_code=SEGV_ACCERR, si_addr=0xb2e9c000} ---
[pid  1202] <... read resumed> <unfinished ...>) = ?
[pid  1214] <... nanosleep resumed> <unfinished ...>) = ?
[pid  1213] <... nanosleep resumed> <unfinished ...>) = ?
[pid  1212] <... futex resumed>)        = ?
[pid  1211] <... futex resumed>)        = ?
[pid  1210] <... futex resumed>)        = ?
[pid  1209] <... futex resumed>)        = ?
[pid  1208] <... futex resumed>)        = ?
[pid  1207] <... futex resumed>)        = ?
[pid  1206] <... futex resumed>)        = ?
[pid  1205] <... ioctl resumed> <unfinished ...>) = ?
[pid  1214] +++ killed by SIGSEGV +++
[pid  1216] <... execve resumed> )      = 0
[pid  1213] +++ killed by SIGSEGV +++
[pid  1216] brk(NULL <unfinished ...>
[pid  1212] +++ killed by SIGSEGV +++
[pid  1216] <... brk resumed> )         = 0x19a6000
[pid  1211] +++ killed by SIGSEGV +++
[pid  1216] uname( <unfinished ...>
[pid  1210] +++ killed by SIGSEGV +++
[pid  1209] +++ killed by SIGSEGV +++
[pid  1208] +++ killed by SIGSEGV +++
[pid  1207] +++ killed by SIGSEGV +++
[pid  1206] +++ killed by SIGSEGV +++
[pid  1205] +++ killed by SIGSEGV +++
[pid  1216] <... uname resumed> {sysname="Linux", nodename="raspberrypi", ...}) = 0
[pid  1216] access("/etc/ld.so.nohwcap", F_OK) = -1 ENOENT (No such file or directory)
[pid  1216] mmap2(NULL, 12288, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb6f61000
[pid  1216] access("/etc/ld.so.preload", R_OK) = 0
[pid  1216] open("/etc/ld.so.preload", O_RDONLY|O_CLOEXEC) = 10
[pid  1216] fstat64(10, {st_mode=S_IFREG|0644, st_size=42, ...}) = 0
[pid  1216] mmap2(NULL, 42, PROT_READ|PROT_WRITE, MAP_PRIVATE, 10, 0) = 0xb6f60000
[pid  1216] close(10)                   = 0
[pid  1216] open("/usr/lib/arm-linux-gnueabihf/libarmmem.so", O_RDONLY|O_CLOEXEC) = 10
[pid  1216] read(10, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0(\0\1\0\0\0\210\5\0\0004\0\0\0"..., 512) = 512
[pid  1216] lseek(10, 20868, SEEK_SET)  = 20868
[pid  1216] read(10, "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 1000) = 1000
[pid  1216] lseek(10, 20540, SEEK_SET)  = 20540
[pid  1216] read(10, "A,\0\0\0aeabi\0\1\"\0\0\0\0056\0\6\6\10\1\t\1\n\3\f\1\22\4\24"..., 45) = 45
[pid  1216] fstat64(10, {st_mode=S_IFREG|0644, st_size=21868, ...}) = 0
[pid  1216] mmap2(NULL, 86080, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 10, 0) = 0xb6f1e000
[pid  1216] mprotect(0xb6f23000, 61440, PROT_NONE) = 0
[pid  1216] mmap2(0xb6f32000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 10, 0x4000) = 0xb6f32000
[pid  1216] close(10)                   = 0
[pid  1216] munmap(0xb6f60000, 42)      = 0
[pid  1216] open("/etc/ld.so.cache", O_RDONLY|O_CLOEXEC) = 10
[pid  1216] fstat64(10, {st_mode=S_IFREG|0644, st_size=42227, ...}) = 0
[pid  1216] mmap2(NULL, 42227, PROT_READ, MAP_PRIVATE, 10, 0) = 0xb6f56000
[pid  1216] close(10)                   = 0
[pid  1216] access("/etc/ld.so.nohwcap", F_OK) = -1 ENOENT (No such file or directory)
[pid  1216] open("/lib/arm-linux-gnueabihf/libc.so.6", O_RDONLY|O_CLOEXEC) = 10
[pid  1216] read(10, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0(\0\1\0\0\0@h\1\0004\0\0\0"..., 512) = 512
[pid  1216] lseek(10, 1231820, SEEK_SET) = 1231820
[pid  1216] read(10, "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 2880) = 2880
[pid  1216] lseek(10, 1228284, SEEK_SET) = 1228284
[pid  1216] read(10, "A.\0\0\0aeabi\0\1$\0\0\0\0056\0\6\6\10\1\t\1\n\2\22\4\23\1\24"..., 47) = 47
[pid  1216] fstat64(10, {st_mode=S_IFREG|0755, st_size=1234700, ...}) = 0
[pid  1216] mmap2(NULL, 1303872, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 10, 0) = 0xb6ddf000
[pid  1216] mprotect(0xb6f08000, 65536, PROT_NONE) = 0
[pid  1216] mmap2(0xb6f18000, 12288, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 10, 0x129000) = 0xb6f18000
[pid  1216] mmap2(0xb6f1b000, 9536, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0xb6f1b000
[pid  1216] close(10)                   = 0
[pid  1216] set_tls(0xb6f62ff0, 0xb6f636c8, 0xb6f65050, 0xb6f62ff0, 0xb6f65050) = 0
[pid  1216] mprotect(0xb6f18000, 8192, PROT_READ) = 0
[pid  1216] mprotect(0xb6f1e000, 20480, PROT_READ|PROT_WRITE) = 0
[pid  1216] mprotect(0xb6f1e000, 20480, PROT_READ|PROT_EXEC) = 0
[pid  1216] cacheflush(0xb6f1e000, 0xb6f23000, 0, 0x15, 0) = 0
[pid  1216] mprotect(0xb6f32000, 4096, PROT_READ) = 0
[pid  1216] mprotect(0x35000, 4096, PROT_READ) = 0
[pid  1216] mprotect(0xb6f64000, 4096, PROT_READ) = 0
[pid  1216] munmap(0xb6f56000, 42227)   = 0
[pid  1216] getpid()                    = 1216
[pid  1216] rt_sigaction(SIGCHLD, {sa_handler=0x1f22c, sa_mask=~[RTMIN RT_1], sa_flags=SA_RESTORER, sa_restorer=0xb6e0b6b0}, NULL, 8) = 0
[pid  1216] geteuid32()                 = 0
[pid  1216] brk(NULL)                   = 0x19a6000
[pid  1216] brk(0x19c7000)              = 0x19c7000
[pid  1216] getppid()                   = 1
[pid  1216] stat64("/home/pi", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0
[pid  1216] stat64(".", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0
[pid  1216] rt_sigaction(SIGINT, NULL, {sa_handler=SIG_DFL, sa_mask=[], sa_flags=0}, 8) = 0
[pid  1216] rt_sigaction(SIGINT, {sa_handler=0x1f22c, sa_mask=~[RTMIN RT_1], sa_flags=SA_RESTORER, sa_restorer=0xb6e0b6b0}, NULL, 8) = 0
[pid  1216] rt_sigaction(SIGQUIT, NULL, {sa_handler=SIG_DFL, sa_mask=[], sa_flags=0}, 8) = 0
[pid  1216] rt_sigaction(SIGQUIT, {sa_handler=SIG_DFL, sa_mask=~[RTMIN RT_1], sa_flags=SA_RESTORER, sa_restorer=0xb6e0b6b0}, NULL, 8) = 0
[pid  1216] rt_sigaction(SIGTERM, NULL, {sa_handler=SIG_DFL, sa_mask=[], sa_flags=0}, 8) = 0
[pid  1216] rt_sigaction(SIGTERM, {sa_handler=SIG_DFL, sa_mask=~[RTMIN RT_1], sa_flags=SA_RESTORER, sa_restorer=0xb6e0b6b0}, NULL, 8) = 0
[pid  1216] stat64("/etc/board", 0xbe9ba168) = -1 ENOENT (No such file or directory)
[pid  1216] fcntl64(2, F_DUPFD, 10)     = 10
[pid  1216] close(2)                    = 0
[pid  1216] fcntl64(10, F_SETFD, FD_CLOEXEC) = 0
[pid  1216] dup2(1, 2)                  = 2
[pid  1216] write(1, "false\n", 6)      = -1 EPIPE (Broken pipe)
[pid  1216] --- SIGPIPE {si_signo=SIGPIPE, si_code=SI_USER, si_pid=1216, si_uid=0} ---
[pid  1216] write(2, "sh: ", 4)         = -1 EPIPE (Broken pipe)
[pid  1216] --- SIGPIPE {si_signo=SIGPIPE, si_code=SI_USER, si_pid=1216, si_uid=0} ---
[pid  1216] write(2, "echo: I/O error", 15) = -1 EPIPE (Broken pipe)
[pid  1216] --- SIGPIPE {si_signo=SIGPIPE, si_code=SI_USER, si_pid=1216, si_uid=0} ---
[pid  1216] write(2, "\n", 1)           = -1 EPIPE (Broken pipe)
[pid  1216] --- SIGPIPE {si_signo=SIGPIPE, si_code=SI_USER, si_pid=1216, si_uid=0} ---
[pid  1216] dup2(10, 2)                 = 2
[pid  1216] close(10)                   = 0
[pid  1216] exit_group(1)               = ?
[pid  1216] +++ exited with 1 +++
[pid  1215] +++ killed by SIGSEGV +++
+++ killed by SIGSEGV +++
Segmentation fault
nopmop commented 5 years ago

My problem was due to overclocking the RPi0. For reference, I overclocked it with in /boot/config.txt:

arm_freq=1100
over_voltage=8
sdram_freq=500
sdram_over_voltage=2
force_turbo=1
boot_delay=1

Overclocking causes problems to the RPi camera v1. No problems reported instead with the The RPi camera v2.

Closing.