(gdb) b migrate_set_state
Breakpoint 1 at 0x6d3aa0: migrate_set_state. (2 locations)
(gdb) b migration/migration.c:928
Breakpoint 2 at 0x6d317b: file ./migration/migration.c, line 928.
(gdb) run -nodefaults -nographic -S -monitor tcp:0:3333,server,wait=off
T3)
nc 127.0.0.1 3333
(qemu) migrate -d tcp:127.0.0.1:4444
T2)
Thread 1 "qemu-system-x86" hit Breakpoint 1, migrate_set_state (state=0x5555566949d8, old_state=0, new_state=1) at ./migration/migration.c:1463
1463 ./migration/migration.c: No such file or directory.
(gdb) p (MigrationStatus) 0
$1 = MIGRATION_STATUS_NONE
(gdb) p (MigrationStatus) 1
$2 = MIGRATION_STATUS_SETUP
(gdb) c
Thread 5 "qemu-system-x86" hit Breakpoint 1, migrate_set_state (state=0x5555566949d8, old_state=1, new_state=4) at ./migration/migration.c:1463
1463 in ./migration/migration.c
(gdb) p (MigrationStatus) 1
$3 = MIGRATION_STATUS_SETUP
(gdb) p (MigrationStatus) 4
$4 = MIGRATION_STATUS_ACTIVE
(gdb)
T3)
(qemu) info migrate
T2)
Thread 1 "qemu-system-x86" hit Breakpoint 2, fill_source_migration_info (info=0x555556850590) at ./migration/migration.c:928
928 in ./migration/migration.c
(gdb) p (MigrationStatus) s.state
$6 = MIGRATION_STATUS_SETUP
(gdb) p info.status
$7 = MIGRATION_STATUS_NONE
(gdb) info threads
Id Target Id Frame
* 1 Thread 0x7ffff5ee55c0 (LWP 5066) "qemu-system-x86" fill_source_migration_info (info=0x555556850590) at ./migration/migration.c:928
2 Thread 0x7ffff5ee1700 (LWP 5070) "qemu-system-x86" (running)
3 Thread 0x7ffff565f700 (LWP 5071) "qemu-system-x86" (running)
5 Thread 0x7fffedfff700 (LWP 5075) "qemu-system-x86" migrate_set_state (state=0x5555566949d8, old_state=1, new_state=4) at ./migration/migration.c:1463
(gdb) thread 5
[Switching to thread 5 (Thread 0x7fffedfff700 (LWP 5075))]
#0 migrate_set_state (state=0x5555566949d8, old_state=1, new_state=4) at ./migration/migration.c:1463
1463 in ./migration/migration.c
(gdb) thread 1
[Switching to thread 1 (Thread 0x7ffff5ee55c0 (LWP 5066))]
#0 fill_source_migration_info (info=0x555556850590) at ./migration/migration.c:928
928 in ./migration/migration.c
(gdb) p (MigrationStatus) s.state
$8 = MIGRATION_STATUS_ACTIVE
(gdb) c
T3)
(qemu) info migrate
info migrate
globals:
store-global-state: on
only-migratable: off
send-configuration: on
send-section-footer: on
decompress-error-check: on
clear-bitmap-shift: 18
Migration status: active
total time: 0 milliseconds
(qemu)
Migration status is active, without any RAM statistics.
(gdb) b migrate_set_state
Breakpoint 1 at 0x6d3b80: migrate_set_state. (2 locations)
(gdb) b migration/migration.c:928
Breakpoint 2 at 0x6d32ad: file ./migration/migration.c, line 928.
(gdb) run -nodefaults -nographic -S -monitor tcp:0:3333,server,wait=off
T3)
nc 127.0.0.1 3333
(qemu) migrate -d tcp:127.0.0.1:4444
T2)
Thread 1 "qemu-system-x86" hit Breakpoint 1, migrate_set_state (state=0x5555566949d8, old_state=0, new_state=1) at ./migration/migration.c:1464
1464 ./migration/migration.c: No such file or directory.
(gdb) p (MigrationStatus) 0
$1 = MIGRATION_STATUS_NONE
(gdb) p (MigrationStatus) 1
$2 = MIGRATION_STATUS_SETUP
(gdb) c
Continuing.
[New Thread 0x7fffedfff700 (LWP 6990)]
[New Thread 0x7fffed7fe700 (LWP 6991)]
[Thread 0x7fffedfff700 (LWP 6990) exited]
Thread 5 "qemu-system-x86" hit Breakpoint 1, migrate_set_state (state=0x5555566949d8, old_state=1, new_state=4) at ./migration/migration.c:1464
1464 in ./migration/migration.c
(gdb) p (MigrationStatus) 1
$3 = MIGRATION_STATUS_SETUP
(gdb) p (MigrationStatus) 4
$4 = MIGRATION_STATUS_ACTIVE
(gdb)
T3)
(qemu) info migrate
T2)
Thread 1 "qemu-system-x86" hit Breakpoint 2, fill_source_migration_info (info=0x555556850590) at ./migration/migration.c:928
928 in ./migration/migration.c
(gdb) p (MigrationStatus) s.state
$6 = MIGRATION_STATUS_SETUP
(gdb) p info.status
$7 = MIGRATION_STATUS_NONE
(gdb) info threads
Id Target Id Frame
* 1 Thread 0x7ffff5ee55c0 (LWP 6983) "qemu-system-x86" fill_source_migration_info (info=0x555556850590) at ./migration/migration.c:928
2 Thread 0x7ffff5ee1700 (LWP 6987) "qemu-system-x86" (running)
3 Thread 0x7ffff565f700 (LWP 6988) "qemu-system-x86" (running)
5 Thread 0x7fffed7fe700 (LWP 6991) "qemu-system-x86" migrate_set_state (state=0x5555566949d8, old_state=1, new_state=4) at ./migration/migration.c:1464
(gdb) thread 5
[Switching to thread 5 (Thread 0x7fffed7fe700 (LWP 6991))]
#0 migrate_set_state (state=0x5555566949d8, old_state=1, new_state=4) at ./migration/migration.c:1464
1464 in ./migration/migration.c
(gdb) continue &
Continuing.
(gdb) info threads
Id Target Id Frame
1 Thread 0x7ffff5ee55c0 (LWP 6983) "qemu-system-x86" fill_source_migration_info (info=0x555556850590) at ./migration/migration.c:928
2 Thread 0x7ffff5ee1700 (LWP 6987) "qemu-system-x86" (running)
3 Thread 0x7ffff565f700 (LWP 6988) "qemu-system-x86" (running)
* 5 Thread 0x7fffed7fe700 (LWP 6991) "qemu-system-x86" (running)
(gdb) thread 1
[Switching to thread 1 (Thread 0x7ffff5ee55c0 (LWP 6983))]
#0 fill_source_migration_info (info=0x555556850590) at ./migration/migration.c:928
928 in ./migration/migration.c
(gdb) p (MigrationStatus) s.state
$8 = MIGRATION_STATUS_ACTIVE
(gdb) c
T3)
(qemu) info migrate
info migrate
globals:
store-global-state: on
only-migratable: off
send-configuration: on
send-section-footer: on
decompress-error-check: on
clear-bitmap-shift: 18
Migration status: setup
total time: 0 milliseconds
Status is now still 'SETUP' (which is not expected to have RAM statistics), not 'ACTIVE' (which is, and caused the issue).
Verification done for focal-proposed.
focal-updates: FAIL (status: active)
(qemu) info migrate
...
Migration status: active
total time: 0 milliseconds
focal-proposed: PASS (status: setup)
(qemu) info migrate
...
Migration status: setup
total time: 0 milliseconds
Details:
=======
$ lsb_release -cs
focal
focal-updates: FAIL
-------------
$ curl http:// ddebs.ubuntu. com/dbgsym- release- key.asc | sudo apt-key add - ddebs.ubuntu. com/ubuntu focal-updates main'
$ sudo add-apt-repository -y 'deb http://
$ sudo apt install --yes qemu-system-x86 qemu-system- x86-dbgsym
$ dpkg -s qemu-system-x86 | grep Version:
Version: 1:4.2-3ubuntu6.24
$ dpkg -s qemu-system- x86-dbgsym | grep Version:
Version: 1:4.2-3ubuntu6.24
...
$ sudo add-apt-repository -ys 'deb http:// archive. ubuntu. com/ubuntu focal-updates main'
$ apt source qemu debian/ changelog
$ head -n1 qemu-*/
qemu (1:4.2-3ubuntu6.24) focal-security; urgency=medium
$ vim qemu-*/ migration/ migration. c
915 static void fill_source_ migration_ info(MigrationI nfo *info) STATUS_ SETUP: total_time = false;
...
925 case MIGRATION_
926 info->has_status = true;
927 info->has_
928 break;
...
T1)
$ qemu-system-x86_64 -nodefaults -nographic -S -incoming tcp:0:4444
T2)
gdb \ system- x86_64
-ex 'set non-stop on' -ex 'set pagination off' -ex 'set confirm off' \
qemu-
(gdb) b migrate_set_state
Breakpoint 1 at 0x6d3aa0: migrate_set_state. (2 locations)
(gdb) b migration/ migration. c:928 migration. c, line 928.
Breakpoint 2 at 0x6d317b: file ./migration/
(gdb) run -nodefaults -nographic -S -monitor tcp:0:3333, server, wait=off
T3)
nc 127.0.0.1 3333
(qemu) migrate -d tcp:127.0.0.1:4444
T2)
Thread 1 "qemu-system-x86" hit Breakpoint 1, migrate_set_state (state= 0x5555566949d8, old_state=0, new_state=1) at ./migration/ migration. c:1463 migration. c: No such file or directory. STATUS_ NONE STATUS_ SETUP
1463 ./migration/
(gdb) p (MigrationStatus) 0
$1 = MIGRATION_
(gdb) p (MigrationStatus) 1
$2 = MIGRATION_
(gdb) c
Thread 5 "qemu-system-x86" hit Breakpoint 1, migrate_set_state (state= 0x5555566949d8, old_state=1, new_state=4) at ./migration/ migration. c:1463 migration. c STATUS_ SETUP STATUS_ ACTIVE
1463 in ./migration/
(gdb) p (MigrationStatus) 1
$3 = MIGRATION_
(gdb) p (MigrationStatus) 4
$4 = MIGRATION_
(gdb)
T3)
(qemu) info migrate
T2)
Thread 1 "qemu-system-x86" hit Breakpoint 2, fill_source_ migration_ info (info=0x5555568 50590) at ./migration/ migration. c:928 migration. c
928 in ./migration/
(gdb) p (MigrationStatus) s.state STATUS_ SETUP STATUS_ NONE
$6 = MIGRATION_
(gdb) p info.status
$7 = MIGRATION_
(gdb) info threads migration_ info (info=0x5555568 50590) at ./migration/ migration. c:928 0x5555566949d8, old_state=1, new_state=4) at ./migration/ migration. c:1463 0x5555566949d8, old_state=1, new_state=4) at ./migration/ migration. c:1463 migration. c
Id Target Id Frame
* 1 Thread 0x7ffff5ee55c0 (LWP 5066) "qemu-system-x86" fill_source_
2 Thread 0x7ffff5ee1700 (LWP 5070) "qemu-system-x86" (running)
3 Thread 0x7ffff565f700 (LWP 5071) "qemu-system-x86" (running)
5 Thread 0x7fffedfff700 (LWP 5075) "qemu-system-x86" migrate_set_state (state=
(gdb) thread 5
[Switching to thread 5 (Thread 0x7fffedfff700 (LWP 5075))]
#0 migrate_set_state (state=
1463 in ./migration/
(gdb) continue & migration_ info (info=0x5555568 50590) at ./migration/ migration. c:928
Continuing.
(gdb) info threads
Id Target Id Frame
1 Thread 0x7ffff5ee55c0 (LWP 5066) "qemu-system-x86" fill_source_
2 Thread 0x7ffff5ee1700 (LWP 5070) "qemu-system-x86" (running)
3 Thread 0x7ffff565f700 (LWP 5071) "qemu-system-x86" (running)
* 5 Thread 0x7fffedfff700 (LWP 5075) "qemu-system-x86" (running)
(gdb) thread 1 migration_ info (info=0x5555568 50590) at ./migration/ migration. c:928 migration. c STATUS_ ACTIVE
[Switching to thread 1 (Thread 0x7ffff5ee55c0 (LWP 5066))]
#0 fill_source_
928 in ./migration/
(gdb) p (MigrationStatus) s.state
$8 = MIGRATION_
(gdb) c
T3)
(qemu) info migrate footer: on error-check: on
info migrate
globals:
store-global-state: on
only-migratable: off
send-configuration: on
send-section-
decompress-
clear-bitmap-shift: 18
Migration status: active
total time: 0 milliseconds
(qemu)
Migration status is active, without any RAM statistics.
(qemu) quit
(gdb) quit
Terminal 1)
Ctrl-C
focal-proposed: PASS
--------------
$ sudo add-apt-repository -ys 'deb http:// archive. ubuntu. com/ubuntu focal-proposed main' ddebs.ubuntu. com/ubuntu focal-proposed main'
$ sudo add-apt-repository -y 'deb http://
$ sudo apt install --yes qemu-system-x86 qemu-system- x86-dbgsym
$ dpkg -s qemu-system-x86 | grep Version:
Version: 1:4.2-3ubuntu6.25
$ dpkg -s qemu-system- x86-dbgsym | grep Version:
Version: 1:4.2-3ubuntu6.25
...
$ apt source qemu
$ head -n1 qemu-*/ debian/ changelog
qemu (1:4.2-3ubuntu6.25) focal; urgency=medium
$ vim qemu-*/ migration/ migration. c
915 static void fill_source_ migration_ info(MigrationI nfo *info) STATUS_ SETUP: total_time = false;
...
926 case MIGRATION_
927 info->has_status = true;
928 info->has_
929 break;
...
T1)
$ qemu-system-x86_64 -nodefaults -nographic -S -incoming tcp:0:4444
T2)
gdb \ system- x86_64
-ex 'set non-stop on' -ex 'set pagination off' -ex 'set confirm off' \
qemu-
(gdb) b migrate_set_state migration. c:928 migration. c, line 928.
Breakpoint 1 at 0x6d3b80: migrate_set_state. (2 locations)
(gdb) b migration/
Breakpoint 2 at 0x6d32ad: file ./migration/
(gdb) run -nodefaults -nographic -S -monitor tcp:0:3333, server, wait=off
T3)
nc 127.0.0.1 3333
(qemu) migrate -d tcp:127.0.0.1:4444
T2)
Thread 1 "qemu-system-x86" hit Breakpoint 1, migrate_set_state (state= 0x5555566949d8, old_state=0, new_state=1) at ./migration/ migration. c:1464 migration. c: No such file or directory. STATUS_ NONE STATUS_ SETUP
1464 ./migration/
(gdb) p (MigrationStatus) 0
$1 = MIGRATION_
(gdb) p (MigrationStatus) 1
$2 = MIGRATION_
(gdb) c
Continuing.
[New Thread 0x7fffedfff700 (LWP 6990)]
[New Thread 0x7fffed7fe700 (LWP 6991)]
[Thread 0x7fffedfff700 (LWP 6990) exited]
Thread 5 "qemu-system-x86" hit Breakpoint 1, migrate_set_state (state= 0x5555566949d8, old_state=1, new_state=4) at ./migration/ migration. c:1464 migration. c STATUS_ SETUP STATUS_ ACTIVE
1464 in ./migration/
(gdb) p (MigrationStatus) 1
$3 = MIGRATION_
(gdb) p (MigrationStatus) 4
$4 = MIGRATION_
(gdb)
T3)
(qemu) info migrate
T2)
Thread 1 "qemu-system-x86" hit Breakpoint 2, fill_source_ migration_ info (info=0x5555568 50590) at ./migration/ migration. c:928 migration. c
928 in ./migration/
(gdb) p (MigrationStatus) s.state STATUS_ SETUP STATUS_ NONE
$6 = MIGRATION_
(gdb) p info.status
$7 = MIGRATION_
(gdb) info threads migration_ info (info=0x5555568 50590) at ./migration/ migration. c:928 0x5555566949d8, old_state=1, new_state=4) at ./migration/ migration. c:1464 0x5555566949d8, old_state=1, new_state=4) at ./migration/ migration. c:1464 migration. c
Id Target Id Frame
* 1 Thread 0x7ffff5ee55c0 (LWP 6983) "qemu-system-x86" fill_source_
2 Thread 0x7ffff5ee1700 (LWP 6987) "qemu-system-x86" (running)
3 Thread 0x7ffff565f700 (LWP 6988) "qemu-system-x86" (running)
5 Thread 0x7fffed7fe700 (LWP 6991) "qemu-system-x86" migrate_set_state (state=
(gdb) thread 5
[Switching to thread 5 (Thread 0x7fffed7fe700 (LWP 6991))]
#0 migrate_set_state (state=
1464 in ./migration/
(gdb) continue &
Continuing.
(gdb) info threads migration_ info (info=0x5555568 50590) at ./migration/ migration. c:928 migration_ info (info=0x5555568 50590) at ./migration/ migration. c:928 migration. c STATUS_ ACTIVE
Id Target Id Frame
1 Thread 0x7ffff5ee55c0 (LWP 6983) "qemu-system-x86" fill_source_
2 Thread 0x7ffff5ee1700 (LWP 6987) "qemu-system-x86" (running)
3 Thread 0x7ffff565f700 (LWP 6988) "qemu-system-x86" (running)
* 5 Thread 0x7fffed7fe700 (LWP 6991) "qemu-system-x86" (running)
(gdb) thread 1
[Switching to thread 1 (Thread 0x7ffff5ee55c0 (LWP 6983))]
#0 fill_source_
928 in ./migration/
(gdb) p (MigrationStatus) s.state
$8 = MIGRATION_
(gdb) c
T3)
(qemu) info migrate footer: on error-check: on
info migrate
globals:
store-global-state: on
only-migratable: off
send-configuration: on
send-section-
decompress-
clear-bitmap-shift: 18
Migration status: setup
total time: 0 milliseconds
Status is now still 'SETUP' (which is not expected to have RAM statistics), not 'ACTIVE' (which is, and caused the issue).
(qemu) quit
(gdb) quit
Terminal 1)
Ctrl-C