# Segmentation fault while executing mender

**URL:** <https://hub.mender.io/t/segmentation-fault-while-executing-mender/396>\
**Category:** General Discussions\
**Tags:** segmentation-fault\
**Created:** [March 20, 2019, 1:51am UTC](https://hub.mender.io/t/segmentation-fault-while-executing-mender/396 "2019-03-20T01:51:36Z")\
**Posts on this page:** 4\
**Page:** 1

<div class="post-metadata">

**Author:** ![shivashankar](https://avatars.discourse-cdn.com/v4/letter/s/34f0e0/32.png) [@shivashankar](https://hub.mender.io/u/shivashankar)\
**Post date:** [March 20, 2019, 1:51am UTC](https://hub.mender.io/t/segmentation-fault-while-executing-mender/396/1 "2019-03-20T01:51:37Z")

</div>

I am trying to integrate Mender to i.MX6 Sabresd board and am able to generate mender binaries in the RootFS. I am able to boot the board but while executing the mender binary, I am getting a segmentation fault error.

Details,

**Yocto** : Morty  
**Kernel** : 4.1.15-2.0.0+g30278ab  
**Mender version** : 1.5.0

Below are the logs,

**$ mender**  
Segmentation fault

**$ ldd /usr/bin/mender**

linux-vdso.so.1 (0x7ea14000)  
libpthread.so.0 =\> /lib/libpthread.so.0 (0x76edf000)  
libc.so.6 =\> /lib/libc.so.6 (0x76df1000)  
/lib/ld-linux-armhf.so.3 (0x76f04000)

**$ gdb mender**  
GNU gdb (GDB) 7.11.1  
Copyright © 2016 Free Software Foundation, Inc.  
License GPLv3+: GNU GPL version 3 or later [http://gnu.org/licenses/gpl.html](http://gnu.org/licenses/gpl.html)  
This is free software: you are free to change and redistribute it.  
There is NO WARRANTY, to the extent permitted by law. Type “show copying”  
and “show warranty” for details.  
This GDB was configured as “arm-fslc-linux-gnueabi”.  
Type “show configuration” for configuration details.  
For bug reporting instructions, please see:  
[http://www.gnu.org/software/gdb/bugs/](http://www.gnu.org/software/gdb/bugs/).  
Find the GDB manual and other documentation resources online at:  
[http://www.gnu.org/software/gdb/documentation/](http://www.gnu.org/software/gdb/documentation/).  
For help, type “help”.  
Type “apropos word” to search for commands related to “word”…  
Reading symbols from mender…(no debugging symbols found)…done.  
(gdb) run  
Starting program: /usr/bin/mender  
[Thread debugging using libthread\_db enabled]  
Using host libthread\_db library “/lib/libthread\_db.so.1”.  
[New Thread 0x76e63460 (LWP 1239)]  
[New Thread 0x76663460 (LWP 1240)]

Thread 2 “mender” received signal SIGSEGV, Segmentation fault.  
[Switching to Thread 0x76e63460 (LWP 1239)]  
0x0026ba94 in crosscall\_arm1 ()  
(gdb) backtrace  
#0 0x0026ba94 in crosscall\_arm1 ()  
#1 0x0026b928 in ?? ()  
Backtrace stopped: previous frame identical to this frame (corrupt stack?)  
(gdb)

---

<div class="post-metadata">

**Author:** ![shivashankar](https://avatars.discourse-cdn.com/v4/letter/s/34f0e0/32.png) [@shivashankar](https://hub.mender.io/u/shivashankar)\
**Post date:** [March 20, 2019, 1:57am UTC](https://hub.mender.io/t/segmentation-fault-while-executing-mender/396/2 "2019-03-20T01:57:04Z")

</div>

Giving the strace output

**$ strace mender**

execve("/usr/bin/mender", [“mender”], [/\* 14 vars _/]) = 0  
brk(NULL) = 0xc08000  
uname({sysname=“Linux”, nodename=“olympus-wa”, …}) = 0  
mmap2(NULL, 8192, PROT\_READ|PROT\_WRITE, MAP\_PRIVATE|MAP\_ANONYMOUS, -1, 0) = 0x76faf000  
access("/etc/ld.so.preload", R\_OK) = -1 ENOENT (No such file or directory)  
open("/etc/ld.so.cache", O\_RDONLY|O\_CLOEXEC) = 3  
fstat64(3, {st\_mode=S\_IFREG|0644, st\_size=40219, …}) = 0  
mmap2(NULL, 40219, PROT\_READ, MAP\_PRIVATE, 3, 0) = 0x76fa5000  
close(3) = 0  
open("/lib/libpthread.so.0", O\_RDONLY|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\275F\0\0004\0\0\0”…, 512) = 512  
fstat64(3, {st\_mode=S\_IFREG|0755, st\_size=76312, …}) = 0  
mmap2(NULL, 148048, PROT\_READ|PROT\_EXEC, MAP\_PRIVATE|MAP\_DENYWRITE, 3, 0) = 0x76f65000  
mprotect(0x76f77000, 61440, PROT\_NONE) = 0  
mmap2(0x76f86000, 8192, PROT\_READ|PROT\_WRITE, MAP\_PRIVATE|MAP\_FIXED|MAP\_DENYWRITE, 3, 0x11000) = 0x76f86000  
mmap2(0x76f88000, 4688, PROT\_READ|PROT\_WRITE, MAP\_PRIVATE|MAP\_FIXED|MAP\_ANONYMOUS, -1, 0) = 0x76f88000  
close(3) = 0  
open("/lib/tls/v7l/neon/vfp/libc.so.6", O\_RDONLY|O\_CLOEXEC) = -1 ENOENT (No such file or directory)  
stat64("/lib/tls/v7l/neon/vfp", 0x7ec9e5c0) = -1 ENOENT (No such file or directory)  
open("/lib/tls/v7l/neon/libc.so.6", O\_RDONLY|O\_CLOEXEC) = -1 ENOENT (No such file or directory)  
stat64("/lib/tls/v7l/neon", 0x7ec9e5c0) = -1 ENOENT (No such file or directory)  
open("/lib/tls/v7l/vfp/libc.so.6", O\_RDONLY|O\_CLOEXEC) = -1 ENOENT (No such file or directory)  
stat64("/lib/tls/v7l/vfp", 0x7ec9e5c0) = -1 ENOENT (No such file or directory)  
open("/lib/tls/v7l/libc.so.6", O\_RDONLY|O\_CLOEXEC) = -1 ENOENT (No such file or directory)  
stat64("/lib/tls/v7l", 0x7ec9e5c0) = -1 ENOENT (No such file or directory)  
open("/lib/tls/neon/vfp/libc.so.6", O\_RDONLY|O\_CLOEXEC) = -1 ENOENT (No such file or directory)  
stat64("/lib/tls/neon/vfp", 0x7ec9e5c0) = -1 ENOENT (No such file or directory)  
open("/lib/tls/neon/libc.so.6", O\_RDONLY|O\_CLOEXEC) = -1 ENOENT (No such file or directory)  
stat64("/lib/tls/neon", 0x7ec9e5c0) = -1 ENOENT (No such file or directory)  
open("/lib/tls/vfp/libc.so.6", O\_RDONLY|O\_CLOEXEC) = -1 ENOENT (No such file or directory)  
stat64("/lib/tls/vfp", 0x7ec9e5c0) = -1 ENOENT (No such file or directory)  
open("/lib/tls/libc.so.6", O\_RDONLY|O\_CLOEXEC) = -1 ENOENT (No such file or directory)  
stat64("/lib/tls", 0x7ec9e5c0) = -1 ENOENT (No such file or directory)  
open("/lib/v7l/neon/vfp/libc.so.6", O\_RDONLY|O\_CLOEXEC) = -1 ENOENT (No such file or directory)  
stat64("/lib/v7l/neon/vfp", 0x7ec9e5c0) = -1 ENOENT (No such file or directory)  
open("/lib/v7l/neon/libc.so.6", O\_RDONLY|O\_CLOEXEC) = -1 ENOENT (No such file or directory)  
stat64("/lib/v7l/neon", 0x7ec9e5c0) = -1 ENOENT (No such file or directory)  
open("/lib/v7l/vfp/libc.so.6", O\_RDONLY|O\_CLOEXEC) = -1 ENOENT (No such file or directory)  
stat64("/lib/v7l/vfp", 0x7ec9e5c0) = -1 ENOENT (No such file or directory)  
open("/lib/v7l/libc.so.6", O\_RDONLY|O\_CLOEXEC) = -1 ENOENT (No such file or directory)  
stat64("/lib/v7l", 0x7ec9e5c0) = -1 ENOENT (No such file or directory)  
open("/lib/neon/vfp/libc.so.6", O\_RDONLY|O\_CLOEXEC) = -1 ENOENT (No such file or directory)  
stat64("/lib/neon/vfp", 0x7ec9e5c0) = -1 ENOENT (No such file or directory)  
open("/lib/neon/libc.so.6", O\_RDONLY|O\_CLOEXEC) = -1 ENOENT (No such file or directory)  
stat64("/lib/neon", 0x7ec9e5c0) = -1 ENOENT (No such file or directory)  
open("/lib/vfp/libc.so.6", O\_RDONLY|O\_CLOEXEC) = -1 ENOENT (No such file or directory)  
stat64("/lib/vfp", 0x7ec9e5c0) = -1 ENOENT (No such file or directory)  
open("/lib/libc.so.6", O\_RDONLY|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\231e\1\0004\0\0\0”…, 512) = 512  
fstat64(3, {st\_mode=S\_IFREG|0755, st\_size=902856, …}) = 0  
mmap2(NULL, 972112, PROT\_READ|PROT\_EXEC, MAP\_PRIVATE|MAP\_DENYWRITE, 3, 0) = 0x76e77000  
mprotect(0x76f4f000, 65536, PROT\_NONE) = 0  
mmap2(0x76f5f000, 12288, PROT\_READ|PROT\_WRITE, MAP\_PRIVATE|MAP\_FIXED|MAP\_DENYWRITE, 3, 0xd8000) = 0x76f5f000  
mmap2(0x76f62000, 9552, PROT\_READ|PROT\_WRITE, MAP\_PRIVATE|MAP\_FIXED|MAP\_ANONYMOUS, -1, 0) = 0x76f62000  
close(3) = 0  
set\_tls(0x76fb0590, 0x76fb0c78, 0x76fb2050, 0x76fb0590, 0x76fb2050) = 0  
mprotect(0x76f5f000, 8192, PROT\_READ) = 0  
mprotect(0x76f86000, 4096, PROT\_READ) = 0  
mprotect(0x76fb1000, 4096, PROT\_READ) = 0  
munmap(0x76fa5000, 40219) = 0  
set\_tid\_address(0x76fb0138) = 2188  
set\_robust\_list(0x76fb0140, 12) = 0  
rt\_sigaction(SIGRTMIN, {0x76f69205, [], SA\_RESTORER|SA\_SIGINFO, 0x76e9c021}, NULL, 8) = 0  
rt\_sigaction(SIGRT\_1, {0x76f692a5, [], SA\_RESTORER|SA\_RESTART|SA\_SIGINFO, 0x76e9c021}, 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  
getpid() = 2188  
sched\_getaffinity(0, 8192, [0 1 2 3]) = 4  
mmap2(0x500000, 807411712, PROT\_NONE, MAP\_PRIVATE|MAP\_ANONYMOUS, -1, 0) = 0x500000  
mmap2(NULL, 262144, PROT\_READ|PROT\_WRITE, MAP\_PRIVATE|MAP\_ANONYMOUS, -1, 0) = 0x76e37000  
clock\_gettime(CLOCK\_MONOTONIC, {660, 687773745}) = 0  
mmap2(0x10700000, 1048576, PROT\_READ|PROT\_WRITE, MAP\_PRIVATE|MAP\_FIXED|MAP\_ANONYMOUS, -1, 0) = 0x10700000  
mmap2(0xf680000, 17301504, PROT\_READ|PROT\_WRITE, MAP\_PRIVATE|MAP\_FIXED|MAP\_ANONYMOUS, -1, 0) = 0xf680000  
mmap2(0x500000, 135168, PROT\_READ|PROT\_WRITE, MAP\_PRIVATE|MAP\_FIXED|MAP\_ANONYMOUS, -1, 0) = 0x500000  
mmap2(NULL, 65536, PROT\_READ|PROT\_WRITE, MAP\_PRIVATE|MAP\_ANONYMOUS, -1, 0) = 0x76e27000  
clock\_gettime(CLOCK\_MONOTONIC, {660, 689533745}) = 0  
mmap2(NULL, 65536, PROT\_READ|PROT\_WRITE, MAP\_PRIVATE|MAP\_ANONYMOUS, -1, 0) = 0x76e17000  
rt\_sigprocmask(SIG\_SETMASK, NULL, [], 8) = 0  
clock\_gettime(CLOCK\_MONOTONIC, {660, 694677411}) = 0  
clock\_gettime(CLOCK\_MONOTONIC, {660, 694973078}) = 0  
sigaltstack(NULL, {ss\_sp=NULL, ss\_flags=SS\_DISABLE, ss\_size=0}) = 0  
sigaltstack({ss\_sp=0x10702000, ss\_flags=0, ss\_size=32720}, NULL) = 0  
rt\_sigprocmask(SIG\_SETMASK, [], NULL, 8) = 0  
gettid() = 2188  
clock\_gettime(CLOCK\_MONOTONIC, {660, 697088078}) = 0  
rt\_sigaction(SIGHUP, NULL, {SIG\_DFL, [], 0}, 8) = 0  
rt\_sigaction(SIGHUP, {0x6bac4, ~[], SA\_STACK|SA\_RESTART|SA\_SIGINFO}, NULL, 8) = 0  
rt\_sigaction(SIGINT, NULL, {SIG\_DFL, [], 0}, 8) = 0  
rt\_sigaction(SIGINT, {0x6bac4, ~[], SA\_STACK|SA\_RESTART|SA\_SIGINFO}, NULL, 8) = 0  
rt\_sigaction(SIGQUIT, NULL, {SIG\_DFL, [], 0}, 8) = 0  
rt\_sigaction(SIGQUIT, {0x6bac4, ~[], SA\_STACK|SA\_RESTART|SA\_SIGINFO}, NULL, 8) = 0  
rt\_sigaction(SIGILL, NULL, {SIG\_DFL, [], 0}, 8) = 0  
rt\_sigaction(SIGILL, {0x6bac4, ~[], SA\_STACK|SA\_RESTART|SA\_SIGINFO}, NULL, 8) = 0  
rt\_sigaction(SIGTRAP, NULL, {SIG\_DFL, [], 0}, 8) = 0  
rt\_sigaction(SIGTRAP, {0x6bac4, ~[], SA\_STACK|SA\_RESTART|SA\_SIGINFO}, NULL, 8) = 0  
rt\_sigaction(SIGABRT, NULL, {SIG\_DFL, [], 0}, 8) = 0  
rt\_sigaction(SIGABRT, {0x6bac4, ~[], SA\_STACK|SA\_RESTART|SA\_SIGINFO}, NULL, 8) = 0  
rt\_sigaction(SIGBUS, NULL, {SIG\_DFL, [], 0}, 8) = 0  
rt\_sigaction(SIGBUS, {0x6bac4, ~[], SA\_STACK|SA\_RESTART|SA\_SIGINFO}, NULL, 8) = 0  
rt\_sigaction(SIGFPE, NULL, {SIG\_DFL, [], 0}, 8) = 0  
rt\_sigaction(SIGFPE, {0x6bac4, ~[], SA\_STACK|SA\_RESTART|SA\_SIGINFO}, NULL, 8) = 0  
rt\_sigaction(SIGUSR1, NULL, {SIG\_DFL, [], 0}, 8) = 0  
rt\_sigaction(SIGUSR1, {0x6bac4, ~[], SA\_STACK|SA\_RESTART|SA\_SIGINFO}, NULL, 8) = 0  
rt\_sigaction(SIGSEGV, NULL, {SIG\_DFL, [], 0}, 8) = 0  
rt\_sigaction(SIGSEGV, {0x6bac4, ~[], SA\_STACK|SA\_RESTART|SA\_SIGINFO}, NULL, 8) = 0  
rt\_sigaction(SIGUSR2, NULL, {SIG\_DFL, [], 0}, 8) = 0  
rt\_sigaction(SIGUSR2, {0x6bac4, ~[], SA\_STACK|SA\_RESTART|SA\_SIGINFO}, NULL, 8) = 0  
rt\_sigaction(SIGPIPE, NULL, {SIG\_DFL, [], 0}, 8) = 0  
rt\_sigaction(SIGPIPE, {0x6bac4, ~[], SA\_STACK|SA\_RESTART|SA\_SIGINFO}, NULL, 8) = 0  
rt\_sigaction(SIGALRM, NULL, {SIG\_DFL, [], 0}, 8) = 0  
rt\_sigaction(SIGALRM, {0x6bac4, ~[], SA\_STACK|SA\_RESTART|SA\_SIGINFO}, NULL, 8) = 0  
rt\_sigaction(SIGTERM, NULL, {SIG\_DFL, [], 0}, 8) = 0  
rt\_sigaction(SIGTERM, {0x6bac4, ~[], SA\_STACK|SA\_RESTART|SA\_SIGINFO}, NULL, 8) = 0  
rt\_sigaction(SIGSTKFLT, NULL, {SIG\_DFL, [], 0}, 8) = 0  
rt\_sigaction(SIGSTKFLT, {0x6bac4, ~[], SA\_STACK|SA\_RESTART|SA\_SIGINFO}, NULL, 8) = 0  
rt\_sigaction(SIGCHLD, NULL, {SIG\_DFL, [], 0}, 8) = 0  
rt\_sigaction(SIGCHLD, {0x6bac4, ~[], SA\_STACK|SA\_RESTART|SA\_SIGINFO}, NULL, 8) = 0  
rt\_sigaction(SIGURG, NULL, {SIG\_DFL, [], 0}, 8) = 0  
rt\_sigaction(SIGURG, {0x6bac4, ~[], SA\_STACK|SA\_RESTART|SA\_SIGINFO}, NULL, 8) = 0  
rt\_sigaction(SIGXCPU, NULL, {SIG\_DFL, [], 0}, 8) = 0  
rt\_sigaction(SIGXCPU, {0x6bac4, ~[], SA\_STACK|SA\_RESTART|SA\_SIGINFO}, NULL, 8) = 0  
rt\_sigaction(SIGXFSZ, NULL, {SIG\_DFL, [], 0}, 8) = 0  
rt\_sigaction(SIGXFSZ, {0x6bac4, ~[], SA\_STACK|SA\_RESTART|SA\_SIGINFO}, NULL, 8) = 0  
rt\_sigaction(SIGVTALRM, NULL, {SIG\_DFL, [], 0}, 8) = 0  
rt\_sigaction(SIGVTALRM, {0x6bac4, ~[], SA\_STACK|SA\_RESTART|SA\_SIGINFO}, NULL, 8) = 0  
rt\_sigaction(SIGPROF, NULL, {SIG\_DFL, [], 0}, 8) = 0  
rt\_sigaction(SIGPROF, {0x6bac4, ~[], SA\_STACK|SA\_RESTART|SA\_SIGINFO}, NULL, 8) = 0  
rt\_sigaction(SIGWINCH, NULL, {SIG\_DFL, [], 0}, 8) = 0  
rt\_sigaction(SIGWINCH, {0x6bac4, ~[], SA\_STACK|SA\_RESTART|SA\_SIGINFO}, NULL, 8) = 0  
rt\_sigaction(SIGIO, NULL, {SIG\_DFL, [], 0}, 8) = 0  
rt\_sigaction(SIGIO, {0x6bac4, ~[], SA\_STACK|SA\_RESTART|SA\_SIGINFO}, NULL, 8) = 0  
rt\_sigaction(SIGPWR, NULL, {SIG\_DFL, [], 0}, 8) = 0  
rt\_sigaction(SIGPWR, {0x6bac4, ~[], SA\_STACK|SA\_RESTART|SA\_SIGINFO}, NULL, 8) = 0  
rt\_sigaction(SIGSYS, NULL, {SIG\_DFL, [], 0}, 8) = 0  
rt\_sigaction(SIGSYS, {0x6bac4, ~[], SA\_STACK|SA\_RESTART|SA\_SIGINFO}, NULL, 8) = 0  
rt\_sigaction(SIGRTMIN, NULL, {0x76f69205, [], SA\_RESTORER|SA\_SIGINFO, 0x76e9c021}, 8) = 0  
rt\_sigaction(SIGRTMIN, NULL, {0x76f69205, [], SA\_RESTORER|SA\_SIGINFO, 0x76e9c021}, 8) = 0  
rt\_sigaction(SIGRTMIN, {0x76f69205, [], SA\_RESTORER|SA\_STACK|SA\_SIGINFO, 0x76e9c021}, NULL, 8) = 0  
rt\_sigaction(SIGRT\_1, NULL, {0x76f692a5, [], SA\_RESTORER|SA\_RESTART|SA\_SIGINFO, 0x76e9c021}, 8) = 0  
rt\_sigaction(SIGRT\_1, NULL, {0x76f692a5, [], SA\_RESTORER|SA\_RESTART|SA\_SIGINFO, 0x76e9c021}, 8) = 0  
rt\_sigaction(SIGRT\_1, {0x76f692a5, [], SA\_RESTORER|SA\_STACK|SA\_RESTART|SA\_SIGINFO, 0x76e9c021}, NULL, 8) = 0  
rt\_sigaction(SIGRT\_2, NULL, {SIG\_DFL, [], 0}, 8) = 0  
rt\_sigaction(SIGRT\_2, {0x6bac4, ~[], SA\_STACK|SA\_RESTART|SA\_SIGINFO}, NULL, 8) = 0  
rt\_sigaction(SIGRT\_3, NULL, {SIG\_DFL, [], 0}, 8) = 0  
rt\_sigaction(SIGRT\_3, {0x6bac4, ~[], SA\_STACK|SA\_RESTART|SA\_SIGINFO}, NULL, 8) = 0  
rt\_sigaction(SIGRT\_4, NULL, {SIG\_DFL, [], 0}, 8) = 0  
rt\_sigaction(SIGRT\_4, {0x6bac4, ~[], SA\_STACK|SA\_RESTART|SA\_SIGINFO}, NULL, 8) = 0  
rt\_sigaction(SIGRT\_5, NULL, {SIG\_DFL, [], 0}, 8) = 0  
rt\_sigaction(SIGRT\_5, {0x6bac4, ~[], SA\_STACK|SA\_RESTART|SA\_SIGINFO}, NULL, 8) = 0  
rt\_sigaction(SIGRT\_6, NULL, {SIG\_DFL, [], 0}, 8) = 0  
rt\_sigaction(SIGRT\_6, {0x6bac4, ~[], SA\_STACK|SA\_RESTART|SA\_SIGINFO}, NULL, 8) = 0  
rt\_sigaction(SIGRT\_7, NULL, {SIG\_DFL, [], 0}, 8) = 0  
rt\_sigaction(SIGRT\_7, {0x6bac4, ~[], SA\_STACK|SA\_RESTART|SA\_SIGINFO}, NULL, 8) = 0  
rt\_sigaction(SIGRT\_8, NULL, {SIG\_DFL, [], 0}, 8) = 0  
rt\_sigaction(SIGRT\_8, {0x6bac4, ~[], SA\_STACK|SA\_RESTART|SA\_SIGINFO}, NULL, 8) = 0  
rt\_sigaction(SIGRT\_9, NULL, {SIG\_DFL, [], 0}, 8) = 0  
rt\_sigaction(SIGRT\_9, {0x6bac4, ~[], SA\_STACK|SA\_RESTART|SA\_SIGINFO}, NULL, 8) = 0  
rt\_sigaction(SIGRT\_10, NULL, {SIG\_DFL, [], 0}, 8) = 0  
rt\_sigaction(SIGRT\_10, {0x6bac4, ~[], SA\_STACK|SA\_RESTART|SA\_SIGINFO}, NULL, 8) = 0  
rt\_sigaction(SIGRT\_11, NULL, {SIG\_DFL, [], 0}, 8) = 0  
rt\_sigaction(SIGRT\_11, {0x6bac4, ~[], SA\_STACK|SA\_RESTART|SA\_SIGINFO}, NULL, 8) = 0  
rt\_sigaction(SIGRT\_12, NULL, {SIG\_DFL, [], 0}, 8) = 0  
rt\_sigaction(SIGRT\_12, {0x6bac4, ~[], SA\_STACK|SA\_RESTART|SA\_SIGINFO}, NULL, 8) = 0  
rt\_sigaction(SIGRT\_13, NULL, {SIG\_DFL, [], 0}, 8) = 0  
rt\_sigaction(SIGRT\_13, {0x6bac4, ~[], SA\_STACK|SA\_RESTART|SA\_SIGINFO}, NULL, 8) = 0  
rt\_sigaction(SIGRT\_14, NULL, {SIG\_DFL, [], 0}, 8) = 0  
rt\_sigaction(SIGRT\_14, {0x6bac4, ~[], SA\_STACK|SA\_RESTART|SA\_SIGINFO}, NULL, 8) = 0  
rt\_sigaction(SIGRT\_15, NULL, {SIG\_DFL, [], 0}, 8) = 0  
rt\_sigaction(SIGRT\_15, {0x6bac4, ~[], SA\_STACK|SA\_RESTART|SA\_SIGINFO}, NULL, 8) = 0  
rt\_sigaction(SIGRT\_16, NULL, {SIG\_DFL, [], 0}, 8) = 0  
rt\_sigaction(SIGRT\_16, {0x6bac4, ~[], SA\_STACK|SA\_RESTART|SA\_SIGINFO}, NULL, 8) = 0  
rt\_sigaction(SIGRT\_17, NULL, {SIG\_DFL, [], 0}, 8) = 0  
rt\_sigaction(SIGRT\_17, {0x6bac4, ~[], SA\_STACK|SA\_RESTART|SA\_SIGINFO}, NULL, 8) = 0  
rt\_sigaction(SIGRT\_18, NULL, {SIG\_DFL, [], 0}, 8) = 0  
rt\_sigaction(SIGRT\_18, {0x6bac4, ~[], SA\_STACK|SA\_RESTART|SA\_SIGINFO}, NULL, 8) = 0  
rt\_sigaction(SIGRT\_19, NULL, {SIG\_DFL, [], 0}, 8) = 0  
rt\_sigaction(SIGRT\_19, {0x6bac4, ~[], SA\_STACK|SA\_RESTART|SA\_SIGINFO}, NULL, 8) = 0  
rt\_sigaction(SIGRT\_20, NULL, {SIG\_DFL, [], 0}, 8) = 0  
rt\_sigaction(SIGRT\_20, {0x6bac4, ~[], SA\_STACK|SA\_RESTART|SA\_SIGINFO}, NULL, 8) = 0  
rt\_sigaction(SIGRT\_21, NULL, {SIG\_DFL, [], 0}, 8) = 0  
rt\_sigaction(SIGRT\_21, {0x6bac4, ~[], SA\_STACK|SA\_RESTART|SA\_SIGINFO}, NULL, 8) = 0  
rt\_sigaction(SIGRT\_22, NULL, {SIG\_DFL, [], 0}, 8) = 0  
rt\_sigaction(SIGRT\_22, {0x6bac4, ~[], SA\_STACK|SA\_RESTART|SA\_SIGINFO}, NULL, 8) = 0  
rt\_sigaction(SIGRT\_23, NULL, {SIG\_DFL, [], 0}, 8) = 0  
rt\_sigaction(SIGRT\_23, {0x6bac4, ~[], SA\_STACK|SA\_RESTART|SA\_SIGINFO}, NULL, 8) = 0  
rt\_sigaction(SIGRT\_24, NULL, {SIG\_DFL, [], 0}, 8) = 0  
rt\_sigaction(SIGRT\_24, {0x6bac4, ~[], SA\_STACK|SA\_RESTART|SA\_SIGINFO}, NULL, 8) = 0  
rt\_sigaction(SIGRT\_25, NULL, {SIG\_DFL, [], 0}, 8) = 0  
rt\_sigaction(SIGRT\_25, {0x6bac4, ~[], SA\_STACK|SA\_RESTART|SA\_SIGINFO}, NULL, 8) = 0  
rt\_sigaction(SIGRT\_26, NULL, {SIG\_DFL, [], 0}, 8) = 0  
rt\_sigaction(SIGRT\_26, {0x6bac4, ~[], SA\_STACK|SA\_RESTART|SA\_SIGINFO}, NULL, 8) = 0  
rt\_sigaction(SIGRT\_27, NULL, {SIG\_DFL, [], 0}, 8) = 0  
rt\_sigaction(SIGRT\_27, {0x6bac4, ~[], SA\_STACK|SA\_RESTART|SA\_SIGINFO}, NULL, 8) = 0  
rt\_sigaction(SIGRT\_28, NULL, {SIG\_DFL, [], 0}, 8) = 0  
rt\_sigaction(SIGRT\_28, {0x6bac4, ~[], SA\_STACK|SA\_RESTART|SA\_SIGINFO}, NULL, 8) = 0  
rt\_sigaction(SIGRT\_29, NULL, {SIG\_DFL, [], 0}, 8) = 0  
rt\_sigaction(SIGRT\_29, {0x6bac4, ~[], SA\_STACK|SA\_RESTART|SA\_SIGINFO}, NULL, 8) = 0  
rt\_sigaction(SIGRT\_30, NULL, {SIG\_DFL, [], 0}, 8) = 0  
rt\_sigaction(SIGRT\_30, {0x6bac4, ~[], SA\_STACK|SA\_RESTART|SA\_SIGINFO}, NULL, 8) = 0  
rt\_sigaction(SIGRT\_31, NULL, {SIG\_DFL, [], 0}, 8) = 0  
rt\_sigaction(SIGRT\_31, {0x6bac4, ~[], SA\_STACK|SA\_RESTART|SA\_SIGINFO}, NULL, 8) = 0  
rt\_sigaction(SIGRT\_32, NULL, {SIG\_DFL, [], 0}, 8) = 0  
rt\_sigaction(SIGRT\_32, {0x6bac4, ~[], SA\_STACK|SA\_RESTART|SA\_SIGINFO}, NULL, 8) = 0  
clock\_gettime(CLOCK\_MONOTONIC, {660, 739980745}) = 0  
clock\_gettime(CLOCK\_MONOTONIC, {660, 740162745}) = 0  
brk(NULL) = 0xc08000  
brk(0xc29000) = 0xc08000  
mmap2(NULL, 1048576, PROT\_READ|PROT\_WRITE, MAP\_PRIVATE|MAP\_ANONYMOUS, -1, 0) = 0x76d17000  
rt\_sigprocmask(SIG\_SETMASK, ~[RTMIN RT\_1], [], 8) = 0  
mmap2(NULL, 8388608, PROT\_READ|PROT\_WRITE, MAP\_PRIVATE|MAP\_ANONYMOUS|MAP\_STACK, -1, 0) = 0x76517000  
mprotect(0x76517000, 4096, PROT\_NONE) = 0  
clone(child\_stack=0x76d15f98, flags=CLONE\_VM|CLONE\_FS|CLONE\_FILES|CLONE\_SIGHAND|CLONE\_THREAD|CLONE\_SYSVSEM|CLONE\_SETTLS|CLONE\_PARENT\_SETTID|CLONE\_CHILD\_CLEARTID, parent\_tidptr=0x76d164c8, tls=0x76d16920, child\_tidptr=0x76d164c8) = 2189  
+++ killed by SIGSEGV +++  
Segmentation fault

---

<div class="post-metadata">

**Author:** ![mirzak](https://yyz2.discourse-cdn.com/flex036/user_avatar/hub.mender.io/mirzak/32/2056_2.png) [@mirzak](https://hub.mender.io/u/mirzak)\
**Post date:** [March 20, 2019, 8:54am UTC](https://hub.mender.io/t/segmentation-fault-while-executing-mender/396/3 "2019-03-20T08:54:47Z")

</div>

Hi @shivashankar,

Welcome to Mender Hub,

I can not think anything immediate why you would have this problem and the only thing that I can think of is that something went wrong during cross-compilation.

We have integrated on a similar platform before and also morty,

```
 https://hub.mender.io/t/compulab-cl-som-imx6/138

```

I would try to re-build the mender client by running,

```
 bitbake -c cleansstate mender && bitbake mender

```

To see if it solves the problem, otherwise I would start checking the built in properties of the compiled binary, e.g

```
 $ readelf -A /usr/bin/mender

```

and

```
$ file /usr/bin/mender
```

---

<div class="post-metadata">

**Author:** ![shivashankar](https://avatars.discourse-cdn.com/v4/letter/s/34f0e0/32.png) [@shivashankar](https://hub.mender.io/u/shivashankar)\
**Post date:** [March 26, 2019, 2:37am UTC](https://hub.mender.io/t/segmentation-fault-while-executing-mender/396/4 "2019-03-26T02:37:03Z")

</div>

Hello Mirzak,

Thank you for replying.

I am producing the output you requested,

**$ readelf -A /usr/bin/mender**

Attribute Section: aeabi  
File Attributes  
Tag\_CPU\_name: “7-A”  
Tag\_CPU\_arch: v7  
Tag\_CPU\_arch\_profile: Application  
Tag\_ARM\_ISA\_use: Yes  
Tag\_THUMB\_ISA\_use: Thumb-2  
Tag\_FP\_arch: VFPv3  
Tag\_Advanced\_SIMD\_arch: NEONv1  
Tag\_ABI\_PCS\_wchar\_t: 4  
Tag\_ABI\_FP\_rounding: Needed  
Tag\_ABI\_FP\_denormal: Needed  
Tag\_ABI\_FP\_exceptions: Needed  
Tag\_ABI\_FP\_number\_model: IEEE 754  
Tag\_ABI\_align\_needed: 8-byte  
Tag\_ABI\_enum\_size: int  
Tag\_ABI\_VFP\_args: VFP registers  
Tag\_CPU\_unaligned\_access: v6

**$ file /usr/bin/mender**

/usr/bin/mender: ELF 32-bit LSB executable, ARM, EABI5 version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux-armhf.so.3, for GNU/Linux 3.2.0, BuildID[sha1]=f98599d13fd87825f50e6faa2991f4ceb0077c19, stripped

Its an issue with enabling GO binary. I have rectified it by enabling GO\_CROSS\_CGO\_ENABLED?=“1” in local.conf and used the version of go\_cross\_arm 1.8.1. The segmentation fault is now solved.

Thank you for the help.
