[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PULL 07/11] colo: fixed 'Segmentation fault' when the simplex mode PVM
From: |
Juan Quintela |
Subject: |
[PULL 07/11] colo: fixed 'Segmentation fault' when the simplex mode PVM poweroff |
Date: |
Wed, 3 Nov 2021 09:46:01 +0100 |
From: "Rao, Lei" <lei.rao@intel.com>
The GDB statck is as follows:
Program terminated with signal SIGSEGV, Segmentation fault.
0 object_class_dynamic_cast (class=0x55c8f5d2bf50, typename=0x55c8f2f7379e
"qio-channel") at qom/object.c:832
if (type->class->interfaces &&
[Current thread is 1 (Thread 0x7f756e97eb00 (LWP 1811577))]
(gdb) bt
0 object_class_dynamic_cast (class=0x55c8f5d2bf50, typename=0x55c8f2f7379e
"qio-channel") at qom/object.c:832
1 0x000055c8f2c3dd14 in object_dynamic_cast (obj=0x55c8f543ac00,
typename=0x55c8f2f7379e "qio-channel") at qom/object.c:763
2 0x000055c8f2c3ddce in object_dynamic_cast_assert (obj=0x55c8f543ac00,
typename=0x55c8f2f7379e "qio-channel",
file=0x55c8f2f73780 "migration/qemu-file-channel.c", line=117,
func=0x55c8f2f73800 <__func__.18724> "channel_shutdown") at qom/object.c:786
3 0x000055c8f2bbc6ac in channel_shutdown (opaque=0x55c8f543ac00, rd=true,
wr=true, errp=0x0) at migration/qemu-file-channel.c:117
4 0x000055c8f2bba56e in qemu_file_shutdown (f=0x7f7558070f50) at
migration/qemu-file.c:67
5 0x000055c8f2ba5373 in migrate_fd_cancel (s=0x55c8f4ccf3f0) at
migration/migration.c:1699
6 0x000055c8f2ba1992 in migration_shutdown () at migration/migration.c:187
7 0x000055c8f29a5b77 in main (argc=69, argv=0x7fff3e9e8c08,
envp=0x7fff3e9e8e38) at vl.c:4512
The root cause is that we still want to shutdown the from_dst_file in
migrate_fd_cancel() after qemu_close in colo_process_checkpoint().
So, we should set the s->rp_state.from_dst_file = NULL after
qemu_close().
Signed-off-by: Lei Rao <lei.rao@intel.com>
Reviewed-by: Juan Quintela <quintela@redhat.com>
Signed-off-by: Juan Quintela <quintela@redhat.com>
---
migration/colo.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/migration/colo.c b/migration/colo.c
index 616dc00af7..907241ab5c 100644
--- a/migration/colo.c
+++ b/migration/colo.c
@@ -640,6 +640,7 @@ out:
*/
if (s->rp_state.from_dst_file) {
qemu_fclose(s->rp_state.from_dst_file);
+ s->rp_state.from_dst_file = NULL;
}
}
--
2.33.1
- [PULL 00/11] Migration 20211102 patches, Juan Quintela, 2021/11/03
- [PULL 08/11] Removed the qemu_fclose() in colo_process_incoming_thread, Juan Quintela, 2021/11/03
- [PULL 09/11] Changed the last-mode to none of first start COLO, Juan Quintela, 2021/11/03
- [PULL 01/11] migration: provide an error message to migration_cancel(), Juan Quintela, 2021/11/03
- [PULL 02/11] migration: initialise compression_counters for a new migration, Juan Quintela, 2021/11/03
- [PULL 05/11] Fixed qemu crash when guest power off in COLO mode, Juan Quintela, 2021/11/03
- [PULL 10/11] colo: Don't dump colo cache if dump-guest-core=off, Juan Quintela, 2021/11/03
- [PULL 11/11] Optimized the function of fill_connection_key., Juan Quintela, 2021/11/03
- [PULL 06/11] Fixed SVM hang when do failover before PVM crash, Juan Quintela, 2021/11/03
- [PULL 07/11] colo: fixed 'Segmentation fault' when the simplex mode PVM poweroff,
Juan Quintela <=
- [PULL 04/11] Some minor optimizations for COLO, Juan Quintela, 2021/11/03
- [PULL 03/11] migration: Zero migration compression counters, Juan Quintela, 2021/11/03
- Re: [PULL 00/11] Migration 20211102 patches, Richard Henderson, 2021/11/04