Bug 384630 - The 'impossible' happened (__ubsan_handle_shift_out_of_bounds) as soon as starting anything under valgrind
Summary: The 'impossible' happened (__ubsan_handle_shift_out_of_bounds) as soon as sta...
Status: REPORTED
Alias: None
Product: valgrind
Classification: Developer tools
Component: memcheck (show other bugs)
Version: 3.13.0
Platform: Compiled Sources Linux
: NOR normal
Target Milestone: ---
Assignee: Julian Seward
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2017-09-12 17:58 UTC by Peifeng Yu
Modified: 2017-09-12 20:02 UTC (History)
1 user (show)

See Also:
Latest Commit:
Version Fixed In:
Sentry Crash Report:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Peifeng Yu 2017-09-12 17:58:34 UTC
Compiled source, tried both 3.12.0 and 3.13.0.

OS: RHEL 7.3
Arch: ppc64le
Kernel: 3.10.0
Built with gcc 7.1.0

$ valgrind ls -l

==32450== Memcheck, a memory error detector
==32450== Copyright (C) 2002-2017, and GNU GPL'd, by Julian Seward et al.
==32450== Using Valgrind-3.13.0 and LibVEX; rerun with -h for copyright info
==32450== Command: ls -l
==32450== 
--32450:0:main:ubs In __ubsan_handle_shift_out_of_bounds
valgrind: m_compiler.c:281 (__ubsan_handle_shift_out_of_bounds): the 'impossible' happened.

host stacktrace:
==32450==    at 0x580AD2C8: show_sched_status_wrk (m_libcassert.c:355)
==32450==    by 0x580AD50F: report_and_quit (m_libcassert.c:426)
==32450==    by 0x580AD68B: vgPlain_assert_fail (m_libcassert.c:492)
==32450==    by 0x58098AE7: __ubsan_handle_shift_out_of_bounds (m_compiler.c:281)
==32450==    by 0x58286413: extend_s_16to32 (guest_ppc_toIR.c:559)
==32450==    by 0x58286413: dis_int_store.isra.46 (guest_ppc_toIR.c:7430)
==32450==    by 0x582A230B: disInstr_PPC_WRK.isra.54 (guest_ppc_toIR.c:28350)
==32450==    by 0x582AA4A7: disInstr_PPC (guest_ppc_toIR.c:29533)
==32450==    by 0x5826952B: bb_to_IR (guest_generic_bb_to_IR.c:365)
==32450==    by 0x58233C83: LibVEX_FrontEnd (main_main.c:558)
==32450==    by 0x582346B3: LibVEX_Translate (main_main.c:1173)
==32450==    by 0x580E9023: vgPlain_translate (m_translate.c:1794)
==32450==    by 0x5815F63B: handle_tt_miss (scheduler.c:1056)
==32450==    by 0x5815F63B: vgPlain_scheduler (scheduler.c:1417)
==32450==    by 0x5817E04B: thread_wrapper (syswrap-linux.c:103)
==32450==    by 0x5817E04B: run_a_thread_NORETURN (syswrap-linux.c:156)

sched status:
  running_tid=1

Thread 1: status = VgTs_Runnable (lwpid 32450)
==32450==    at 0x4001880: _start (in /usr/lib64/ld-2.17.so)


Note: see also the FAQ in the source distribution.
It contains workarounds to several common problems.
In particular, if Valgrind aborted or crashed after
identifying problems in your program, there's a good chance
that fixing those problems will prevent Valgrind aborting or
crashing, especially if it happened in m_mallocfree.c.

If that doesn't help, please report this bug to: www.valgrind.org

In the bug report, send all the above text, the valgrind
version, and what OS and version you are using.  Thanks.
Comment 1 Julian Seward 2017-09-12 19:09:27 UTC
This is a build done with --enable-ubsan.  Correct?
Comment 2 Peifeng Yu 2017-09-12 20:02:31 UTC
I'm using the receipt from spack (https://github.com/LLNL/spack/blob/develop/var/spack/repos/builtin/packages/valgrind/package.py). And yes it was built with  --enable-ubsan