All of lore.kernel.org
 help / color / mirror / Atom feed
From: Jeffrey Melville <jmelville@mitre.org>
To: "xenomai@xenomai.org" <xenomai@xenomai.org>
Subject: [Xenomai] Xenomai and AddressSanitizer/ASan
Date: Tue, 29 Mar 2016 17:31:24 -0400	[thread overview]
Message-ID: <56FAF42C.2040902@mitre.org> (raw)

Hi,

I'm running Zynq ZC706 board with Xenomai 2.6.4 on a pre/post patched
3.14.17 kernel from the Xilinx fork. Everything was built using gcc 4.9.1

I'm hitting a segfault and the core dumps are corrupted with no useful
information. As a last resort, I'm trying to use the gcc version of
AddressSanitizer
(https://github.com/google/sanitizers/wiki/AddressSanitizer). We've used
ASan successfully on the same codebase but on x86_64 using a hardware
simulation library that doesn't have real-time requirements.
Unfortunately, this bug doesn't show up in the simulation.

I tried a simple "hello world" program with a memory bug that generates
the desired report with ASan alone. When I include Xenomai, the app
crashes before getting to main():
Program received signal SIGSEGV, Segmentation fault.
0x00000000 in ?? ()
(gdb) bt
#0  0x00000000 in ?? ()
#1  0xb6b482cc in __interceptor_pthread_cond_signal (Cannot access
memory at address 0x0
c=0x4e9dd2f8) at
../../../../../../../../../work-shared/gcc-4.9.1-r0/gcc-4.9.1/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:2268
#2  0x4e9d2cf8 in ?? () from /usr/lib/libxenomai.so.0
Cannot access memory at address 0x0
Backtrace stopped: previous frame identical to this frame (corrupt stack?)

I think the pthread_cond_signal call occurs in the rt_print init. This
sanitizer issue may be related:
https://github.com/google/sanitizers/issues/297. I'm not sure why the
problem occurs when Xenomai is linked but not when it isn't.

My LDFLAGS are:
-lasan -lpthread -lrt
-Wl,@/mnt/data/poky/1.7.1/sysroots/armv7a-vfp-neon-poky-linux-gnueabi/usr/lib/posix.wrappers
-L/mnt/data/poky/1.7.1/sysroots/armv7a-vfp-neon-poky-linux-gnueabi/usr/lib
-lpthread_rt -lxenomai -lpthread -lrt

Has anyone used Xenomai and ASan together successfully? What steps did
you have to take? Or is it a terrible idea?

I know this might be more of an ASan issue but figured it's more likely
Xenomai people are familiar with ASan than vice versa. I'll try them as
well.

Thanks,
Jeff


             reply	other threads:[~2016-03-29 21:31 UTC|newest]

Thread overview: 2+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-03-29 21:31 Jeffrey Melville [this message]
2016-03-30 13:27 ` [Xenomai] Xenomai and AddressSanitizer/ASan Jeffrey Melville

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=56FAF42C.2040902@mitre.org \
    --to=jmelville@mitre.org \
    --cc=xenomai@xenomai.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.