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 lists...@vm.marist.edu with the message: INFO LINUX-390 or visit
http://www.marist.edu/htbin/wlvindex?LINUX-390

Reply via email to