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