Bug 736396

Summary: Un-initialized "DBusError" causes HAL abort
Product: Red Hat Enterprise Linux 6 Reporter: Qianfeng Zhang <frzhang>
Component: halAssignee: Richard Hughes <rhughes>
Status: CLOSED WONTFIX QA Contact: Desktop QE <desktop-qa-list>
Severity: medium Docs Contact:
Priority: medium    
Version: 6.1CC: tpelka
Target Milestone: rc   
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2014-10-07 22:35:56 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:
Bug Depends On:    
Bug Blocks: 782183    
Attachments:
Description Flags
Call trace recorded from the core file
none
patch which seems have solved the issue none

Description Qianfeng Zhang 2011-09-07 15:20:06 UTC
Created attachment 521911 [details]
Call trace recorded from the core file

Description of problem:
   In Huawei's Hardware testing Lab,  the testing engineer can emulating the behaviors of disconnecting/connecting the usb keyboard/mouse by continuously rebooting the BMC console (integated in their Blade Board). After many times of 
disconnecting/connecting the usb keyboard/mouse, the "hald" daemon will disappear
left no information.  By starting the "hald" with option "--daemon=yes --use-syslog --retain-privileges", the core information can be collected. 

A call trace recorded from the core is attached. 

From a simple analysis of the codes following the call trace, we can see that the "DBusError" local variable used in reply_from_singleton_device_changed() is not initialized, and this will cause the hald process to abort with the call path:
    
"reply_from_singleton_device_changed" => "dbus_set_error_from_message" =>  "_dbus_return_val_if_error_is_set" => "_dbus_return_val_if_fail" => 
 "_dbus_warn_check_failed" => "_dbus_abort" =>  "abort"

The issue occurs on both RHEL6.1 for i686 and x86-64 with the following packages:
   hal-0.5.14-11.el6
   dbus-1.2.24-4
   glibc-2.12-1.25
   kernel-2.6.32-131.0.15.el6
   

How reproducible:

  It is very hard to reproduce the issue in ordinary Linux server/Thinkpad environment.  But very ease to reproduce the issue in Huawei's environment since 
the BMC console is able to emulating the disconnecting/connecting of the USB devices while rebooting  and the BMC console can be rebooted by a script calling "ipmitool" frequently

Solving:

   The attached patch has been tested to be able to solve the issue

Comment 1 Qianfeng Zhang 2011-09-07 15:21:57 UTC
Created attachment 521914 [details]
patch which seems have solved the issue

Comment 3 RHEL Program Management 2011-09-07 15:38:28 UTC
This request was evaluated by Red Hat Product Management for
inclusion in the current release of Red Hat Enterprise Linux.
Because the affected component is not scheduled to be updated
in the current release, Red Hat is unfortunately unable to
address this request at this time. Red Hat invites you to
ask your support representative to propose this request, if
appropriate and relevant, in the next release of Red Hat
Enterprise Linux. If you would like it considered as an
exception in the current release, please ask your support
representative.

Comment 6 RHEL Program Management 2012-07-10 06:19:56 UTC
This request was not resolved in time for the current release.
Red Hat invites you to ask your support representative to
propose this request, if still desired, for consideration in
the next release of Red Hat Enterprise Linux.

Comment 7 RHEL Program Management 2012-07-10 23:23:17 UTC
This request was erroneously removed from consideration in Red Hat Enterprise Linux 6.4, which is currently under development.  This request will be evaluated for inclusion in Red Hat Enterprise Linux 6.4.

Comment 8 RHEL Program Management 2012-09-07 05:17:38 UTC
This request was evaluated by Red Hat Product Management for
inclusion in the current release of Red Hat Enterprise Linux.
Because the affected component is not scheduled to be updated
in the current release, Red Hat is unable to address this
request at this time.

Red Hat invites you to ask your support representative to
propose this request, if appropriate, in the next release of
Red Hat Enterprise Linux.

Comment 9 RHEL Program Management 2013-10-14 01:00:10 UTC
This request was evaluated by Red Hat Product Management for
inclusion in the current release of Red Hat Enterprise Linux.
Because the affected component is not scheduled to be updated
in the current release, Red Hat is unable to address this
request at this time.

Red Hat invites you to ask your support representative to
propose this request, if appropriate, in the next release of
Red Hat Enterprise Linux.