Bug 1536954

Summary: Issuing guest-fsfreeze-freeze cmd for the first time on a new qemu-ga,can not get response.
Product: Red Hat Enterprise Linux 7 Reporter: xiagao
Component: virtio-winAssignee: Sameeh Jubran <sjubran>
virtio-win sub component: qemu-ga-win QA Contact: Virtualization Bugs <virt-bugs>
Status: CLOSED DUPLICATE Docs Contact:
Severity: high    
Priority: high CC: ailan, lijin, mkalinin, phou, sjubran, wyu, xiagao
Version: 7.5Keywords: Reopened
Target Milestone: rc   
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-08-07 20:46:04 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: 1572801    
Attachments:
Description Flags
qga-restart-service
none
qemu ga from current upstream none

Description xiagao 2018-01-22 06:37:45 UTC
Description of problem:
Install a new qemu-ga and then issue guest-fsfreeze-freeze cmd from host,there is no response with fsfreeze cmd.

Version-Release number of selected component (if applicable):
qemu-kvm-rhev-2.10.0-17.el7.x86_64
qemu-ga-win-7.5.0-2.el7ev.noarch
virtio-win-1.9.4-2.el7

How reproducible:
100%

Steps to Reproduce:
1.Install qemu-ga msi pkg in guest
2.Issue guest-fsfreeze-freeze cmd from host
# nc -U /tmp/qga-bug.sock 
{"execute":"guest-ping"}
{"return": {}}
{"execute":"guest-fsfreeze-freeze"}


3.after about 5 mins, click restart button for QEMU Guest Agent service. pop up restart failed(detail info in attachment),then click start button for QEMU Guest Agent services,it is started.

4.Issue guest-fsfreeze-freeze cmd from host again.
{"execute":"guest-ping"}
{"return": {}}
{"execute":"guest-fsfreeze-freeze"}
{"return": 4}


Actual results:
after step 2, there is no response.
after step 4, fsfreeze cmd run well.

Expected results:
Issuing guest-fsfreeze-freeze cmd for the first time on a new qemu-ga,can get response.

Additional info:
Can reproduce it in qemu-ga-win-7.4.5-1, so it's not a regression.

Comment 2 xiagao 2018-01-22 06:40:19 UTC
Guest is win8.1-32.

Comment 3 xiagao 2018-01-22 06:41:34 UTC
Created attachment 1384223 [details]
qga-restart-service

Comment 4 Sameeh Jubran 2018-01-22 16:28:30 UTC
Hi,

Unfortunatlly I cant reproduce this! can you test earlier versions of the win drivers and see if this reproduces?

Comment 5 xiagao 2018-01-23 03:03:26 UTC
(In reply to Sameeh Jubran from comment #4)
> Hi,
> 
> Unfortunatlly I cant reproduce this! can you test earlier versions of the
> win drivers and see if this reproduces?

It can actually be reproduced in my testing env.
1) I tried 3 times for win8-32 guest with latest driver(145) and qemu-ga(qemu-ga-win-7.5.0-2), hit this issue once.So it's not 100% reproduce.

2) Can reproduce it with virtio-win-prewhql-137 driver and  qemu-ga-win-7.4.5-1 on win8.1-64 guest.

Comment 6 Sameeh Jubran 2018-01-23 09:20:57 UTC
Created attachment 1384778 [details]
qemu ga from current upstream

I have tried to reproduce many times, but I couldn't. It's interesting to see if this happens to upstream code too, can you please try and reproduce the issue with the attached build that I've built from upstream.

Comment 9 xiagao 2018-01-24 05:11:50 UTC
(In reply to Sameeh Jubran from comment #6)
> Created attachment 1384778 [details]
> qemu ga from current upstream
> 
> I have tried to reproduce many times, but I couldn't. It's interesting to
> see if this happens to upstream code too, can you please try and reproduce
> the issue with the attached build that I've built from upstream.

Can get error reply with your build. But vss service in guest is still running.


# nc -U /tmp/qga-bug.sock 

{"execute":"guest-ping"}
{"return": {}}
{"execute":"guest-fsfreeze-freeze"}
{"error": {"class": "GenericError", "desc": "timeout when try to receive Frozen event from VSS provider: Unspecified error"}}

Comment 10 Sameeh Jubran 2018-01-24 10:31:33 UTC
Hi xiaoling,

This bug was already fixed on upstream in the following commit:
https://github.com/qemu/qemu/commit/4d80d20fe12248956c07587376f5b5a741f74aa2

I'll apply it and create a mockup build for you to test.

Comment 13 xiagao 2018-01-25 02:35:21 UTC
(In reply to Sameeh Jubran from comment #11)
> https://brewweb.engineering.redhat.com/brew/taskinfo?taskID=15084654

It works like upstream version
steps:
1)boot up guest with qemu-ga installed.
2)do io test in c: disk
3)issue fsfreeze cmd
{"execute":"guest-fsfreeze-freeze"}
{"error": {"class": "GenericError", "desc": "timeout when try to receive Frozen event from VSS provider: Unspecified error"}}    --> expected

4)stop vss service in guest, no error info pop up.
5)check if qga works well
{"execute":"guest-ping"}
{"return": {}}


So, this bug is fixed in this build.

Comment 14 xiagao 2018-01-26 02:06:40 UTC
(In reply to xiagao from comment #13)
> (In reply to Sameeh Jubran from comment #11)
> > https://brewweb.engineering.redhat.com/brew/taskinfo?taskID=15084654
> 
> It works like upstream version
> steps:
> 1)boot up guest with qemu-ga installed.
> 2)do io test in c: disk
> 3)issue fsfreeze cmd
> {"execute":"guest-fsfreeze-freeze"}
> {"error": {"class": "GenericError", "desc": "timeout when try to receive
> Frozen event from VSS provider: Unspecified error"}}    --> expected
> 
> 4)stop vss service in guest, no error info pop up.
> 5)check if qga works well
> {"execute":"guest-ping"}
> {"return": {}}
> 
> 
> So, this bug is fixed in this build.

Hi Sameeh,
From the return info, "Unspecified error" is not friendly, can we change it or delete it? and is the timeout 10s ?

{"error": {"class": "GenericError", "desc": "timeout when try to receive Frozen event from VSS provider: Unspecified error"}}

Comment 15 Sameeh Jubran 2018-01-28 18:07:06 UTC
(In reply to xiagao from comment #14)
> (In reply to xiagao from comment #13)
> > (In reply to Sameeh Jubran from comment #11)
> > > https://brewweb.engineering.redhat.com/brew/taskinfo?taskID=15084654
> > 
> > It works like upstream version
> > steps:
> > 1)boot up guest with qemu-ga installed.
> > 2)do io test in c: disk
> > 3)issue fsfreeze cmd
> > {"execute":"guest-fsfreeze-freeze"}
> > {"error": {"class": "GenericError", "desc": "timeout when try to receive
> > Frozen event from VSS provider: Unspecified error"}}    --> expected
> > 
> > 4)stop vss service in guest, no error info pop up.
> > 5)check if qga works well
> > {"execute":"guest-ping"}
> > {"return": {}}
> > 
> > 
> > So, this bug is fixed in this build.
> 
> Hi Sameeh,
> From the return info, "Unspecified error" is not friendly, can we change it
> or delete it? and is the timeout 10s ?
Yes
> 
> {"error": {"class": "GenericError", "desc": "timeout when try to receive
> Frozen event from VSS provider: Unspecified error"}}
I'll see what I can do =)

Comment 16 Sameeh Jubran 2018-01-28 18:07:17 UTC
(In reply to xiagao from comment #14)
> (In reply to xiagao from comment #13)
> > (In reply to Sameeh Jubran from comment #11)
> > > https://brewweb.engineering.redhat.com/brew/taskinfo?taskID=15084654
> > 
> > It works like upstream version
> > steps:
> > 1)boot up guest with qemu-ga installed.
> > 2)do io test in c: disk
> > 3)issue fsfreeze cmd
> > {"execute":"guest-fsfreeze-freeze"}
> > {"error": {"class": "GenericError", "desc": "timeout when try to receive
> > Frozen event from VSS provider: Unspecified error"}}    --> expected
> > 
> > 4)stop vss service in guest, no error info pop up.
> > 5)check if qga works well
> > {"execute":"guest-ping"}
> > {"return": {}}
> > 
> > 
> > So, this bug is fixed in this build.
> 
> Hi Sameeh,
> From the return info, "Unspecified error" is not friendly, can we change it
> or delete it? and is the timeout 10s ?
Yes
> 
> {"error": {"class": "GenericError", "desc": "timeout when try to receive
> Frozen event from VSS provider: Unspecified error"}}
I'll see what I can do =)

Comment 17 Sameeh Jubran 2018-01-29 14:27:42 UTC
I dont think we want to do this change as it will require change in qemu`s error
handling code and not just qga which will make qga different than upstream code. We can just delete it but this isn`t good approach either.

Comment 18 Sameeh Jubran 2018-06-18 11:48:58 UTC
I think we can close this, please reopen in case you disagree.

Comment 19 xiagao 2018-06-20 06:02:01 UTC
(In reply to Sameeh Jubran from comment #10)
> Hi xiaoling,
> 
> This bug was already fixed on upstream in the following commit:
> https://github.com/qemu/qemu/commit/4d80d20fe12248956c07587376f5b5a741f74aa2
> 
> I'll apply it and create a mockup build for you to test.

We will test this bug on downstream build. So reopen it.

Comment 20 xiagao 2018-07-10 07:26:57 UTC
Verified this bug on mingw-qemu-ga-win-7.6.0-2.el7ev with win7-32 guest.
The steps are the same with comment 13.

{"execute":"guest-fsfreeze-freeze"}
{"error": {"class": "GenericError", "desc": "timeout when try to receive Frozen event from VSS provider: Unspecified error"}}

Comment 22 Marina Kalinin 2018-08-07 17:05:39 UTC
Xiaoling and Sameeh,

Looking into BZ#1596457 -> how different are the 2? Shouldn't one be a duplicate of another?

Comment 23 Sameeh Jubran 2018-08-07 20:28:50 UTC
(In reply to Marina from comment #22)
> Xiaoling and Sameeh,
> 
> Looking into BZ#1596457 -> how different are the 2? Shouldn't one be a
> duplicate of another?

They are not different as they are resolved by the same patch and can be marked as duplicates. BZ#1596457 makes it clear on how to reproduce the issue as this hang happens in a heavy IO environment. I could easily reproduce the hang after manually simulating such an environment.

Comment 24 Sameeh Jubran 2018-08-07 20:46:04 UTC

*** This bug has been marked as a duplicate of bug 1596457 ***