Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 03 Sep 2014 22:17:20 +0000
From:      bugzilla-noreply@freebsd.org
To:        freebsd-ports-bugs@FreeBSD.org
Subject:   [Bug 193295] New: [valgrind] Doesn't decode instruction(s) when libunwind is used
Message-ID:  <bug-193295-13@https.bugs.freebsd.org/bugzilla/>

next in thread | raw e-mail | index | archive | help
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=193295

            Bug ID: 193295
           Summary: [valgrind] Doesn't decode instruction(s) when
                    libunwind is used
           Product: Ports Tree
           Version: Latest
          Hardware: Any
                OS: Any
            Status: Needs Triage
          Severity: Affects Only Me
          Priority: ---
         Component: Individual Port(s)
          Assignee: freebsd-ports-bugs@FreeBSD.org
          Reporter: adrian@freebsd.org

This happens when debugging an application (libuinet) with libunwind:

UINET multiprocessor subsystem configured with 1 CPUs
vex amd64->IR: unhandled instruction bytes: 0x66 0x8C 0x8F 0xB8 0x0 0x0 0x0
0x66
vex amd64->IR:   REX=0 REX.W=0 REX.R=0 REX.X=0 REX.B=0
vex amd64->IR:   VEX=0 VEX.L=0 VEX.nVVVV=0x0 ESC=NONE
vex amd64->IR:   PFX.66=1 PFX.F2=0 PFX.F3=0
==9536== valgrind: Unrecognised instruction at address 0x14cf67c.
==9536==    at 0x14CF67C: _Ux86_64_getcontext (in
/usr/local/lib/libunwind.so.8)
==9536==    by 0x4A01C3: uhi_get_stacktrace (uinet_host_interface.c:1213)
==9536==    by 0x422154: stack_save (uinet_subr_stack.c:22)
==9536==    by 0x49C033: witness_checkorder (subr_witness.c:2818)
==9536==    by 0x41E646: _rw_wlock (uinet_kern_rwlock.c:105)
==9536==    by 0x457DD9: vnet_if_init (if.c:406)
==9536==    by 0x41AD44: mi_startup (uinet_init_main.c:301)
==9536==    by 0x41A727: uinet_init (uinet_init.c:149)
==9536==    by 0x405D61: norse_libuinet_intercept_setup
(norse_intercept_libuinet.c:1330)
==9536==    by 0x405322: main (blockd_libuinet.c:574)
==9536== Your program just tried to execute an instruction that Valgrind
==9536== did not recognise.  There are two possible reasons for this.
==9536== 1. Your program has a bug and erroneously jumped to a non-code
==9536==    location.  If you are running Memcheck and you just saw a
==9536==    warning about a bad jump, it's probably your program's fault.
==9536== 2. The instruction is legitimate but Valgrind doesn't handle it,
==9536==    i.e. it's Valgrind's fault.  If you think this is the case or
==9536==    you are not sure, please let us know and we'll try to fix it.
==9536== Either way, Valgrind will now raise a SIGILL signal which will
==9536== probably kill your program.
==9536== 
==9536== Process terminating with default action of signal 4 (SIGILL): dumping
core
==9536==  Illegal opcode at address 0x14CF67C
==9536==    at 0x14CF67C: _Ux86_64_getcontext (in
/usr/local/lib/libunwind.so.8)
==9536==    by 0x4A01C3: uhi_get_stacktrace (uinet_host_interface.c:1213)
==9536==    by 0x422154: stack_save (uinet_subr_stack.c:22)
==9536==    by 0x49C033: witness_checkorder (subr_witness.c:2818)
==9536==    by 0x41E646: _rw_wlock (uinet_kern_rwlock.c:105)
==9536==    by 0x457DD9: vnet_if_init (if.c:406)
==9536==    by 0x41AD44: mi_startup (uinet_init_main.c:301)
==9536==    by 0x41A727: uinet_init (uinet_init.c:149)
==9536==    by 0x405D61: norse_libuinet_intercept_setup
(norse_intercept_libuinet.c:1330)
==9536==    by 0x405322: main (blockd_libuinet.c:574)
==9536== 
==9536== HEAP SUMMARY:
==9536==     in use at exit: 31,172,630 bytes in 797 blocks
==9536==   total heap usage: 1,139 allocs, 342 frees, 31,176,862 bytes
allocated
==9536== 
==9536== LEAK SUMMARY:
==9536==    definitely lost: 206 bytes in 3 blocks
==9536==    indirectly lost: 0 bytes in 0 blocks
==9536==      possibly lost: 66,856 bytes in 31 blocks
==9536==    still reachable: 31,105,568 bytes in 763 blocks
==9536==         suppressed: 0 bytes in 0 blocks
==9536== Rerun with --leak-check=full to see details of leaked memory
==9536== 
==9536== For counts of detected and suppressed errors, rerun with: -v
==9536== Use --track-origins=yes to see where uninitialised values come from
==9536== ERROR SUMMARY: 1 errors from 1 contexts (suppressed: 0 from 0)
Killed

-- 
You are receiving this mail because:
You are the assignee for the bug.



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?bug-193295-13>