Bug 875077

Summary: vmstat crashing on s390x
Product: Red Hat Enterprise Linux 6 Reporter: Martin Kyral <mkyral>
Component: procpsAssignee: Jaromír Cápík <jcapik>
Status: CLOSED ERRATA QA Contact: Martin Kyral <mkyral>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: 6.4CC: albert, ovasik, rvokal
Target Milestone: rc   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: procps-3.2.8-25.el6 Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2012-11-15 13:41:05 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On:    
Bug Blocks: 881827    
Attachments:
Description Flags
core dump of 'vmstat 1' on s390x none

Description Martin Kyral 2012-11-09 13:25:09 UTC
Created attachment 641529 [details]
core dump of 'vmstat 1' on s390x

Description of problem:
On s390x boxes, vmstat is crashing with "Floating point exception":

[root@ibm-z10-29 ~]# vmstat 1
procs -----------memory---------- ---swap-- -----io---- --system-- -----cpu-----
 r  b   swpd   free   buff  cache   si   so    bi    bo   in   cs us sy id wa st
 0  0      0 106892  32752 647648    0    0    73    71    0  118  3  2  0  0 96
Floating point exception (core dumped)
[root@ibm-z10-29 ~]# echo $?
136


Version-Release number of selected component (if applicable):
procps-3.2.8-24.el6

How reproducible:
Always


Steps to Reproduce:
1. vmstat 1
  
Actual results:
vmstat crashes after printing several lines of output (one or two in most cases)


Expected results:
vmstat produces output at given rate until user terminates it


Additional info:
Other supported platforms are not affected.
Core dump attached.

Comment 2 Martin Kyral 2012-11-09 16:32:18 UTC
Issue found during errata testing. It is present in procps-3.2.8-23.el6 (current released version) too.

Comment 3 Martin Kyral 2012-11-13 14:38:14 UTC
core dump analysis:

Core was generated by `vmstat 1'.
Program terminated with signal 8, Arithmetic exception.
#0  0x0000000080003290 in new_format (argc=<value optimized out>, argv=<value optimized out>)
    at /usr/include/bits/stdio2.h:105

warning: Source file is more recent than executable.
105       return __printf_chk (__USE_FORTIFY_LEVEL - 1, __fmt, __va_arg_pack ());
(gdb) i th
* 1 Thread 27615  0x0000000080003290 in new_format (argc=<value optimized out>, argv=<value optimized out>)
    at /usr/include/bits/stdio2.h:105
(gdb) t a a bt

Thread 1 (Thread 27615):
#0  0x0000000080003290 in new_format (argc=<value optimized out>, argv=<value optimized out>)
    at /usr/include/bits/stdio2.h:105
#1  main (argc=<value optimized out>, argv=<value optimized out>) at vmstat.c:726

Comment 4 Jaromír Cápík 2012-11-13 16:13:00 UTC
The problem is caused by the platform/kernel. The sum of all ticks (user+system+idle+io+stl) is zero. That for sure distorts the stats. I can make vmstat more robust for cases like that.

Comment 8 errata-xmlrpc 2012-11-15 13:41:05 UTC
Since the problem described in this bug report should be
resolved in a recent advisory, it has been closed with a
resolution of ERRATA.

For information on the advisory, and where to find the updated
files, follow the link below.

If the solution does not work for you, open a new bug report.

http://rhn.redhat.com/errata/RHBA-2012-1463.html