hercules-390 / hyperion

Hercules 390
Other
252 stars 68 forks source link

IPL of .ins file crashes Hercules #146

Open fbi-ranger opened 8 years ago

fbi-ranger commented 8 years ago

Try to start a first level install of zVM 6.3. The Hercules SYSG console (UA 0000) is active. Hercules crashes with Segmentation fault. Following the Hercules messages on the HMC:

HC01603I ipl /local/sys1/install/CPDVD/630vm.ins                                                      
HHC00811I Processor CP06: architecture mode ESA/390                                                    
HHC00811I Processor CP07: architecture mode ESA/390                                                    
HHC00811I Processor CP00: architecture mode ESA/390                                                    
HHC00811I Processor CP01: architecture mode ESA/390                                                    
HHC00811I Processor CP03: architecture mode ESA/390                                                    
HHC00811I Processor CP04: architecture mode ESA/390                                                    
HHC00811I Processor CP05: architecture mode ESA/390                                                    
HHC00811I Processor CP02: architecture mode ESA/390                                                    
HHC00814I Processor CP00: SIGP Set architecture mode            (12) CP00, PARM 00000001: CC 0         
HHC00811I Processor CP00: architecture mode z/Arch                                                     
herc =====> /usr/local/bin/iml-hercules: line 2: 35874 Segmentation fault      /local/sys1/s390/hercules/bin/hercules -f /etc/hercules.cnf -b /local/sys1/s390/etc/herclogo.txt920,211; mips 85.99; I/O      0

Latest GIT commit compiled with and without -O3.

OS Version is openSUSE 13.2.

gcc version: gcc -v
Using built-in specs.
COLLECT_GCC=gcc
COLLECT_LTO_WRAPPER=/usr/lib64/gcc/x86_64-suse-linux/4.8/lto-wrapper
Target: x86_64-suse-linux
Configured with: ../configure --prefix=/usr --infodir=/usr/share/info --mandir=/usr/share/man --libdir=/usr/lib64 --libexecdir=/usr/lib64 --enable-languages=c,c++,objc,fortran,obj-c++,java,ada --enable-checking=release --with-gxx-include-dir=/usr/include/c++/4.8 --enable-ssp --disable-libssp --disable-plugin --with-bugurl=http://bugs.opensuse.org/ --with-pkgversion='SUSE Linux' --disable-libgcj --disable-libmudflap --with-slibdir=/lib64 --with-system-zlib --enable-__cxa_atexit --enable-libstdcxx-allocator=new --disable-libstdcxx-pch --enable-version-specific-runtime-libs --enable-linker-build-id --enable-linux-futex --program-suffix=-4.8 --without-system-libunwind --with-arch-32=i586 --with-tune=generic --build=x86_64-suse-linux --host=x86_64-suse-linux
Thread model: posix
gcc version 4.8.3 20140627 [gcc-4_8-branch revision 212064] (SUSE Linux) 
ivan-w commented 8 years ago

Florian,

This is all very strange. This is VERY similar to the alignment issue (except it only affected -O3 builds).

Could you try doing a debug build, (--enable-debug during ./configure), allow core files (ulimit -c unlimited) and then use gdb to see where the heck you are getting this SIGSEGV.

Thanks, Ivan

fbi-ranger commented 8 years ago

Ivan,

Thanks for that hint. I can only proceed tomorrow. However I setup a system on DEBIAN 8.5. There the same behaviour happened. Same Segmentation Error as under openSUSE.

Florian

fbi-ranger commented 8 years ago

Ivan,

Could not stop. Here you have the debug info:

[New Thread 0x7fffded8e700 (LWP 11245)]4DA 64.......Z        instcnt 53,362,297; mips 53.28; I/O      0

Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread 0x7fffdee8f700 (LWP 11244)]
0x00007ffff588a4e3 in pthread_mutex_trylock () from /lib64/libpthread.so.0
Missing separate debuginfos, use: zypper install libbz2-1-debuginfo-1.0.6-29.4.1.x86_64 libz1-debuginfo-1.2.8-5.1.2.x86_64
(gdb) quit 
A debugging session is active.

        Inferior 1 [process 11196] will be killed.

Quit anyway? (y or n) n
Not confirmed.
(gdb) backtrace 
#0  0x00007ffff588a4e3 in pthread_mutex_trylock () from /lib64/libpthread.so.0
#1  0x00007ffff6e38b56 in hthread_obtain_lock (plk=plk@entry=0x7ffff72a0040 <cacheblk+64>, 
    location=location@entry=0x7ffff709230c "cache.c:161") at hthreads.c:333
#2  0x00007ffff705b414 in cache_lock (ix=ix@entry=0) at cache.c:161
#3  0x00007ffff70788d8 in ckddasd_read_track (dev=0x16e7000, trk=-1, unitstat=0x7fffdee7b2ff "")
    at ckddasd.c:949
#4  0x00007ffff707288b in ckddasd_end (dev=<optimized out>) at ckddasd.c:1204
#5  0x00007ffff75e00a4 in z900_execute_ccw_chain (arg=arg@entry=0x16e7000) at channel.c:5519
#6  0x00007ffff75dd3f1 in call_execute_ccw_chain (arch_mode=<optimized out>, 
    pDevBlk=pDevBlk@entry=0x16e7000) at channel.c:6198
#7  0x00007ffff75dd536 in device_thread (arg=arg@entry=0x0) at channel.c:2332
#8  0x00007ffff6e38841 in hthread_func (arg2=0x7ffff00008c0) at hthreads.c:777
#9  0x00007ffff58880a4 in start_thread () from /lib64/libpthread.so.0
#10 0x00007ffff55bdcbd in clone () from /lib64/libc.so.6
ivan-w commented 8 years ago

Known problem !

Before IPLing the INS file, issue a dummy IPL to one of the CCKD file.

It's a bug in the CCKD cache handling code.

Ivan

fbi-ranger commented 8 years ago

Hi Ivan, very well. I did as you advised and it is working. But this must be new isn't it? Some weeks ago I didn't had this problem.

Florian