Bug 804723

Summary: ipmiutil lan segmentation fault
Product: [Fedora] Fedora Reporter: Shawn Bohrer <shawn.bohrer>
Component: ipmiutilAssignee: Andy Cress <arcress>
Status: CLOSED ERRATA QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: 16CC: arcress
Target Milestone: ---   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: ipmiutil-2.8.2-1.el6 Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2012-04-16 17:58:44 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description Shawn Bohrer 2012-03-19 16:31:57 UTC
Description of problem:

Running 'ipmiutil lan' results in a segfault

Version-Release number of selected component (if applicable):
ipmiutil-2.7.9-3.fc16.x86_64
ipmiutil-debuginfo-2.7.9-3.fc16.x86_64

How reproducible:

Very.  It happens every time.

Steps to Reproduce:
1.Run 'ipmiutil lan'
  
Actual results:

# ipmiutil lan
ipmiutil ver 2.79
ilan ver 2.79 
-- BMC version 1.70, IPMI version 2.0 
ilan, GetPefEntry ...
PEFilter(01): 04 Fan event - enabled for alert
PEFilter(02): 04 Fan OK event - enabled for alert
PEFilter(03): 29 Battery event - enabled for alert
Segmentation fault (core dumped)

Additional info:

# gdb ipmiutil
GNU gdb (GDB) Fedora (7.3.50.20110722-10.fc16)
Copyright (C) 2011 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.  Type "show copying"
and "show warranty" for details.
This GDB was configured as "x86_64-redhat-linux-gnu".
For bug reporting instructions, please see:
<http://www.gnu.org/software/gdb/bugs/>...
Reading symbols from /usr/sbin/ipmiutil...Reading symbols from /usr/lib/debug/usr/sbin/ipmiutil.debug...done.
done.
(gdb) run lan
Starting program: /usr/sbin/ipmiutil lan
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib64/libthread_db.so.1".
ipmiutil ver 2.79
ilan ver 2.79 
-- BMC version 1.70, IPMI version 2.0 
ilan, GetPefEntry ...
PEFilter(01): 04 Fan event - enabled for alert
PEFilter(02): 04 Fan OK event - enabled for alert
PEFilter(03): 29 Battery event - enabled for alert

Program received signal SIGSEGV, Segmentation fault.
0x000000000041bf51 in PefDesc (stype=<optimized out>, idx=<optimized out>) at /usr/include/bits/string3.h:144
warning: Source file is more recent than executable.
144	  return __builtin___strcat_chk (__dest, __src, __bos (__dest));
(gdb) bt
#0  0x000000000041bf51 in PefDesc (stype=<optimized out>, idx=<optimized out>) at /usr/include/bits/string3.h:144
#1  i_lan (argc=<optimized out>, argv=<optimized out>) at ilan.c:3881
#2  0x00000000004039be in main (argc=1, argv=0x7fffffffeb10) at ipmiutil.c:146
(gdb) info locals
pdesc = 0x4695b0 "Battery"
mystr = "Fan OK\000\000\260\365@57\000\000\000\001\000\000\000\000\000\000\000\034\277I", '\000' <repeats 12 times>
(gdb) frame 1
#1  i_lan (argc=<optimized out>, argv=<optimized out>) at ilan.c:3881
3881	              printf("PEFilter(%02d): %02x %s event - %s for %s\n",
(gdb) list
3876			 case 0x08: pa = "powercycle"; break;
3877			 case 0x10: pa = "OEMaction";  break;
3878			 case 0x20: pa = "NMI";  break;
3879	                 default:   pa = "no action"; 
3880	              }
3881	              printf("PEFilter(%02d): %02x %s event - %s for %s\n",
3882			     idx, PefRecord.sensor_type, 
3883	                     PefDesc(i,PefRecord.sensor_type), pc,pa);
3884		    }
3885		    if (fdebug) {  /* show raw PEFilter record */
(gdb) info locals
pc = <optimized out>
sz = 21
pa = 0x46fba5 "alert"
ret = <optimized out>
PefRecord = {rec_id = 4 '\004', fconfig = 128 '\200', action = 1 '\001', policy = 1 '\001', severity = 4 '\004', genid1 = 32 ' ', 
  genid2 = 255 '\377', sensor_type = 41 ')', sensor_no = 255 '\377', event_trigger = 239 '\357', data1 = 1 '\001', mask1 = 0 '\000', 
  res = "\000\377\000\000\377\000\000\377"}
LanRecord = {data = "\001\200\001p\002\337\242\002\000\000\001\000\025", '\000' <repeats 11 times>"\212, \001\214\065\067"}
i = <optimized out>
idx = <optimized out>
j = <optimized out>
c = <optimized out>
pstr = <optimized out>
bset = <optimized out>
ndest = 4
idest = <optimized out>
mystr = "\240:j\000\000\000\000\000ab\220\065\067\000\000\000\030\070b57\000\000\000 \000\000\000\060\000\000\000\240\351\377\377\377\177\000\000\320\350\377\377\377\177", '\000' <repeats 18 times>, "9oF\000\000\000\000\000\064oF\000\000\000\000"
fpefok = 1 '\001'


I also downloaded and built ipmiutil-2.8.2-1 from http://ipmiutil.sourceforge.net/ and it works as expected so it appears this bug has been fixed upstream in newer versions.

Comment 1 Fedora Update System 2012-03-21 14:14:56 UTC
ipmiutil-2.8.2-1.el6 has been submitted as an update for Fedora EPEL 6.
https://admin.fedoraproject.org/updates/ipmiutil-2.8.2-1.el6

Comment 2 Fedora Update System 2012-03-24 19:09:09 UTC
Package ipmiutil-2.8.2-1.el6:
* should fix your issue,
* was pushed to the Fedora EPEL 6 testing repository,
* should be available at your local mirror within two days.
Update it with:
# su -c 'yum update --enablerepo=epel-testing ipmiutil-2.8.2-1.el6'
as soon as you are able to.
Please go to the following url:
https://admin.fedoraproject.org/updates/FEDORA-EPEL-2012-0863/ipmiutil-2.8.2-1.el6
then log in and leave karma (feedback).

Comment 3 Shawn Bohrer 2012-03-26 16:22:24 UTC
(In reply to comment #2)
> Package ipmiutil-2.8.2-1.el6:
> * should fix your issue,
> * was pushed to the Fedora EPEL 6 testing repository,
> * should be available at your local mirror within two days.
> Update it with:
> # su -c 'yum update --enablerepo=epel-testing ipmiutil-2.8.2-1.el6'
> as soon as you are able to.
> Please go to the following url:
> https://admin.fedoraproject.org/updates/FEDORA-EPEL-2012-0863/ipmiutil-2.8.2-1.el6
> then log in and leave karma (feedback).

This looks like a package for RHEL 6, is that correct?  My bug report was on Fedora 16, can we get an updated package for F16 as well?

Comment 5 Fedora Update System 2012-04-16 17:58:44 UTC
ipmiutil-2.8.2-1.el6 has been pushed to the Fedora EPEL 6 stable repository.  If problems still persist, please make note of it in this bug report.