Bad case:
1. trigger migration
  <hangs>
2. sleep 2m
  <to see what repeats / polls>
3. fetch the logs
^^ this shall ensure we don't have the error path when I abort the migration in 
the log

# reset the logfile via (so both have a log from the start of the service into 
a migration)
$ systemctl stop libvirtd
$ rm /var/log/libvirtd.log
$ systemctl start libvirtd

Good case
1. trigger migration
2. migration completed
3. fetch the logs


All logs are then stripped of the leading time and PID index for better 
comparison.
:%s/^[0-9][0-9][0-9][0-9]-[0-9][0-9]-[0-9][0-9] 
[0-9][0-9]:[0-9][0-9]:[0-9][0-9].[0-9][0-9][0-9]+0000: [0-9]*: //gc


Then everything of the daemon init before the RPC call that led to 
"virDomainMigratePerform3Params" is removed (right now not interested in the 
startup, but it is in the attached files). In the same way everything before 
"remoteDispatchDomainMigratePrepareTunnel3Params" is cut out on the target.

Finally for further improved diffing (we can always check details in the raw 
logs) line numbers, threads and adresses are removed.
:%s/\v^(debug|info) : ([a-zA-Z0-9]*):[0-9]* : /\2 /gc
:%s/Thread [0-9]* /Thread <removed>/gc
:%s/=0x[a-f0-9]*/0xAddrRemoved/gc
:%s/:0x[a-f0-9]*/:0xAddrRemoved/gc
:%s/fd:[0-9]*/fd:FDRemoved/gc
:%s/fd=[0-9]*/fd=FDRemoved/gc


That is then compared.
Target:
- The incoming "destination_xml" on virDomainMigratePrepareTunnel3Params is the 
same
- the qemu spawn command on the target is the same
- migration communication with qemu initially goes the same 
query-migrate-capabilities -> migrate-set-capabilities ... (overall ~2k lines 
of log mostly qom-* commands)
- both successfully reach "qemuProcessHandleMigrationStatus Migration of domain 
... h-migr-test changed state to active"
- then a long sequence of virStream activity starts with slightly alternating 
order but otherwise no diff
- the bad case stays in there, the good case has more of them and finally 
completes into "virStreamFinish -> virDomainMigrateFinish3Params".

Seems it would hang on communication, but why/where ?

-- 
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.
https://bugs.launchpad.net/bugs/1904584

Title:
  libvirt 6.8 / qemu 5.1 - --p2p --tunnelled is hanging

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/libvirt/+bug/1904584/+subscriptions

-- 
ubuntu-bugs mailing list
[email protected]
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs

Reply via email to