IR: unimplemented insn: B348 0010 on s390x in apt

Bug #1862183 reported by Balint Reczey
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
valgrind (Ubuntu)
Fix Released
Undecided
Julian Andres Klode

Bug Description

apt's autopkgtest triggers a Valgrind error:

http://autopkgtest.ubuntu.com/packages/a/apt/focal/s390x

https://objectstorage.prodstack4-5.canonical.com/v1/AUTH_77e2ada1e7a84929a74ba3b87153c0ac/autopkgtest-focal/focal/s390x/a/apt/20200205_194314_57d5d@/log.gz :

Test for successful execution of valgrind aptget update -o Acquire::Queue-Mode=access … ==203867== Memcheck, a memory error detector
==203867== Copyright (C) 2002-2017, and GNU GPL'd, by Julian Seward et al.
==203867== Using Valgrind-3.15.0 and LibVEX; rerun with -h for copyright info
==203867== Command: /usr/bin/apt-get update -o Acquire::Queue-Mode=access
==203867==
vex s390->IR: unimplemented insn: B348 0010
==203867== valgrind: Unrecognised instruction at address 0x4ba27f6.
==203867== at 0x4BA27F6: std::__detail::_Prime_rehash_policy::_M_need_rehash(unsigned long, unsigned long, unsigned long) const (in /usr/lib/s390x-linux-gnu/libstdc++.so.6.0.28)
==203867== by 0x4985DAB: ReadConfigFile(Configuration&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, bool const&, unsigned int const&) (in /usr/lib/s390x-linux-gnu/libapt-pkg.so.5.90.0)
==203867== by 0x4A218D9: pkgInitConfig(Configuration&) (in /usr/lib/s390x-linux-gnu/libapt-pkg.so.5.90.0)
==203867== by 0x486801D: ParseCommandLine(CommandLine&, APT_CMD, Configuration* const*, pkgSystem**, int, char const**, bool (*)(CommandLine&), std::vector<aptDispatchWithHelp, std::allocator<aptDispatchWithHelp> > (*)()) (in /usr/lib/s390x-linux-gnu/libapt-private.so.0.0.0)
==203867== by 0x10BE3B: main (in /usr/bin/apt-get)
==203867== Your program just tried to execute an instruction that Valgrind
==203867== did not recognise. There are two possible reasons for this.
==203867== 1. Your program has a bug and erroneously jumped to a non-code
==203867== location. If you are running Memcheck and you just saw a
==203867== warning about a bad jump, it's probably your program's fault.
==203867== 2. The instruction is legitimate but Valgrind doesn't handle it,
==203867== i.e. it's Valgrind's fault. If you think this is the case or
==203867== you are not sure, please let us know and we'll try to fix it.
==203867== Either way, Valgrind will now raise a SIGILL signal which will
==203867== probably kill your program.
==203867==
==203867== Process terminating with default action of signal 4 (SIGILL)
==203867== Illegal opcode at address 0x4BA27F6
==203867== at 0x4BA27F6: std::__detail::_Prime_rehash_policy::_M_need_rehash(unsigned long, unsigned long, unsigned long) const (in /usr/lib/s390x-linux-gnu/libstdc++.so.6.0.28)
==203867== by 0x4985DAB: ReadConfigFile(Configuration&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, bool const&, unsigned int const&) (in /usr/lib/s390x-linux-gnu/libapt-pkg.so.5.90.0)
==203867== by 0x4A218D9: pkgInitConfig(Configuration&) (in /usr/lib/s390x-linux-gnu/libapt-pkg.so.5.90.0)
==203867== by 0x486801D: ParseCommandLine(CommandLine&, APT_CMD, Configuration* const*, pkgSystem**, int, char const**, bool (*)(CommandLine&), std::vector<aptDispatchWithHelp, std::allocator<aptDispatchWithHelp> > (*)()) (in /usr/lib/s390x-linux-gnu/libapt-private.so.0.0.0)
==203867== by 0x10BE3B: main (in /usr/bin/apt-get)
==203867==
==203867== HEAP SUMMARY:
==203867== in use at exit: 84,929 bytes in 866 blocks
==203867== total heap usage: 4,880 allocs, 4,014 frees, 438,639 bytes allocated
==203867==
==203867== LEAK SUMMARY:
==203867== definitely lost: 0 bytes in 0 blocks
==203867== indirectly lost: 0 bytes in 0 blocks
==203867== possibly lost: 0 bytes in 0 blocks
==203867== still reachable: 84,929 bytes in 866 blocks
==203867== suppressed: 0 bytes in 0 blocks
==203867== Rerun with --leak-check=full to see details of leaked memory
==203867==
==203867== For lists of detected and suppressed errors, rerun with: -s
==203867== ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 0 from 0)
Illegal instruction (core dumped)
FAIL: exitcode 132
...

Balint Reczey (rbalint)
summary: - IR: unimplemented insn: B348 0010 on s390x
+ IR: unimplemented insn: B348 0010 on s390x in apt
Changed in valgrind (Ubuntu):
status: New → Fix Committed
assignee: nobody → Julian Andres Klode (juliank)
Revision history for this message
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package valgrind - 1:3.15.0-1ubuntu7

---------------
valgrind (1:3.15.0-1ubuntu7) focal; urgency=medium

  * Cherry pick upstream commit Bug 416301 - s390x: Support
    "compare and signal" instructions (LP: #1862183)

 -- Julian Andres Klode <email address hidden> Thu, 06 Feb 2020 15:49:24 +0100

Changed in valgrind (Ubuntu):
status: Fix Committed → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.