Bug 361405

Summary: disInstr(ppc): unhandled instruction: 0xFF81010C
Product: [Developer tools] valgrind Reporter: Mathieu Malaterre <malat>
Component: generalAssignee: Julian Seward <jseward>
Status: RESOLVED FIXED    
Severity: normal CC: cel, ivosh, will_schmidt
Priority: NOR    
Version First Reported In: 3.11.0   
Target Milestone: ---   
Platform: Debian unstable   
OS: Other   
Latest Commit: Version Fixed/Implemented In:
Sentry Crash Report:

Description Mathieu Malaterre 2016-04-05 09:00:54 UTC
Seems like valgrind is missing support for PowerPC:

dis_fp_scr(ppc)(instr,mtfsfi)
disInstr(ppc): unhandled instruction: 0xFF81010C
                 primary 63(0x3F), secondary 268(0x10C)
==29681== valgrind: Unrecognised instruction at address 0xfead320.
==29681==    at 0xFEAD320: __slow_ieee754_sqrt (in /lib/powerpc-linux-gnu/libm-2.22.so)
==29681==    by 0xFEA7413: __hypot_finite (in /lib/powerpc-linux-gnu/libm-2.22.so)
==29681==    by 0xFEB9187: hypot (in /lib/powerpc-linux-gnu/libm-2.22.so)
==29681==    by 0xFEBAEFF: cabs (in /lib/powerpc-linux-gnu/libm-2.22.so)
==29681==    by 0x1019BA2B: hill_climbing_update (threadpool-ms.c:1165)
==29681==    by 0x1019BA2B: heuristic_adjust (threadpool-ms.c:1296)
==29681==    by 0x1019EFE3: ves_icall_System_Threading_ThreadPool_NotifyWorkItemComplete (threadpool-ms.c:1573)
==29681==    by 0x46AFC8B: ???
==29681==    by 0x46A465B: ???
==29681==    by 0x46A4233: ???
==29681==    by 0x46A42E7: ???
==29681==    by 0x1002633B: mono_jit_runtime_invoke (mini-runtime.c:2691)
==29681==    by 0x101C55E3: do_runtime_invoke (object.c:2898)
==29681== Your program just tried to execute an instruction that Valgrind
==29681== did not recognise.  There are two possible reasons for this.
==29681== 1. Your program has a bug and erroneously jumped to a non-code
==29681==    location.  If you are running Memcheck and you just saw a
==29681==    warning about a bad jump, it's probably your program's fault.
==29681== 2. The instruction is legitimate but Valgrind doesn't handle it,
==29681==    i.e. it's Valgrind's fault.  If you think this is the case or
==29681==    you are not sure, please let us know and we'll try to fix it.
==29681== Either way, Valgrind will now raise a SIGILL signal which will
==29681== probably kill your program.
==29681== Thread 7 Threadpool work:
==29681== Invalid write of size 4
==29681==    at 0x100E6658: handle_signal_exception (exceptions-ppc.c:717)
==29681==    by 0xFEAD31F: __slow_ieee754_sqrt (in /lib/powerpc-linux-gnu/libm-2.22.so)
==29681==  Address 0x813e6b4 is on thread 7's stack
==29681== 


Reproducible: Always
Comment 1 Julian Seward 2016-09-14 13:25:41 UTC
Mathieu, what processor was this running on?
And is this a 32- or 64-bit process?
Comment 2 Mathieu Malaterre 2016-09-14 14:12:17 UTC
This is a 32bit process
Comment 3 Ivo Raisr 2017-05-05 13:56:46 UTC
It would help if you can help identify the unrecognized instruction (with gdb, objdump ...).
Comment 4 Mathieu Malaterre 2022-06-28 14:45:27 UTC
I cannot remember what I was doing back then. Closing as fixed.