On 01/12/2019 02:44 AM, Bruce Ferrell wrote:
> Starting from the last question:
> 
>     strace VBoxManage startvm...
> 
> I tend to just watch stuff flow by, but you may want to save the output so
> you'll need to do redirects to capture it or you can start the VM and do
> 
> ps -efw | grep vbox
> 
> vbox     21127 13705 26  2018 ?        4-19:58:40
> /usr/lib/virtualbox/VBoxHeadless --comment win7-2 --startvm
> 8e8dd73e-315a-45cf-a4c7-3ca38ade0dfc --vrde config
> 
>     strace -p <pid of the vm process>
> 
>     strace -p 21127  1> trace.out 2>> trace.out
> 
> to attach to the running process and collect a trace of what it's up to.
> 
> It's a crude, blunt example, but I tend to find things this way. Cruse and
> blunt is usually enough.

Blunt seemed to be all that was needed. The strace log is very boring, but
very clear on what is happening. I attached the strace and then typed 'dir'
and strace started churning out what look like blocking-select with the
timeout NULL?? That would correspond to exactly what I'm seeing as far as
behavior goes, but if it was reading in large enough chunks even blocking I/O
should work, e.g. strace shows

  select(10, [9], NULL, [9], NULL)        = 1 (in [9])

Then, really weird, read uses "\372" as the 'buf' parameter address and then
attempts a read of SIZE 1??? (one byte??)

  read(9, "\372", 1)                      = 1

Huh? I would expect a much larger read (I'd use at least 1024 if not 8192)

The log, just keeps going for 239 lines this way in the course of one `dir`
statement, e.g.

strace: Process 27413 attached
select(10, [9], NULL, [9], NULL)        = 1 (in [9])
read(9, "\372", 1)                      = 1
select(10, [9], NULL, [9], NULL)        = 1 (in [9])
read(9, "\372", 1)                      = 1
select(10, [9], NULL, [9], NULL)        = 1 (in [9])
read(9, "\372", 1)                      = 1
select(10, [9], NULL, [9], NULL)        = 1 (in [9])
read(9, "\372", 1)                      = 1
select(10, [9], NULL, [9], NULL)        = 1 (in [9])
read(9, "\372", 1)                      = 1
select(10, [9], NULL, [9], NULL)        = 1 (in [9])
read(9, "\372", 1)                      = 1
select(10, [9], NULL, [9], NULL)        = 1 (in [9])
read(9, "\372", 1)                      = 1
select(10, [9], NULL, [9], NULL)        = 1 (in [9])
read(9, "\372", 1)                      = 1
select(10, [9], NULL, [9], NULL)        = 1 (in [9])
read(9, "\372", 1)                      = 1
select(10, [9], NULL, [9], NULL)        = 1 (in [9])
read(9, "\372", 1)                      = 1
select(10, [9], NULL, [9], NULL)        = 1 (in [9])
read(9, "\372", 1)                      = 1
select(10, [9], NULL, [9], NULL)        = 1 (in [9])
read(9, "\372", 1)                      = 1
select(10, [9], NULL, [9], NULL)        = 1 (in [9])
read(9, "\372", 1)                      = 1
select(10, [9], NULL, [9], NULL)        = 1 (in [9])
read(9, "\372", 1)                      = 1
select(10, [9], NULL, [9], NULL)        = 1 (in [9])
read(9, "\372", 1)                      = 1
...

I don't know whether this is normal or FUBAR -- but it seems to correspond to
every line of dir output once the screen starts to scroll on cmd.exe.

Is this normal??


-- 
David C. Rankin, J.D.,P.E.


_______________________________________________
VBox-users-community mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/vbox-users-community
_______________________________________________
Unsubscribe:  
mailto:[email protected]?subject=unsubscribe

Reply via email to