Bug 180513 - disInstr(ppc): unhandled instruction: 0x7D20009D with PPC 440EPX
Summary: disInstr(ppc): unhandled instruction: 0x7D20009D with PPC 440EPX
Status: CONFIRMED
Alias: None
Product: valgrind
Classification: Developer tools
Component: vex (show other bugs)
Version: unspecified
Platform: Compiled Sources Linux
: NOR crash
Target Milestone: ---
Assignee: Julian Seward
URL:
Keywords:
: 203357 (view as bug list)
Depends on:
Blocks:
 
Reported: 2009-01-13 01:46 UTC by Sebastien
Modified: 2015-04-26 17:45 UTC (History)
3 users (show)

See Also:
Latest Commit:
Version Fixed In:


Attachments
gunziped valgrind log upon disInstr(ppc) (113.16 KB, application/x-gzip)
2009-01-13 01:53 UTC, Sebastien
Details
gunzipped log of valgrind -v <bin> (23.51 KB, application/x-gzip)
2009-01-13 19:52 UTC, Sebastien
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Sebastien 2009-01-13 01:46:26 UTC
Version:           3.4.0 (using Devel)
Compiler:          PPC 440EP G++ using powerpc-montavista-linux-gnu ADK
OS:                Linux
Installed from:    Compiled sources

I am systematically getting the following illegal instruction on PPC 440EPX - that sends SIGILL to my programm.

I am attaching the traces of the run with
--leak-check=full --error-limit=no --show-reachable=yes --track-origins=yes --log-file=valgrind.txt
let me know if there would be better options to run with with or command to launch to analyze this problem.

=7232==  Uninitialised value was created by a stack allocation
==7232==    at 0xFEBF47C: (within /usr/local/lib/libsqlite3.so.0.8.6)
disInstr(ppc): unhandled instruction: 0x7D20009D
                 primary 31(0x1F), secondary 157(0x9D)
==7232== valgrind: Unrecognised instruction at address 0xfe9be20.

==7232== Your program just tried to execute an instruction that Valgrind
==7232== did not recognise.  There are two possible reasons for this.
==7232== 1. Your program has a bug and erroneously jumped to a non-code
==7232==    location.  If you are running Memcheck and you just saw a
==7232==    warning about a bad jump, it's probably your program's fault.
==7232== 2. The instruction is legitimate but Valgrind doesn't handle it,
==7232==    i.e. it's Valgrind's fault.  If you think this is the case or
==7232==    you are not sure, please let us know and we'll try to fix it.
==7232== Either way, Valgrind will now raise a SIGILL signal which will
==7232== probably kill your program.
Comment 1 Sebastien 2009-01-13 01:52:13 UTC
Valgrdin version used is 3.3.4, I will test with trunk but I expect the same behavior. I am not sure about the component causing the root problem, memcheck ?
Comment 2 Sebastien 2009-01-13 01:53:32 UTC
Created attachment 30203 [details]
gunziped valgrind log upon disInstr(ppc)
Comment 3 Sebastien 2009-01-13 02:13:41 UTC
Getting the same error with valgrind trunk

disInstr(ppc): unhandled instruction: 0x7D20009D
                 primary 31(0x1F), secondary 157(0x9D)
==12518== valgrind: Unrecognised instruction at address 0xfe9be20.
Comment 4 Bart Van Assche 2009-01-13 09:36:22 UTC
The tool name is missing in your bug report. Please read http://valgrind.org/support/bug_reports.html. On this web page you can find the following instructions:

When you report a bug, please give the following information:
* The output of uname -a.
* The full output you get when you run your program under Valgrind with the -v flag.
Comment 5 Sebastien 2009-01-13 19:41:02 UTC
Not sure how to edit the tool name after hand, do you have a way to edit after hand, I tried to follow the creation wizard, not sure if it took it ..?

tool = valgrdind.

root@sebastien:~# uname -a
Linux sebastien 2.6.18_pro500-440epx_eval #1 Tue Jan 13 09:11:18 CST 2009 ppc unknown

I am attaching the output of valgrind -v <bin> --log-file=valgrindv.txt
Comment 6 Sebastien 2009-01-13 19:52:33 UTC
Created attachment 30220 [details]
gunzipped log of valgrind -v <bin>

this is trunk as of 1/12/2009 (same problem with valgrdind 3.4.0). The following patch had to be applied first
http://bugs.kde.org/attachment.cgi?id=30135
for the following bug
http://bugs.kde.org/show_bug.cgi?id=176926

(trunked as of 2009-01-13 according to bug)
Comment 7 Sebastien 2009-01-26 23:35:51 UTC
Here follows the end of the log for

/root/valgrind/bin/valgrind --tool=none --trace-flags=10000001 --trace-notbelow=0 --log-file=/log/rhclogs/voice.val.log <my_binary>

------------------------ Front end ------------------------

	0xFA3E0D8:  li r0,234

              ------ IMark(0xFA3E0D8, 4) ------
              t0 = GET:I32(0)
              t1 = GET:I32(0)
              t2 = 0xEA:I32
              PUT(0) = t2

	0xFA3E0DC:  stw r30,24(r1)

              ------ IMark(0xFA3E0DC, 4) ------
              PUT(896) = 0xFA3E0DC:I32
              t4 = GET:I32(0)
              t3 = GET:I32(120)
              t5 = Add32(GET:I32(4),0x18:I32)
              STbe(t5) = t3

	0xFA3E0E0:  mflr r30

              ------ IMark(0xFA3E0E0, 4) ------
              PUT(896) = 0xFA3E0E0:I32
              t6 = GET:I32(120)
              PUT(120) = GET:I32(900)

	0xFA3E0E4:  stw r31,28(r1)

              ------ IMark(0xFA3E0E4, 4) ------
              PUT(896) = 0xFA3E0E4:I32
              t8 = GET:I32(0)
              t7 = GET:I32(124)
              t9 = Add32(GET:I32(4),0x1C:I32)
              STbe(t9) = t7

	0xFA3E0E8:  mr r31,r3

              ------ IMark(0xFA3E0E8, 4) ------
              PUT(896) = 0xFA3E0E8:I32
              t10 = GET:I32(12)
              t12 = GET:I32(12)
              t11 = t10
              PUT(124) = t11

	0xFA3E0EC:  lwz r9,-116(r30)

              ------ IMark(0xFA3E0EC, 4) ------
              PUT(896) = 0xFA3E0EC:I32
              t13 = Add32(GET:I32(120),0xFFFFFF8C:I32)
              PUT(36) = LDbe:I32(t13)

	0xFA3E0F0:  stw r29,20(r1)

              ------ IMark(0xFA3E0F0, 4) ------
              PUT(896) = 0xFA3E0F0:I32
              t15 = GET:I32(0)
              t14 = GET:I32(116)
              t16 = Add32(GET:I32(4),0x14:I32)
              STbe(t16) = t14

	0xFA3E0F4:  mr r3,r31

              ------ IMark(0xFA3E0F4, 4) ------
              PUT(896) = 0xFA3E0F4:I32
              t17 = GET:I32(124)
              t19 = GET:I32(124)
              t18 = t17
              PUT(12) = t18

	0xFA3E0F8:  add r29,r9,r2

              ------ IMark(0xFA3E0F8, 4) ------
              PUT(896) = 0xFA3E0F8:I32
              t20 = GET:I32(36)
              t21 = GET:I32(8)
              t22 = Add32(t20,t21)
              PUT(116) = t22

	0xFA3E0FC:  sc

              ------ IMark(0xFA3E0FC, 4) ------
              PUT(896) = 0xFA3E0FC:I32
              PUT(1096) = GET:I32(896)
              goto {Sys_syscall} 0xFA3E100:I32

. 0 FA3E0D8 40
. 38 00 00 EA 93 C1 00 18 7F C8 02 A6 93 E1 00 1C 7C 7F 1B 78 81 3E FF 8C 93 A1 00 14 7F E3 FB 78 7F A9 12 14 44 00 00 02


------------------------ Assembly ------------------------

mflr %r4
7C 88 02 A6 

li_word %r5,0x000000EA
38 A0 00 EA 

stw %r5,0(%r31)
90 BF 00 00 

li_word %r5,0x0FA3E0DC
3C A0 0F A3 60 A5 E0 DC 

stw %r5,896(%r31)
90 BF 03 80 

lwz %r5,4(%r31)
80 BF 00 04 

lwz %r6,120(%r31)
80 DF 00 78 

stw %r6,24(%r5)
90 C5 00 18 

lwz %r6,900(%r31)
80 DF 03 84 

stw %r6,120(%r31)
90 DF 00 78 

li_word %r7,0x0FA3E0E4
3C E0 0F A3 60 E7 E0 E4 

stw %r7,896(%r31)
90 FF 03 80 

lwz %r7,124(%r31)
80 FF 00 7C 

stw %r7,28(%r5)
90 E5 00 1C 

lwz %r7,12(%r31)
80 FF 00 0C 

stw %r7,124(%r31)
90 FF 00 7C 

li_word %r8,0x0FA3E0EC
3D 00 0F A3 61 08 E0 EC 

stw %r8,896(%r31)
91 1F 03 80 

lwz %r8,-116(%r6)
81 06 FF 8C 

stw %r8,36(%r31)
91 1F 00 24 

li_word %r6,0x0FA3E0F0
3C C0 0F A3 60 C6 E0 F0 

stw %r6,896(%r31)
90 DF 03 80 

lwz %r6,116(%r31)
80 DF 00 74 

stw %r6,20(%r5)
90 C5 00 14 

stw %r7,12(%r31)
90 FF 00 0C 

lwz %r5,8(%r31)
80 BF 00 08 

add %r6,%r8,%r5
7C C8 2A 14 

stw %r6,116(%r31)
90 DF 00 74 

li_word %r5,0x0FA3E0FC
3C A0 0F A3 60 A5 E0 FC 

stw %r5,896(%r31)
90 BF 03 80 

li_word %r5,0x0FA3E0FC
3C A0 0F A3 60 A5 E0 FC 

stw %r5,1096(%r31)
90 BF 04 48 

mtlr %r4
7C 88 03 A6 

goto: { li %r31,$Sys_syscall ; li_word %r3,0x0FA3E100 ; blr }
3B E0 00 49 3C 60 0F A3 60 63 E1 00 4E 80 00 20 

==11489== 
Comment 8 Florian Krohm 2015-04-26 17:45:13 UTC
*** Bug 203357 has been marked as a duplicate of this bug. ***