[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PATCH v2 4/7] colo: fixed 'Segmentation fault' when the simplex mode PV
From: |
Rao, Lei |
Subject: |
[PATCH v2 4/7] colo: fixed 'Segmentation fault' when the simplex mode PVM poweroff |
Date: |
Mon, 1 Nov 2021 15:57:02 +0800 |
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>
---
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.30.2
- [PATCH v2 0/7] Fixed some bugs and optimized some codes for COLO, Rao, Lei, 2021/11/01
- [PATCH v2 1/7] Some minor optimizations for COLO, Rao, Lei, 2021/11/01
- [PATCH v2 2/7] Fixed qemu crash when guest power off in COLO mode, Rao, Lei, 2021/11/01
- [PATCH v2 4/7] colo: fixed 'Segmentation fault' when the simplex mode PVM poweroff,
Rao, Lei <=
- [PATCH v2 3/7] Fixed SVM hang when do failover before PVM crash, Rao, Lei, 2021/11/01
- [PATCH v2 5/7] Removed the qemu_fclose() in colo_process_incoming_thread, Rao, Lei, 2021/11/01
- [PATCH v2 6/7] Changed the last-mode to none of first start COLO, Rao, Lei, 2021/11/01
- [PATCH v2 7/7] Optimized the function of fill_connection_key., Rao, Lei, 2021/11/01