[prev in list] [next in list] [prev in thread] [next in thread]
List: kde-bugs-dist
Subject: [valgrind] [Bug 369175] jm_vec_isa_2_07 test crashes on ppc64
From: Will Schmidt via KDE Bugzilla <bugzilla_noreply () kde ! org>
Date: 2016-09-23 20:33:33
Message-ID: bug-369175-17878-TFn8DbEbtx () http ! bugs ! kde ! org/
[Download RAW message or body]
https://bugs.kde.org/show_bug.cgi?id=369175
--- Comment #19 from Will Schmidt <will_schmidt@vnet.ibm.com> ---
Chased this one around under gdb for a while, looking for where the R2 or the
stack frame are getting messed up. Something seems to be going horribly
wrong here, but it's possible valgrind just always does this and I'm totally
misunderstanding what I am seeing.
With that said:
It looks like something is going badly in m_dispatch/dispatch-ppc64be-linux.S,
line 225, in or around the vspltisw instruction. Noting the changes between
the backtrace before and the backtrace after the step over that instruction.
(gdb)
223 beq .LafterVMX2
=> 0x0000000038092e88 <.vgPlain_disp_run_translations+320>: 41 82 00 0c
beq 0x38092e94 <.vgPlain_disp_run_translations+332>
(gdb) bt
#0 .vgPlain_disp_run_translations () at
m_dispatch/dispatch-ppc64be-linux.S:223
#1 0x00000000380a3114 in run_thread_for_a_while
(two_words=two_words@entry=0x802b3fe20,
dispatchCtrP=dispatchCtrP@entry=0x802b3fe34, tid=tid@entry=1,
alt_host_addr=alt_host_addr@entry=0,
use_alt_host_addr=use_alt_host_addr@entry=0 '\000') at
m_scheduler/scheduler.c:947
#2 0x00000000380a5a18 in vgPlain_scheduler (tid=<optimized out>) at
m_scheduler/scheduler.c:1336
#3 0x00000000380bf3c8 in thread_wrapper (tidW=<optimized out>) at
m_syswrap/syswrap-linux.c:103
#4 run_a_thread_NORETURN (tidW=<optimized out>) at
m_syswrap/syswrap-linux.c:156
#5 0x0000000000000000 in ?? ()
(gdb) stepi
.vgPlain_disp_run_translations () at m_dispatch/dispatch-ppc64be-linux.S:225
225 vspltisw 3,0x0 /* generate zero */
=> 0x0000000038092e8c <.vgPlain_disp_run_translations+324>: 10 60 03 8c
vspltisw v3,0
(gdb) bt
#0 .vgPlain_disp_run_translations () at
m_dispatch/dispatch-ppc64be-linux.S:225
#1 0x00000000380a3114 in run_thread_for_a_while (two_words=0x0,
dispatchCtrP=0x0, tid=<optimized out>, alt_host_addr=0,
use_alt_host_addr=<optimized out>)
at m_scheduler/scheduler.c:947
#2 0x0000000000000000 in ?? ()
(gdb) stepi
226 mtvscr 3
=> 0x0000000038092e90 <.vgPlain_disp_run_translations+328>: 10 00 1e 44
mtvscr v3
(gdb)
230 stdu 1,-48(1)
=> 0x0000000038092e94 <.vgPlain_disp_run_translations+332>: f8 21 ff d1
stdu r1,-48(r1)
(gdb)
.vgPlain_disp_run_translations () at m_dispatch/dispatch-ppc64be-linux.S:233
233 mr 31,4 /* r31 (generated code gsp) = r4 */
=> 0x0000000038092e98 <.vgPlain_disp_run_translations+336>: 7c 9f 23 78
mr r31,r4
(gdb)
240 mtctr 5
=> 0x0000000038092e9c <.vgPlain_disp_run_translations+340>: 7c a9 03 a6
mtctr r5
(gdb)
241 bctr
=> 0x0000000038092ea0 <.vgPlain_disp_run_translations+344>: 4e 80 04 20
bctr
(gdb)
0x0000000803240000 in ?? ()
=> 0x0000000803240000: 83 df 00 08 lwz r30,8(r31)
(gdb)
... at which point I suspect we're off in the weeds with our IP/SP. Did a
bit more single-stepping after that,.. Neither I nor gdb are able to map
whatever we are executing to anything..
0x0000000803240000 in ?? ()
=> 0x0000000803240000: 83 df 00 08 lwz r30,8(r31)
(gdb)
0x0000000803240004 in ?? ()
=> 0x0000000803240004: 37 de ff ff addic. r30,r30,-1
(gdb)
0x0000000803240008 in ?? ()
=> 0x0000000803240008: 93 df 00 08 stw r30,8(r31)
(gdb)
0x000000080324000c in ?? ()
=> 0x000000080324000c: 40 80 00 10 bge 0x80324001c
(gdb)
eventually we stumble across ppc32g_dirtyhelper_MFSPR_....
(gdb)
0x00000008032401ec in ?? ()
=> 0x00000008032401ec: 4e 80 04 21 bctrl
(gdb)
ppc32g_dirtyhelper_MFSPR_268_269 (r269=0) at priv/guest_ppc_helpers.c:98
98 if (r269) {
=> 0x000000003817ce80 <ppc32g_dirtyhelper_MFSPR_268_269+0>: 2f a3 00 00
cmpdi cr7,r3,0
0x000000003817ce84 <ppc32g_dirtyhelper_MFSPR_268_269+4>: 40 9e 00 1c
bne cr7,0x3817cea0 <ppc32g_dirtyhelper_MFSPR_268_269+32>
....
a bctrl in that takes us back into dispatch-ppc64be-linux.S
(gdb)
0x000000080324026c in ?? ()
=> 0x000000080324026c: 4e 80 04 21 bctrl
(gdb)
.vgPlain_disp_cp_chain_me_to_fastEP () at
m_dispatch/dispatch-ppc64be-linux.S:435
435 li 6, VG_TRC_CHAIN_ME_TO_FAST_EP
=> 0x0000000038093034 <.vgPlain_disp_cp_chain_me_to_fastEP+0>: 38 c0 00 33
li r6,51
(gdb)
436 mflr 7
....
eventually we branch into postamble/vgPlain_disp_run_translations...
(gdb)
442 b .postamble
=> 0x0000000038093040 <.vgPlain_disp_cp_chain_me_to_fastEP+12>: 4b ff fe 64
b 0x38092ea4 <.vgPlain_disp_run_translations+348>
(gdb)
.vgPlain_disp_run_translations () at m_dispatch/dispatch-ppc64be-linux.S:256
256 addi 1,1,48
--
You are receiving this mail because:
You are watching all bug changes.
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic