On Tue, May 14, 2024 at 08:14:59AM +0000, Zhijian Li (Fujitsu) wrote: > > > On 19/04/2024 07:10, nifan....@gmail.com wrote: > > From: Fan Ni <fan...@samsung.com> > > > > > +} > > + > > static bool cxl_setup_memory(CXLType3Dev *ct3d, Error **errp) > > { > > DeviceState *ds = DEVICE(ct3d); > > @@ -635,6 +676,13 @@ static bool cxl_setup_memory(CXLType3Dev *ct3d, Error > > **errp) > > g_free(p_name); > > } > > > > + if (ct3d->dc.num_regions > 0) { > > + if (!cxl_create_dc_regions(ct3d, errp)) { > > + error_setg(errp, "setup DC regions failed"); > > This error_set() would cause an assertion if the errp was assigned inside > cxl_create_dc_regions(); > Try error_append_hint() instead Thanks, Let me check and fix.
Fan > > #3 0x00007f1fdc4fafc6 in annobin_assert.c_end () at /lib64/libc.so.6 > #4 0x0000555fd3edbea8 in error_setv > (errp=0x7ffe6d1a3de0, src=0x555fd3fe262b "../hw/mem/cxl_type3.c", > line=807, func=0x555fd3fe2fe0 <__func__.21> "cxl_setup_memory", > err_class=ERROR_CLASS_GENERIC_ERROR, fmt=0x555fd3fe2939 "setup DC regions > failed", ap=0x7ffe6d1a3 > c00, suffix=0x0) at ../util/error.c:68 > #5 0x0000555fd3edc126 in error_setg_internal > (errp=0x7ffe6d1a3de0, src=0x555fd3fe262b "../hw/mem/cxl_type3.c", > line=807, func=0x555fd3fe2fe0 <__func__.21> "cxl_setup_memory", > fmt=0x555fd3fe2939 "setup DC regions failed") at ../util/error.c:105 > #6 0x0000555fd3819c9f in cxl_setup_memory (ct3d=0x555fd8b2f3e0, > errp=0x7ffe6d1a3de0) at ../hw/mem/cxl_type3.c:807 > #7 0x0000555fd3819d7b in ct3_realize (pci_dev=0x555fd8b2f3e0, > errp=0x7ffe6d1a3de0) at ../hw/mem/cxl_type3.c:833 > #8 0x0000555fd38b575f in pci_qdev_realize (qdev=0x555fd8b2f3e0, > errp=0x7ffe6d1a3e60) at ../hw/pci/pci.c:2093 > #9 0x0000555fd3ccca9b in device_set_realized (obj=0x555fd8b2f3e0, > value=true, errp=0x7ffe6d1a40d0)