All of lore.kernel.org
 help / color / mirror / Atom feed
* Re: [Qemu-devel] [PATCH v2 2/8] qemu-ga: move channel/transport functionalit
@ 2012-02-03  4:25 MATSUDA, Daiki
  2012-02-03 17:07 ` Michael Roth
  0 siblings, 1 reply; 7+ messages in thread
From: MATSUDA, Daiki @ 2012-02-03  4:25 UTC (permalink / raw)
  To: qemu-devel, Michael Roth

Hi, Michael!
Thank you for your working.

And I have a question the process id written in pid file.
If qemu-ga is ran as daemon, the parent process id not child is written
in pid file. So, id gotten by 'ps' command is different. Is it correct
work? Many other daemon writes child process id.

Regards
MATSUDA Daiki

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [Qemu-devel] [PATCH v2 2/8] qemu-ga: move channel/transport functionalit
  2012-02-03  4:25 [Qemu-devel] [PATCH v2 2/8] qemu-ga: move channel/transport functionalit MATSUDA, Daiki
@ 2012-02-03 17:07 ` Michael Roth
  2012-02-10  2:26   ` MATSUDA, Daiki
  0 siblings, 1 reply; 7+ messages in thread
From: Michael Roth @ 2012-02-03 17:07 UTC (permalink / raw)
  To: MATSUDA, Daiki; +Cc: qemu-devel

On 02/02/2012 10:25 PM, MATSUDA, Daiki wrote:
> Hi, Michael!
> Thank you for your working.
>
> And I have a question the process id written in pid file.
> If qemu-ga is ran as daemon, the parent process id not child is written
> in pid file. So, id gotten by 'ps' command is different. Is it correct
> work? Many other daemon writes child process id.
>
> Regards
> MATSUDA Daiki
>

Hi Matsuda,

Thank you for testing!

In the become_daemon() function, the parent exits immediately after the 
fork(), so only the child has the opportunity to write to the pid file. 
It calls getpid() to get the pid to write, which should be it's own 
lwpid. So I'm not seeing where there's an opportunity for the parent pid 
to be written.

Can you confirm? It seems to behave as expected for me:

[root@vm ~]# /home/mdroth/w/qemu-build/qemu-ga -d
** (process:7441): DEBUG: starting daemon
[root@vm ~]# ps aux | grep qemu-ga
root      7442  0.0  0.0  13792   348 ?        Ss   10:56   0:00 
/home/mdroth/w/qemu-build/qemu-ga -d
root      7471  0.0  0.1 109108   816 pts/2    R+   11:00   0:00 grep 
--color=auto qemu-ga
[root@vm ~]# cat /var/run/qemu-ga.pid
7442

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [Qemu-devel] [PATCH v2 2/8] qemu-ga: move channel/transport functionalit
  2012-02-03 17:07 ` Michael Roth
@ 2012-02-10  2:26   ` MATSUDA, Daiki
  2012-02-10  4:51     ` Michael Roth
  0 siblings, 1 reply; 7+ messages in thread
From: MATSUDA, Daiki @ 2012-02-10  2:26 UTC (permalink / raw)
  To: Michael Roth; +Cc: qemu-devel

(2012/02/04 2:07), Michael Roth wrote:
> On 02/02/2012 10:25 PM, MATSUDA, Daiki wrote:
>> Hi, Michael!
>> Thank you for your working.
>>
>> And I have a question the process id written in pid file.
>> If qemu-ga is ran as daemon, the parent process id not child is written
>> in pid file. So, id gotten by 'ps' command is different. Is it correct
>> work? Many other daemon writes child process id.
>>
>> Regards
>> MATSUDA Daiki
>>
>
> Hi Matsuda,
>
> Thank you for testing!
>
> In the become_daemon() function, the parent exits immediately after the
> fork(), so only the child has the opportunity to write to the pid file.
> It calls getpid() to get the pid to write, which should be it's own
> lwpid. So I'm not seeing where there's an opportunity for the parent pid
> to be written.
>
> Can you confirm? It seems to behave as expected for me:
>
> [root@vm ~]# /home/mdroth/w/qemu-build/qemu-ga -d
> ** (process:7441): DEBUG: starting daemon
> [root@vm ~]# ps aux | grep qemu-ga
> root 7442 0.0 0.0 13792 348 ? Ss 10:56 0:00
> /home/mdroth/w/qemu-build/qemu-ga -d
> root 7471 0.0 0.1 109108 816 pts/2 R+ 11:00 0:00 grep --color=auto qemu-ga
> [root@vm ~]# cat /var/run/qemu-ga.pid
> 7442
>

Hi, Michael.

Sorry, it will be my mistake. The child process id is written in pid file.

And in this week, I tried your Windows Guest Agent patches. It is a 
little hard way.

At the first I wrote my work.
0. my node OS is RHEL 6.1.
1. build some mingw packages (mingw32-gcc, mingw-32-glib2...)
2. apply your patches to qemu-kvm HEAD source. There is no error.
3. boot WinXP SP3 and Win Server 2008 R2 with VirtIO Console and Guest 
Agent options.
4. install VirtIO Serial driver for Windows in
http://alt.fedoraproject.org/pub/alt/virtio-win/latest/images/bin/virtio-win-0.1-15.iso
5. communicate to node OS with viosel-test.exe included upper iso file is OK
6. copy qemu-ga.exe with some dlls included in mingw32 packages
7. 'qemu-ga --service install' does not work well. but 'qemu-ga -s 
install' works well.
8. qemu-ga.exe works. And get good response for guest-info command.
9. But after 30 seconds, qemu-ga.exe displays following and not work 
correctly.
1328840605.265625: critical: error retrieving overlapped result: 995
1328840605.296875: critical: channel error, removing source

If possible, could you point my work?

MATSUDA Daiki

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [Qemu-devel] [PATCH v2 2/8] qemu-ga: move channel/transport functionalit
  2012-02-10  2:26   ` MATSUDA, Daiki
@ 2012-02-10  4:51     ` Michael Roth
  2012-02-13  2:14       ` MATSUDA, Daiki
  0 siblings, 1 reply; 7+ messages in thread
From: Michael Roth @ 2012-02-10  4:51 UTC (permalink / raw)
  To: MATSUDA, Daiki; +Cc: qemu-devel

On Fri, Feb 10, 2012 at 11:26:32AM +0900, MATSUDA, Daiki wrote:
> (2012/02/04 2:07), Michael Roth wrote:
> >On 02/02/2012 10:25 PM, MATSUDA, Daiki wrote:
> >>Hi, Michael!
> >>Thank you for your working.
> >>
> >>And I have a question the process id written in pid file.
> >>If qemu-ga is ran as daemon, the parent process id not child is written
> >>in pid file. So, id gotten by 'ps' command is different. Is it correct
> >>work? Many other daemon writes child process id.
> >>
> >>Regards
> >>MATSUDA Daiki
> >>
> >
> >Hi Matsuda,
> >
> >Thank you for testing!
> >
> >In the become_daemon() function, the parent exits immediately after the
> >fork(), so only the child has the opportunity to write to the pid file.
> >It calls getpid() to get the pid to write, which should be it's own
> >lwpid. So I'm not seeing where there's an opportunity for the parent pid
> >to be written.
> >
> >Can you confirm? It seems to behave as expected for me:
> >
> >[root@vm ~]# /home/mdroth/w/qemu-build/qemu-ga -d
> >** (process:7441): DEBUG: starting daemon
> >[root@vm ~]# ps aux | grep qemu-ga
> >root 7442 0.0 0.0 13792 348 ? Ss 10:56 0:00
> >/home/mdroth/w/qemu-build/qemu-ga -d
> >root 7471 0.0 0.1 109108 816 pts/2 R+ 11:00 0:00 grep --color=auto qemu-ga
> >[root@vm ~]# cat /var/run/qemu-ga.pid
> >7442
> >
> 
> Hi, Michael.
> 
> Sorry, it will be my mistake. The child process id is written in pid file.
> 
> And in this week, I tried your Windows Guest Agent patches. It is a
> little hard way.
> 
> At the first I wrote my work.
> 0. my node OS is RHEL 6.1.
> 1. build some mingw packages (mingw32-gcc, mingw-32-glib2...)
> 2. apply your patches to qemu-kvm HEAD source. There is no error.
> 3. boot WinXP SP3 and Win Server 2008 R2 with VirtIO Console and
> Guest Agent options.
> 4. install VirtIO Serial driver for Windows in
> http://alt.fedoraproject.org/pub/alt/virtio-win/latest/images/bin/virtio-win-0.1-15.iso
> 5. communicate to node OS with viosel-test.exe included upper iso file is OK
> 6. copy qemu-ga.exe with some dlls included in mingw32 packages
> 7. 'qemu-ga --service install' does not work well. but 'qemu-ga -s
> install' works well.

I see the problem, small bug in the getopt_long() usage that wasn't
triggering on POSIX. I'll fix that up shortly.

> 8. qemu-ga.exe works. And get good response for guest-info command.
> 9. But after 30 seconds, qemu-ga.exe displays following and not work
> correctly.
> 1328840605.265625: critical: error retrieving overlapped result: 995
> 1328840605.296875: critical: channel error, removing source
> 
> If possible, could you point my work?

Can you reproduce with the -v option added and post the the output? I
haven't encountered this error code and the documentation for it seems
strange. Does this occur with both WinXP and 2008?

If it's not too much trouble, can you try to reproduce with qemu.git
(for WinXP SP3)? Wondering if qemu vs. qemu-kvm is affecting the
virtio-serial driver.

> 
> MATSUDA Daiki
> 

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [Qemu-devel] [PATCH v2 2/8] qemu-ga: move channel/transport functionalit
  2012-02-10  4:51     ` Michael Roth
@ 2012-02-13  2:14       ` MATSUDA, Daiki
  2012-02-13 21:37         ` Michael Roth
  0 siblings, 1 reply; 7+ messages in thread
From: MATSUDA, Daiki @ 2012-02-13  2:14 UTC (permalink / raw)
  To: Michael Roth; +Cc: qemu-devel

(2012/02/10 13:51), Michael Roth wrote:
> On Fri, Feb 10, 2012 at 11:26:32AM +0900, MATSUDA, Daiki wrote:
>> (2012/02/04 2:07), Michael Roth wrote:
>>> On 02/02/2012 10:25 PM, MATSUDA, Daiki wrote:
>>>> Hi, Michael!
>>>> Thank you for your working.
>>>>
>>>> And I have a question the process id written in pid file.
>>>> If qemu-ga is ran as daemon, the parent process id not child is written
>>>> in pid file. So, id gotten by 'ps' command is different. Is it correct
>>>> work? Many other daemon writes child process id.
>>>>
>>>> Regards
>>>> MATSUDA Daiki
>>>>
>>>
>>> Hi Matsuda,
>>>
>>> Thank you for testing!
>>>
>>> In the become_daemon() function, the parent exits immediately after the
>>> fork(), so only the child has the opportunity to write to the pid file.
>>> It calls getpid() to get the pid to write, which should be it's own
>>> lwpid. So I'm not seeing where there's an opportunity for the parent pid
>>> to be written.
>>>
>>> Can you confirm? It seems to behave as expected for me:
>>>
>>> [root@vm ~]# /home/mdroth/w/qemu-build/qemu-ga -d
>>> ** (process:7441): DEBUG: starting daemon
>>> [root@vm ~]# ps aux | grep qemu-ga
>>> root 7442 0.0 0.0 13792 348 ? Ss 10:56 0:00
>>> /home/mdroth/w/qemu-build/qemu-ga -d
>>> root 7471 0.0 0.1 109108 816 pts/2 R+ 11:00 0:00 grep --color=auto qemu-ga
>>> [root@vm ~]# cat /var/run/qemu-ga.pid
>>> 7442
>>>
>>
>> Hi, Michael.
>>
>> Sorry, it will be my mistake. The child process id is written in pid file.
>>
>> And in this week, I tried your Windows Guest Agent patches. It is a
>> little hard way.
>>
>> At the first I wrote my work.
>> 0. my node OS is RHEL 6.1.
>> 1. build some mingw packages (mingw32-gcc, mingw-32-glib2...)
>> 2. apply your patches to qemu-kvm HEAD source. There is no error.
>> 3. boot WinXP SP3 and Win Server 2008 R2 with VirtIO Console and
>> Guest Agent options.
>> 4. install VirtIO Serial driver for Windows in
>> http://alt.fedoraproject.org/pub/alt/virtio-win/latest/images/bin/virtio-win-0.1-15.iso
>> 5. communicate to node OS with viosel-test.exe included upper iso file is OK
>> 6. copy qemu-ga.exe with some dlls included in mingw32 packages
>> 7. 'qemu-ga --service install' does not work well. but 'qemu-ga -s
>> install' works well.
>
> I see the problem, small bug in the getopt_long() usage that wasn't
> triggering on POSIX. I'll fix that up shortly.
>
>> 8. qemu-ga.exe works. And get good response for guest-info command.
>> 9. But after 30 seconds, qemu-ga.exe displays following and not work
>> correctly.
>> 1328840605.265625: critical: error retrieving overlapped result: 995
>> 1328840605.296875: critical: channel error, removing source
>>
>> If possible, could you point my work?
>
> Can you reproduce with the -v option added and post the the output? I
> haven't encountered this error code and the documentation for it seems
> strange. Does this occur with both WinXP and 2008?

Yes, it occurs with both WinXP and 2008.
And pastes the log with '-v'
C:\qemu-ga>qemuga.exe -v
1329094617.593750: debug: prepare
1329094618.109375: debug: check
.... repeat sometimes ...
1329094623.171875: debug: prepare
1329094623.625000: debug: check
1329094623.625000: critical: error retrieving overlapped result: 995
1329094623.640625: debug: dispatch
1329094623.640625: warninng: error reading channel
1329094623.640625: critical: channel error, removing source

> If it's not too much trouble, can you try to reproduce with qemu.git
> (for WinXP SP3)? Wondering if qemu vs. qemu-kvm is affecting the
> virtio-serial driver.

Yes. I am using the qemu.git from
http://repo.or.cz/w/qemu.git.

In addition, now I change the hypervisor from RHEL 6.1 default to qemu 
git tree. But same problem occurs.

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [Qemu-devel] [PATCH v2 2/8] qemu-ga: move channel/transport functionalit
  2012-02-13  2:14       ` MATSUDA, Daiki
@ 2012-02-13 21:37         ` Michael Roth
  2012-02-14  1:59           ` MATSUDA, Daiki
  0 siblings, 1 reply; 7+ messages in thread
From: Michael Roth @ 2012-02-13 21:37 UTC (permalink / raw)
  To: MATSUDA, Daiki; +Cc: qemu-devel

On Mon, Feb 13, 2012 at 11:14:03AM +0900, MATSUDA, Daiki wrote:
> >>And in this week, I tried your Windows Guest Agent patches. It is a
> >>little hard way.
> >>
> >>At the first I wrote my work.
> >>0. my node OS is RHEL 6.1.
> >>1. build some mingw packages (mingw32-gcc, mingw-32-glib2...)
> >>2. apply your patches to qemu-kvm HEAD source. There is no error.
> >>3. boot WinXP SP3 and Win Server 2008 R2 with VirtIO Console and
> >>Guest Agent options.
> >>4. install VirtIO Serial driver for Windows in
> >>http://alt.fedoraproject.org/pub/alt/virtio-win/latest/images/bin/virtio-win-0.1-15.iso
> >>5. communicate to node OS with viosel-test.exe included upper iso file is OK
> >>6. copy qemu-ga.exe with some dlls included in mingw32 packages
> >>7. 'qemu-ga --service install' does not work well. but 'qemu-ga -s
> >>install' works well.
> >
> >I see the problem, small bug in the getopt_long() usage that wasn't
> >triggering on POSIX. I'll fix that up shortly.
> >
> >>8. qemu-ga.exe works. And get good response for guest-info command.
> >>9. But after 30 seconds, qemu-ga.exe displays following and not work
> >>correctly.
> >>1328840605.265625: critical: error retrieving overlapped result: 995
> >>1328840605.296875: critical: channel error, removing source
> >>
> >>If possible, could you point my work?
> >
> >Can you reproduce with the -v option added and post the the output? I
> >haven't encountered this error code and the documentation for it seems
> >strange. Does this occur with both WinXP and 2008?
> 
> Yes, it occurs with both WinXP and 2008.
> And pastes the log with '-v'
> C:\qemu-ga>qemuga.exe -v
> 1329094617.593750: debug: prepare
> 1329094618.109375: debug: check
> .... repeat sometimes ...
> 1329094623.171875: debug: prepare
> 1329094623.625000: debug: check
> 1329094623.625000: critical: error retrieving overlapped result: 995
> 1329094623.640625: debug: dispatch
> 1329094623.640625: warninng: error reading channel
> 1329094623.640625: critical: channel error, removing source
> 
> >If it's not too much trouble, can you try to reproduce with qemu.git
> >(for WinXP SP3)? Wondering if qemu vs. qemu-kvm is affecting the
> >virtio-serial driver.
> 
> Yes. I am using the qemu.git from
> http://repo.or.cz/w/qemu.git.
> 
> In addition, now I change the hypervisor from RHEL 6.1 default to
> qemu git tree. But same problem occurs.

Strange, I can't seem to get the virtio-win-0.1-15.iso vioser drivers
working with either qemu.git or qemu-kvm.git. I thought I was using them
for XP SP3, but apparently I had switched over to using RHEL6ga drivers
at some point (virtio-win-1.1.16.iso), which I believe are older than the
Fedora ones you're using.

However, there was an issue with the RHEL6ga drivers where an
ERROR_SYSTEM_NO_RESOURCES was sometimes being reported in place of what
where I'd normally expect an EOF with the linux drivers. So my guess is
that has since been changed to report ERROR_OPERATION_ABORTED instead, so
please also apply the following patches and see if these fix the issues
you're having:

1) qemu-ga: fix incorrect getopt_long() usage
https://github.com/mdroth/qemu/commit/b5f4349763936007e1a33ba99d9ffb6b75a49b36

2) qemu-ga: win32, treat ERROR_OPERATION_ABORTED as EOF
https://github.com/mdroth/qemu/commit/7418bbf903e639ec22c394771f5ff03f18bd1275

Thanks

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [Qemu-devel] [PATCH v2 2/8] qemu-ga: move channel/transport functionalit
  2012-02-13 21:37         ` Michael Roth
@ 2012-02-14  1:59           ` MATSUDA, Daiki
  0 siblings, 0 replies; 7+ messages in thread
From: MATSUDA, Daiki @ 2012-02-14  1:59 UTC (permalink / raw)
  To: qemu-devel, Michael Roth

(2012/02/14 6:37), Michael Roth wrote:
> On Mon, Feb 13, 2012 at 11:14:03AM +0900, MATSUDA, Daiki wrote:
>>>> And in this week, I tried your Windows Guest Agent patches. It is a
>>>> little hard way.
>>>>
>>>> At the first I wrote my work.
>>>> 0. my node OS is RHEL 6.1.
>>>> 1. build some mingw packages (mingw32-gcc, mingw-32-glib2...)
>>>> 2. apply your patches to qemu-kvm HEAD source. There is no error.
>>>> 3. boot WinXP SP3 and Win Server 2008 R2 with VirtIO Console and
>>>> Guest Agent options.
>>>> 4. install VirtIO Serial driver for Windows in
>>>> http://alt.fedoraproject.org/pub/alt/virtio-win/latest/images/bin/virtio-win-0.1-15.iso
>>>> 5. communicate to node OS with viosel-test.exe included upper iso file is OK
>>>> 6. copy qemu-ga.exe with some dlls included in mingw32 packages
>>>> 7. 'qemu-ga --service install' does not work well. but 'qemu-ga -s
>>>> install' works well.
>>>
>>> I see the problem, small bug in the getopt_long() usage that wasn't
>>> triggering on POSIX. I'll fix that up shortly.
>>>
>>>> 8. qemu-ga.exe works. And get good response for guest-info command.
>>>> 9. But after 30 seconds, qemu-ga.exe displays following and not work
>>>> correctly.
>>>> 1328840605.265625: critical: error retrieving overlapped result: 995
>>>> 1328840605.296875: critical: channel error, removing source
>>>>
>>>> If possible, could you point my work?
>>>
>>> Can you reproduce with the -v option added and post the the output? I
>>> haven't encountered this error code and the documentation for it seems
>>> strange. Does this occur with both WinXP and 2008?
>>
>> Yes, it occurs with both WinXP and 2008.
>> And pastes the log with '-v'
>> C:\qemu-ga>qemuga.exe -v
>> 1329094617.593750: debug: prepare
>> 1329094618.109375: debug: check
>> .... repeat sometimes ...
>> 1329094623.171875: debug: prepare
>> 1329094623.625000: debug: check
>> 1329094623.625000: critical: error retrieving overlapped result: 995
>> 1329094623.640625: debug: dispatch
>> 1329094623.640625: warninng: error reading channel
>> 1329094623.640625: critical: channel error, removing source
>>
>>> If it's not too much trouble, can you try to reproduce with qemu.git
>>> (for WinXP SP3)? Wondering if qemu vs. qemu-kvm is affecting the
>>> virtio-serial driver.
>>
>> Yes. I am using the qemu.git from
>> http://repo.or.cz/w/qemu.git.
>>
>> In addition, now I change the hypervisor from RHEL 6.1 default to
>> qemu git tree. But same problem occurs.
>
> Strange, I can't seem to get the virtio-win-0.1-15.iso vioser drivers
> working with either qemu.git or qemu-kvm.git. I thought I was using them
> for XP SP3, but apparently I had switched over to using RHEL6ga drivers
> at some point (virtio-win-1.1.16.iso), which I believe are older than the
> Fedora ones you're using.
>
> However, there was an issue with the RHEL6ga drivers where an
> ERROR_SYSTEM_NO_RESOURCES was sometimes being reported in place of what
> where I'd normally expect an EOF with the linux drivers. So my guess is
> that has since been changed to report ERROR_OPERATION_ABORTED instead, so
> please also apply the following patches and see if these fix the issues
> you're having:
>
> 1) qemu-ga: fix incorrect getopt_long() usage
> https://github.com/mdroth/qemu/commit/b5f4349763936007e1a33ba99d9ffb6b75a49b36
>
> 2) qemu-ga: win32, treat ERROR_OPERATION_ABORTED as EOF
> https://github.com/mdroth/qemu/commit/7418bbf903e639ec22c394771f5ff03f18bd1275
>
> Thanks

I confirmed that 2 bugs are fixed by your 2 patches. And now Windows 
Guest OS works well over 1 hour.

Thanks for your working, Michael.

^ permalink raw reply	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2012-02-14  1:59 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2012-02-03  4:25 [Qemu-devel] [PATCH v2 2/8] qemu-ga: move channel/transport functionalit MATSUDA, Daiki
2012-02-03 17:07 ` Michael Roth
2012-02-10  2:26   ` MATSUDA, Daiki
2012-02-10  4:51     ` Michael Roth
2012-02-13  2:14       ` MATSUDA, Daiki
2012-02-13 21:37         ` Michael Roth
2012-02-14  1:59           ` MATSUDA, Daiki

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.