Hi,
Thanks for all your help
Here is the output for the disassemble
------------------------
disable disassemble
(gdb) disassemble
Dump of assembler code for function _ZN7TDTmain10InitialiseEv:
0x007cc728 <_ZN7TDTmain10InitialiseEv+0>: stm %r11,%r15,44(%r15)
0x007cc72c <_ZN7TDTmain10InitialiseEv+4>: bras %r13,0x7cc754
<_ZN7TDTmain10InitialiseEv+44>
0x007cc730 <_ZN7TDTmain10InitialiseEv+8>: .long 0x007cc60c
0x007cc734 <_ZN7TDTmain10InitialiseEv+12>: .long 0x0114f8c6
0x007cc738 <_ZN7TDTmain10InitialiseEv+16>: .long 0x0041ed60
0x007cc73c <_ZN7TDTmain10InitialiseEv+20>: .long 0x00789a70
0x007cc740 <_ZN7TDTmain10InitialiseEv+24>: .long 0x00789a90
0x007cc744 <_ZN7TDTmain10InitialiseEv+28>: .long 0x007e095c
0x007cc748 <_ZN7TDTmain10InitialiseEv+32>: .long 0x0169f484
0x007cc74c <_ZN7TDTmain10InitialiseEv+36>: .long 0x00e2a78c
0x007cc750 <_ZN7TDTmain10InitialiseEv+40>: .long 0x00000013
0x007cc754 <_ZN7TDTmain10InitialiseEv+44>: ahi %r15,-112
0x007cc758 <_ZN7TDTmain10InitialiseEv+48>: lr %r11,%r15
0x007cc75a <_ZN7TDTmain10InitialiseEv+50>: st %r2,96(%r11)
0x007cc75e <_ZN7TDTmain10InitialiseEv+54>: lhi %r1,639
0x007cc762 <_ZN7TDTmain10InitialiseEv+58>: st %r1,100(%r11)
0x007cc766 <_ZN7TDTmain10InitialiseEv+62>: l %r1,100(%r11)
0x007cc76a <_ZN7TDTmain10InitialiseEv+66>: sfpc %r1,%r0
0x007cc76e <_ZN7TDTmain10InitialiseEv+70>: l %r1,96(%r11)
0x007cc772 <_ZN7TDTmain10InitialiseEv+74>: lhi %r2,0
0x007cc776 <_ZN7TDTmain10InitialiseEv+78>: st %r2,1488(%r1)
0x007cc77a <_ZN7TDTmain10InitialiseEv+82>: l %r1,96(%r11)
0x007cc77e <_ZN7TDTmain10InitialiseEv+86>: lhi %r3,0
0x007cc782 <_ZN7TDTmain10InitialiseEv+90>: st %r3,1492(%r1)
0x007cc786 <_ZN7TDTmain10InitialiseEv+94>: l %r12,96(%r11)
0x007cc78a <_ZN7TDTmain10InitialiseEv+98>: l %r2,96(%r11)
0x007cc78e <_ZN7TDTmain10InitialiseEv+102>: l %r1,0(%r13)
0x007cc792 <_ZN7TDTmain10InitialiseEv+106>: basr %r14,%r1
0x007cc794 <_ZN7TDTmain10InitialiseEv+108>: st %r2,8(%r12)
0x007cc798 <_ZN7TDTmain10InitialiseEv+112>: l %r1,96(%r11)
0x007cc79c <_ZN7TDTmain10InitialiseEv+116>: mvi 4(%r1),0
0x007cc7a0 <_ZN7TDTmain10InitialiseEv+120>: l %r1,96(%r11)
0x007cc7a4 <_ZN7TDTmain10InitialiseEv+124>: lhi %r2,0
0x007cc7a8 <_ZN7TDTmain10InitialiseEv+128>: st %r2,408(%r1)
0x007cc7ac <_ZN7TDTmain10InitialiseEv+132>: l %r1,96(%r11)
0x007cc7b0 <_ZN7TDTmain10InitialiseEv+136>: mvi 16(%r1),0
0x007cc7b4 <_ZN7TDTmain10InitialiseEv+140>: l %r1,96(%r11)
0x007cc7b8 <_ZN7TDTmain10InitialiseEv+144>: ahi %r1,272
0x007cc7bc <_ZN7TDTmain10InitialiseEv+148>: l %r3,4(%r13)
0x007cc7c0 <_ZN7TDTmain10InitialiseEv+152>: lr %r2,%r1
0x007cc7c2 <_ZN7TDTmain10InitialiseEv+154>: l %r1,8(%r13)
0x007cc7c6 <_ZN7TDTmain10InitialiseEv+158>: basr %r14,%r1
0x007cc7c8 <_ZN7TDTmain10InitialiseEv+160>: l %r1,96(%r11)
0x007cc7cc <_ZN7TDTmain10InitialiseEv+164>: lhi %r3,24
0x007cc7d0 <_ZN7TDTmain10InitialiseEv+168>: st %r3,412(%r1)
0x007cc7d4 <_ZN7TDTmain10InitialiseEv+172>: l %r1,96(%r11)
0x007cc7d8 <_ZN7TDTmain10InitialiseEv+176>: lhi %r2,0
0x007cc7dc <_ZN7TDTmain10InitialiseEv+180>: st %r2,416(%r1)
0x007cc7e0 <_ZN7TDTmain10InitialiseEv+184>: lhi %r3,0
0x007cc7e4 <_ZN7TDTmain10InitialiseEv+188>: st %r3,104(%r11)
0x007cc7e8 <_ZN7TDTmain10InitialiseEv+192>: l %r1,104(%r11)
0x007cc7ec <_ZN7TDTmain10InitialiseEv+196>: cl %r1,32(%r13)
0x007cc7f0 <_ZN7TDTmain10InitialiseEv+200>: jle 0x7cc7f8
<_ZN7TDTmain10InitialiseEv+208>
0x007cc7f4 <_ZN7TDTmain10InitialiseEv+204>: j 0x7cc81c
<_ZN7TDTmain10InitialiseEv+244>
0x007cc7f8 <_ZN7TDTmain10InitialiseEv+208>: l %r2,96(%r11)
0x007cc7fc <_ZN7TDTmain10InitialiseEv+212>: l %r1,104(%r11)
---Type <return> to continue, or q <return> to quit---
0x007cc800 <_ZN7TDTmain10InitialiseEv+216>: sll %r1,2
0x007cc804 <_ZN7TDTmain10InitialiseEv+220>: lhi %r3,0
0x007cc808 <_ZN7TDTmain10InitialiseEv+224>: st %r3,328(%r1,%r2)
0x007cc80c <_ZN7TDTmain10InitialiseEv+228>: l %r1,104(%r11)
0x007cc810 <_ZN7TDTmain10InitialiseEv+232>: ahi %r1,1
0x007cc814 <_ZN7TDTmain10InitialiseEv+236>: st %r1,104(%r11)
0x007cc818 <_ZN7TDTmain10InitialiseEv+240>: j 0x7cc7e8
<_ZN7TDTmain10InitialiseEv+192>
0x007cc81c <_ZN7TDTmain10InitialiseEv+244>: l %r1,96(%r11)
0x007cc820 <_ZN7TDTmain10InitialiseEv+248>: lhi %r2,0
0x007cc824 <_ZN7TDTmain10InitialiseEv+252>: st %r2,1472(%r1)
0x007cc828 <_ZN7TDTmain10InitialiseEv+256>: l %r12,96(%r11)
0x007cc82c <_ZN7TDTmain10InitialiseEv+260>: l %r1,12(%r13)
0x007cc830 <_ZN7TDTmain10InitialiseEv+264>: basr %r14,%r1
0x007cc832 <_ZN7TDTmain10InitialiseEv+266>: st %r2,1500(%r12)
0x007cc836 <_ZN7TDTmain10InitialiseEv+270>: l %r12,96(%r11)
0x007cc83a <_ZN7TDTmain10InitialiseEv+274>: l %r1,16(%r13)
0x007cc83e <_ZN7TDTmain10InitialiseEv+278>: basr %r14,%r1
0x007cc840 <_ZN7TDTmain10InitialiseEv+280>: st %r2,1504(%r12)
0x007cc844 <_ZN7TDTmain10InitialiseEv+284>: l %r2,96(%r11)
0x007cc848 <_ZN7TDTmain10InitialiseEv+288>: lhi %r3,0
0x007cc84c <_ZN7TDTmain10InitialiseEv+292>: l %r1,20(%r13)
0x007cc850 <_ZN7TDTmain10InitialiseEv+296>: basr %r14,%r1
0x007cc852 <_ZN7TDTmain10InitialiseEv+298>: l %r1,96(%r11)
0x007cc856 <_ZN7TDTmain10InitialiseEv+302>: lhi %r3,0
0x007cc85a <_ZN7TDTmain10InitialiseEv+306>: st %r3,1484(%r1)
0x007cc85e <_ZN7TDTmain10InitialiseEv+310>: l %r1,24(%r13)
0x007cc862 <_ZN7TDTmain10InitialiseEv+314>: l %r3,96(%r11)
0x007cc866 <_ZN7TDTmain10InitialiseEv+318>: ahi %r3,276
0x007cc86a <_ZN7TDTmain10InitialiseEv+322>: lr %r2,%r1
0x007cc86c <_ZN7TDTmain10InitialiseEv+324>: lhi %r4,254
0x007cc870 <_ZN7TDTmain10InitialiseEv+328>: l %r1,28(%r13)
0x007cc874 <_ZN7TDTmain10InitialiseEv+332>: basr %r14,%r1
0x007cc876 <_ZN7TDTmain10InitialiseEv+334>: l %r4,168(%r11)
0x007cc87a <_ZN7TDTmain10InitialiseEv+338>: lm %r11,%r15,156(%r11)
0x007cc87e <_ZN7TDTmain10InitialiseEv+342>: br %r4
End of assembler dump.
------------------------
echo 1 > /proc/sys/kernel/userprocess_debug is also done and here is when
SIGILL happens, i think
st: Version 20040318, fixed bufsize 32768, s/g segs 256
crw_info : CRW reports slct=0, oflw=0, chn=0, rsc=3, anc=1, erc=4, rsid=9
User process fault: interruption code 0x40006
CPU: 0 Not tainted
Process crcat (pid: 12533, task: 0000000000780878, ksp: 000000001140f4f0)
User PSW : 0705e00080000000 00000000007cc76e (0x7cc76e)
User GPRS: 0000000000000000 000002000000027f 000000000176c4c8
0000000000000000
00000000807ccfda 0000000000000000 0000000000000000
000000007ffff4a8
0000000000422d40 00000000800ae330 0000000040015be4
000000007fffa540
0000020000002000 00000200807cc730 00000000807ccfe4
000000007fffa540
User Code: 58 10 b0 60 a7 28 00 00 50 20 15 d0 58 10 b0 60 a7 38 00 00
Regards,
Raja
On Fri, Nov 20, 2009 at 12:03 PM, Christian Borntraeger <
[email protected]> wrote:
> Am Freitag 20 November 2009 11:53:44 schrieb rui:
> > Hi,
> >
> > The problem is, it happens at the start of the below mentioned function
> > TDmain::Initialise (this=0x176c4c8) at crutil2.cpp:7571
> > Before there was a call to srand(time(NULL)) there(the first line), i
> > thought that was the problem, i have removed it now but it comes on the
> very
> > first line of the function -- the call stack seems like corrupted, for i
> > don't know what reason!
> >
> > cat /proc/cpuinfo
> > vendor_id : IBM/S390
> > # processors : 1
> > bogomips per cpu: 348.97
> > processor 0: version = FF, identification = 0ECA7E, machine = 2096
>
> 2096 indicates a z9
> [...]
>
> > pc 0x7cc76e 0x7cc76e <TDmain::Initialise()+70>
>
> The instruction before this address is certainly interesting.
>
>
> > (gdb) print Initialise
> > $1 = &TDmain::Initialise()
> > (gdb) x/i Initialise
> > 0x7cc728 <_ZN7TDmain10InitialiseEv>: stm %r11,%r15,44(%r15)
>
>
> Can you show the full disassembly of Initialize (use the disassemble
> command)?
> A SIGILL can come for several reasons:
> - opcode of newer machines (unlikely on a z9)
> - specification exception
> - data exception
> and more.
>
> In addition to the disassemble output, you can also do (as root)
> echo 1 > /proc/sys/kernel/userprocess_debug
>
> This will print some info in dmesg for exceptions in userspace.
>
> ----------------------------------------------------------------------
> For LINUX-390 subscribe / signoff / archive access instructions,
> send email to [email protected] with the message: INFO LINUX-390 or
> visit
> http://www.marist.edu/htbin/wlvindex?LINUX-390
>
----------------------------------------------------------------------
For LINUX-390 subscribe / signoff / archive access instructions,
send email to [email protected] with the message: INFO LINUX-390 or visit
http://www.marist.edu/htbin/wlvindex?LINUX-390