Hi Jason, Could you tell me which version of kernel & userspace library support the fork operation? Below is the info on my server machine: 1) kernel: 4.15.0-29-generic modinfo ib_uverbs rdma_cm ib_core | grep 'filename\|description\|author' filename: /lib/modules/4.15.0-29-generic/kernel/drivers/infiniband/core/ib_uverbs.ko description: InfiniBand userspace verbs access author: Roland Dreier filename: /lib/modules/4.15.0-29-generic/kernel/drivers/infiniband/core/rdma_cm.ko description: Generic RDMA CM Agent author: Sean Hefty filename: /lib/modules/4.15.0-29-generic/kernel/drivers/infiniband/core/ib_core.ko description: core kernel InfiniBand API author: Roland Dreier 2) userspace: librdmacm-dev:amd64 17.1-1ubuntu0.1 amd64 Development files for the librdmacm library librdmacm1:amd64 17.1-1ubuntu0.1 amd64 Library for managing RDMA connections rdma-core 17.1-1ubuntu0.1 amd64 RDMA core userspace infrastructure and documentation rdmacm-utils 17.1-1ubuntu0.1 amd64 Examples for the librdmacm library B.R. Changcheng On 13:02 Wed 24 Apr, Jason Gunthorpe wrote: > On Wed, Apr 24, 2019 at 11:32:51PM +0800, Liu, Changcheng wrote: > > Hi Jason, > > I have said that ibv_query_device return non-zero, then the code > > will call abort function. > > Example: > > if (ibv_query_device(ctxt, device_attr)) { > > abort(); > > } > > The demo program could reproduce the problem i.e. > > ibv_query_device_device return non-zero. > > https://github.com/iotcg/rdma_error/blob/master/x722_mcx4.cpp > > you are running and old kernel and user space that does not support > fork() > > Jason