Bug 1082999

Summary: [WGT] Win 2008 32bit: Detected circular dependencies demand starting RHEV Spice Agent.
Product: Red Hat Enterprise Linux 7 Reporter: Jiri Belka <jbelka>
Component: virtio-winAssignee: Sameeh Jubran <sjubran>
virtio-win sub component: qemu-ga-win QA Contact: xiagao
Status: CLOSED ERRATA Docs Contact:
Severity: medium    
Priority: medium CC: ailan, chayang, ddepaula, dfediuck, ghammer, juzhang, knoel, lijin, lmiksik, lveyde, michen, rbalakri, Rhev-m-bugs, sbonazzo, sjubran, srevivo, virt-maint, xiagao, ylavi, yvugenfi
Version: 7.2   
Target Milestone: pre-dev-freeze   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2018-04-10 06:28:08 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: 990629, 1288337    

Description Jiri Belka 2014-04-01 09:55:36 UTC
Description of problem:
It seems we have either back old issue or it was not tested on all Windows versions, see BZ927941

Level	Date and Time	Source	Event ID	Task Category
Error	4/1/2014 9:20:22 AM	Service Control Manager	7009	None	A timeout was reached (30000 milliseconds) while waiting for the QEMU Guest Agent service to connect.
Error	4/1/2014 9:20:17 AM	Service Control Manager	7009	None	A timeout was reached (30000 milliseconds) while waiting for the QEMU Guest Agent service to connect.
Error	4/1/2014 9:20:12 AM	Service Control Manager	7009	None	A timeout was reached (30000 milliseconds) while waiting for the QEMU Guest Agent service to connect.
Error	4/1/2014 9:20:07 AM	Service Control Manager	7009	None	A timeout was reached (30000 milliseconds) while waiting for the QEMU Guest Agent service to connect.
Error	4/1/2014 9:20:02 AM	Service Control Manager	7009	None	A timeout was reached (30000 milliseconds) while waiting for the QEMU Guest Agent service to connect.
Error	4/1/2014 9:19:57 AM	Service Control Manager	7009	None	A timeout was reached (30000 milliseconds) while waiting for the QEMU Guest Agent service to connect.
Error	4/1/2014 9:19:52 AM	Service Control Manager	7009	None	A timeout was reached (30000 milliseconds) while waiting for the QEMU Guest Agent service to connect.
Error	4/1/2014 9:19:33 AM	Service Control Manager	7000	None	"The VirtIO-Serial Service service failed to start due to the following error: 
The specified procedure could not be found."
Error	4/1/2014 9:19:33 AM	Service Control Manager	7000	None	"The VirtIO-Serial Service service failed to start due to the following error: 
The specified procedure could not be found."
Error	4/1/2014 9:19:33 AM	Service Control Manager	7017	None	Detected circular dependencies demand starting RHEV Spice Agent. Check the service dependency tree.


Version-Release number of selected component (if applicable):
3.3.14

How reproducible:
100%

Steps to Reproduce:
1. install WGT on clean Windows 2008 32bit
2. check eventvwr/System
3.

Actual results:
critical events

Expected results:
no spam

Additional info:
in fact all agents work OK, this is just about critical events in eventlog

Comment 1 Lev Veyde 2014-04-01 10:30:53 UTC
My guess is that it's the same issue - as due to the change in the KMDF version the VirtIO-Serial driver can't be installed right away (before the system restarted), and thus all dependant services fail.

Comment 2 Gal Hammer 2014-04-08 14:44:51 UTC
(In reply to Lev Veyde from comment #1)
> My guess is that it's the same issue - as due to the change in the KMDF
> version the VirtIO-Serial driver can't be installed right away (before the
> system restarted), and thus all dependant services fail.

So the installer should handle it, no? If the the reboot flag is set after installing the driver then the installer should not start the guest service and request the user to reboot.

Comment 3 Lev Veyde 2014-04-08 15:22:38 UTC
(In reply to Gal Hammer from comment #2)
> (In reply to Lev Veyde from comment #1)
> > My guess is that it's the same issue - as due to the change in the KMDF
> > version the VirtIO-Serial driver can't be installed right away (before the
> > system restarted), and thus all dependant services fail.
> 
> So the installer should handle it, no? If the the reboot flag is set after
> installing the driver then the installer should not start the guest service
> and request the user to reboot.

The installer can't handle it since we don't support staged installations.

In order to handle the KMDF issue correctly we'll need to modify the installation to use a special logic only under Windows 2008 Server (non R2 version) i.e. install all the dependant services in a disabled state and then have a special daemon that will enable them following successful VirtIO-Serial devices installation.

Comment 4 Ronen Hod 2014-05-08 09:35:14 UTC
On 05/08/2014 12:07 PM, Lev Veyde wrote:
> Hi Gal,
>
> As we already discussed, unfortunately that is not possible - our installers 
> don't support staged installations, so we can't continue the setup after 
> reboot.
>
> Moreover there is no need to check for "REBOOT REQUIRED" flag, as the situation
> is the same all the time under W2K8, and is caused by the fact that another 
> version of KMDF is used by that OS.

So it looks like since you cannot reboot before installing the services, there is no way to avoid the "circular dependencies" Windows error message.
At least we need to make it work, so the options that I see are:
1. If it works, configure the service's properties so that it restarts several times upon failures.
2. Inside the service, retry to connect with the driver.

Comment 5 Lev Veyde 2014-05-27 13:49:17 UTC
(In reply to Ronen Hod from comment #4)
> On 05/08/2014 12:07 PM, Lev Veyde wrote:
> > Hi Gal,
> >
> > As we already discussed, unfortunately that is not possible - our installers 
> > don't support staged installations, so we can't continue the setup after 
> > reboot.
> >
> > Moreover there is no need to check for "REBOOT REQUIRED" flag, as the situation
> > is the same all the time under W2K8, and is caused by the fact that another 
> > version of KMDF is used by that OS.
> 
> So it looks like since you cannot reboot before installing the services,
> there is no way to avoid the "circular dependencies" Windows error message.
> At least we need to make it work, so the options that I see are:
> 1. If it works, configure the service's properties so that it restarts
> several times upon failures.
> 2. Inside the service, retry to connect with the driver.

I'll check if the failure on restart option works here - since it's a dependency issue rather than a service failure. However even if it works we're not safe here since we can't know for sure how much time it will take the system to actually install the drivers (following first reboot).

Comment 6 Doron Fediuck 2014-06-24 12:37:24 UTC
Lev, any updates?

Comment 13 Jiri Belka 2014-08-29 10:10:50 UTC
This seems to impact new feature - ISNOREBOOT.

D:\RHEV-toolsSetup.exe ISSILENTMODE ISNOREBOOT causes no reboot after WGT are installed and because of the issue described above GA doesn't run.

Seen on w2k8 32bit and w2k8 64bit.

Comment 14 Eyal Edri 2014-11-13 13:37:10 UTC
this bug is propose to clone to 3.4.z, but missed the 3.4.4 builds.
moving to 3.4.5 - please clone once ready.

Comment 21 Gal Hammer 2016-08-03 14:59:51 UTC
Should be fixed at the rhev tool installer level. Postpone for now, but should moved to rhev.

Comment 22 xiagao 2017-03-01 02:58:44 UTC
Test it on the following pkgs:

3.10.0-563.el7.x86_64
qemu-img-rhev-2.8.0-4.el7.x86_64
virtio-win-1.9.0-3.el7.noarch

Steps:
1.install win2k8-32 guest with virtio-serial.
2.install virtio-serial, pop up reboot request
3.before executing requested reboot, install qemu-ga
4.check eventvwr

actual results:
several errors in eventvwr,messages like this:
"A timeout was reached (30000 milliseconds) while waiting for the QEMU Guest Agent service to connect."

Check the service status,qemu guest agent does not start.

Comment 26 Sameeh Jubran 2017-09-07 14:24:21 UTC
This issue should be resolved by the patches I've sent to upstream. They are currently waiting for the maintainer's review and once they're in I'll apply them to the downstream and update this BZ.

The patch series can be found here:
http://lists.nongnu.org/archive/html/qemu-devel/2017-08/msg02398.html

Comment 27 Sameeh Jubran 2017-10-19 17:05:44 UTC
Should be fixed by this build, lets test it.

https://brewweb.engineering.redhat.com/brew/taskinfo?taskID=14305079

Comment 28 xiagao 2017-10-31 02:01:59 UTC
Sameeh hi,
Should I verify this bug with this package?
https://bugzilla.redhat.com/show_bug.cgi?id=990629#c46

And can I verify this bug with the same method with https://bugzilla.redhat.com/show_bug.cgi?id=990629#c47 ?

Thanks,
xiaoling

Comment 29 Sameeh Jubran 2017-10-31 08:23:02 UTC
Yes, please do these bugs are not exactly duplicates but they are both solved by this package.

Comment 30 xiagao 2017-10-31 09:30:07 UTC
(In reply to Sameeh Jubran from comment #29)
> Yes, please do these bugs are not exactly duplicates but they are both
> solved by this package.

Thanks, can I verify this bug with steps https://bugzilla.redhat.com/show_bug.cgi?id=990629#c47 ?

Comment 31 Sameeh Jubran 2017-10-31 11:21:25 UTC
(In reply to xiagao from comment #30)
> (In reply to Sameeh Jubran from comment #29)
> > Yes, please do these bugs are not exactly duplicates but they are both
> > solved by this package.
> 
> Thanks, can I verify this bug with steps
> https://bugzilla.redhat.com/show_bug.cgi?id=990629#c47 ?

Yes this is one possible way to reproduce.

Comment 32 xiagao 2017-11-02 04:58:57 UTC
With the latest package.Did not hit this issue.
https://brewweb.engineering.redhat.com/brew/taskinfo?taskID=14419730

Reproduced this bug on the following pkgs:
qemu-ga-win-2.9.1-2.el7ev.noarch
qemu-kvm-rhev-2.9.0-16.el7.x86_64

Steps:
1.install win2k8-32 guest with virtio-serial.
2.install virtio-serial, pop up reboot request
3.before executing requested reboot, install qemu-ga
4.check eventvwr

actual results:
no error info

BTW:
Check the service status,qemu guest agent service is started.
Check run->msinfo32 -> virtioserial service is stopped.
There is no response when sending cmd from host side.
After guest reboot, virtio serial service is running.
There is response from host now.

Verify this bug.

Comment 33 xiagao 2017-11-06 02:59:18 UTC
I will verify this bug when official version come out.
So, reassign it first.

Comment 34 Sameeh Jubran 2017-11-07 12:12:47 UTC
I have created an official build, lets test it:
https://brewweb.engineering.redhat.com/brew/taskinfo?taskID=14484052

Comment 35 xiagao 2017-11-08 06:04:26 UTC
Reproduced this bug on the following pkgs:
qemu-ga-win-2.9.2-2.el7ev.noarch
qemu-kvm-rhev-2.9.0-16.el7.x86_64

Steps:
1.install win2k8-32 guest with virtio-serial.
2.install virtio-serial, pop up reboot request
3.before executing requested reboot, install qemu-ga
4.check eventvwr

actual results:
no error info

BTW:
Check the service status,qemu guest agent service is started.
Check run->msinfo32 -> virtioserial service is stopped.
There is no response when sending cmd from host side.
After guest reboot, virtio serial service is running.
There is response from host now.

Verify this bug.

Comment 37 errata-xmlrpc 2018-04-10 06:28:08 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://access.redhat.com/errata/RHBA-2018:0657