Bug 1234507

Summary: vioser.sys driver causing windows 2012 R2 server to crash
Product: Red Hat Enterprise Linux 7 Reporter: Robert McSwain <rmcswain>
Component: virtio-winAssignee: Gal Hammer <ghammer>
Status: CLOSED ERRATA QA Contact: Virtualization Bugs <virt-bugs>
Severity: urgent Docs Contact:
Priority: urgent    
Version: 7.0CC: ailan, bazulay, ecohen, ghammer, gklein, jspahr, juzhang, lijin, lmiksik, lsurette, michen, rbalakri, Rhev-m-bugs, rmcswain, virt-bugs, virt-maint, vrozenfe, wyu, yeylon
Target Milestone: pre-dev-freeze   
Target Release: ---   
Hardware: x86_64   
OS: Windows   
Whiteboard:
Fixed In Version: virtio-win-prewhql-0.1-107 Doc Type: Bug Fix
Doc Text:
NO_DOCS
Story Points: ---
Clone Of: Environment:
Last Closed: 2015-11-24 08:51:51 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:

Description Robert McSwain 2015-06-22 16:57:28 UTC
Description of problem:
We have a Windows 2012R2 server that will periodically crash and reboot.  Microsoft has analyzed the core dump and come back with the following response:

We have got the Dump analyzed and again we have found that it is the same driver (vioser.sys) which has caused the crash.
 
Cause
=====
Here the KMDF Verifier has caught a possible race condition issue in "Red Hat VirtIO Serial driver (vioser.sys)"
Here this driver vioser.sys is completing a cancellable WDFRequest. This driver has a cancellation routine set for the request and it should have called WdfRequestUnmarkCancelable() before calling WdfRequestComplete(). But here the driver hasn't done so. So, after calling WdfRequestUnmarkCancelable() it has to check for the return  status from the same routine and do a completion accordingly.
 
Please refer this msdn document => https://msdn.microsoft.com/en-us/library/windows/hardware/ff549983(v=vs.85).aspx

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 

Last occurrence was on  6/1/2015 at 9:27 AM Eastern from within the Windows guest.  RHEV logs will be in UTC.


Version:
vioser.sys version 62.71.104.8600

Comment 14 lijin 2015-07-31 04:39:30 UTC
Hi Gal,

Could you provide a method for QE to reproduce and verify?

Comment 15 Gal Hammer 2015-08-02 06:50:27 UTC
(In reply to lijin from comment #14)
> Hi Gal,
> 
> Could you provide a method for QE to reproduce and verify?

Sorry, but I don't know how to reproduce it. The patch that should fix this issue is based only on a code review.

Comment 16 lijin 2015-08-05 10:29:53 UTC
Hi Robert,

Could you give us a feedback once customer try the fixed version?So that we can make sure this issue is fixed and we may ship it in next official virtio-win package.

Thanks a lot.

Comment 17 Robert McSwain 2015-08-31 13:09:56 UTC
lijin,

From the customer:
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
We haven't had this issue again since we've updated the driver so it's probably safe to say it was a successful fix at this point.  Can we keep this ticket open until this fix makes it into the official driver?

Thanks for your help on this case.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

It looks like it was a success. Thank you and let's see about including this in official package.

Comment 22 errata-xmlrpc 2015-11-24 08:51:51 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.

https://rhn.redhat.com/errata/RHBA-2015-2513.html