Bug 154100 - assertion failrue in semaphore.h caused by perfmon
Summary: assertion failrue in semaphore.h caused by perfmon
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Red Hat Enterprise Linux 4
Classification: Red Hat
Component: kernel
Version: 4.0
Hardware: ia64
OS: Linux
medium
medium
Target Milestone: ---
: ---
Assignee: Geoff Gustafson
QA Contact: Brian Brock
URL:
Whiteboard:
Depends On:
Blocks: 156322
TreeView+ depends on / blocked
 
Reported: 2005-04-07 09:53 UTC by Stephane Eranian
Modified: 2007-11-30 22:07 UTC (History)
5 users (show)

Fixed In Version: RHSA-2005-514
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2005-10-05 12:57:09 UTC
Target Upstream Version:
Embargoed:


Attachments (Terms of Use)
fixes all outstanding problem with perfmon for RHEL4 (15.37 KB, patch)
2005-04-22 14:51 UTC, Stephane Eranian
no flags Details | Diff


Links
System ID Private Priority Status Summary Last Updated
Red Hat Product Errata RHSA-2005:514 0 qe-ready SHIPPED_LIVE Important: Updated kernel packages available for Red Hat Enterprise Linux 4 Update 2 2005-10-05 04:00:00 UTC

Description Stephane Eranian 2005-04-07 09:53:14 UTC
From Bugzilla Helper:
User-Agent: Mozilla/5.0 (X11; U; Linux ia64; en-US; rv:1.7.5) Gecko/20050105 Debian/1.7.5-1

Description of problem:
A perfmon bug was recently uncovered in the mainline kernel. The
function pfm_handle_work() may call down_interruptible() with interrupts
disabled. The kernel is compiled to detect this condition and that triggers
an assertion failure under certain circumstances. The bug can be triggered
by using the HP Caliper tool.

The fix for this problem has been sent to the IA-64 kernel maintainer.
A fix should be posted for RHEL4 once I get access to your latest sources.


Version-Release number of selected component (if applicable):
kernel-2.6.9-5.EL

How reproducible:
Sometimes

Steps to Reproduce:
1. run HP Caliper
2.
3.
  

Actual Results:  kernel: Debug: sleeping function called from invalid context at include/asm/semaphore.h:79
kernel: in_atomic():0[expected: 0], irqs_disabled():1
kernel: Call Trace:
kernel:  [<a000000100016a40>] show_stack+0x80/0xa0
kernel:  [<a000000100016a90>] dump_stack+0x30/0x60
kernel:  [<a000000100063650>] __might_sleep+0x190/0x260
kernel:  [<a00000010002a7c0>] pfm_handle_work+0x1e0/0xf00
kernel:  [<a000000100017400>] do_notify_resume_user+0x80/0x120
kernel:  [<a00000010000f920>] notify_resume_user+0x40/0x60
kernel:  [<a00000010000f850>] skip_rbs_switch+0xb0/0xc0


Additional info:

Comment 2 Stephane Eranian 2005-04-22 14:51:48 UTC
Created attachment 113559 [details]
fixes all outstanding problem with perfmon for RHEL4

This patches fixes ALL know issues with perfmon on RHEL4.
this includes the assertion failures of this report.
Moreover, the patch also fixes the issues reported in bug#136474

The patch adds one new feature:

There are times when new hardware is brought to the market with PMU features
that are very different from the previous generation.  When this happens,
certain early-access customers still want the value proposition of a well
tested
linux kernel from a trusted company, but they also want the ability, when
needed, to monitor and improve the performance of their applications using that

trusted kernel on the new processor. For those customers it may not be possible

to wait for the next round of official distro releases to get updated PMU
support in perfmon. In the future perfmon will allow plug-in modules to
update PMU descriptions that will facilitate this kind of operations. In the
meantime, this patch provides a way to plug in an alternate, basic, and GPL'ed
PMU subsystem to help those customers with their monitoring needs or for
specialty work. It can also be used in case of serious unexpected bugs in
perfmon.

Practically, this patch provides a way to register an alternate subsystem with
its own interrupt handler. Mutual exclusion between the two subsystems is 
guaranteed,hence no conflict can arise from both subsystem being present.

Comment 13 Red Hat Bugzilla 2005-10-05 12:57:09 UTC
An advisory has been issued which should help the problem
described in this bug report. This report is therefore being
closed with a resolution of ERRATA. For more information
on the solution and/or where to find the updated files,
please follow the link below. You may reopen this bug report
if the solution does not work for you.

http://rhn.redhat.com/errata/RHSA-2005-514.html



Note You need to log in before you can comment on or make changes to this bug.