this segmentation fault should happen in rbd_read function, I can see code call this function, and then get segmentation fault, which means rbd_read has not been completed successfully when segmentation fault happened.
2015-11-01 10:34 GMT+08:00 min fang <louisfang2...@gmail.com>: > > > Hi,my code get Segmentation fault when using librbd to do sync read IO. > From the trace, I can say there are several read IOs get successfully, but > the last read IO (2015-10-31 08:56:34.804383) can not be returned and my > code got segmentation fault. I used rbd_read interface and malloc a buffer > for read data buffer. > > Anybody can help this? Thanks. > > > 2015-10-31 08:56:34.750411 7f04bcbdc7c0 20 librbd: read 0x17896d0 off = 0 > len = 4096 > 2015-10-31 08:56:34.750436 7f04bcbdc7c0 20 librbd: aio_read 0x17896d0 > completion 0x1799440 [0,4096] > 2015-10-31 08:56:34.750442 7f04bcbdc7c0 20 librbd: ictx_check 0x17896d0 > 2015-10-31 08:56:34.750451 7f04bcbdc7c0 20 librbd::AsyncOperation: > 0x1799570 start_op > 2015-10-31 08:56:34.750453 7f04bcbdc7c0 20 librbd: oid > rb.0.8597.2ae8944a.000000000000 0~4096 from [0,4096] > 2015-10-31 08:56:34.750457 7f04bcbdc7c0 10 librbd::ImageCtx: > prune_parent_extents image overlap 0, object overlap 0 from image extents [] > 2015-10-31 08:56:34.750462 7f04bcbdc7c0 20 librbd::AioRequest: send > 0x1799c60 rb.0.8597.2ae8944a.000000000000 0~4096 > 2015-10-31 08:56:34.750498 7f04bcbdc7c0 1 -- 192.168.90.240:0/1006544 > --> 192.168.90.253:6801/2041 -- osd_op(client.34253.0:92 > rb.0.8597.2ae8944a.000000000000 [sparse-read 0~4096] 2.7cf90552 > ack+read+known_if_redirected e30) v5 -- ?+0 0x179b890 con 0x17877b0 > 2015-10-31 08:56:34.750526 7f04bcbdc7c0 20 librbd::AioCompletion: > AioCompletion::finish_adding_requests 0x1799440 pending 1 > 2015-10-31 08:56:34.780308 7f04b0bb5700 1 -- 192.168.90.240:0/1006544 > <== osd.0 192.168.90.253:6801/2041 5 ==== osd_op_reply(92 > rb.0.8597.2ae8944a.000000000000 [sparse-read 0~4096] v0'0 uv8 ondisk = 0) > v6 ==== 198+0+4120 (3153096351 0 1287205638) 0x7f0494001ce0 con 0x17877b0 > 2015-10-31 08:56:34.780408 7f04b14b7700 20 librbd::AioRequest: > should_complete 0x1799c60 rb.0.8597.2ae8944a.000000000000 0~4096 r = 0 > 2015-10-31 08:56:34.780418 7f04b14b7700 20 librbd::AioRequest: > should_complete 0x1799c60 READ_FLAT > 2015-10-31 08:56:34.780420 7f04b14b7700 20 librbd::AioRequest: complete > 0x1799c60 > 2015-10-31 08:56:34.780421 7f04b14b7700 10 librbd::AioCompletion: > C_AioRead::finish() 0x1793710 r = 0 > 2015-10-31 08:56:34.780422 7f04b14b7700 10 librbd::AioCompletion: got > {0=4096} for [0,4096] bl 4096 > 2015-10-31 08:56:34.780432 7f04b14b7700 20 librbd::AioCompletion: > AioCompletion::complete_request() 0x1799440 complete_cb=0x7f04ba2b1240 > pending 1 > 2015-10-31 08:56:34.780434 7f04b14b7700 20 librbd::AioCompletion: > AioCompletion::finalize() 0x1799440 rval 4096 read_buf 0x179a5e0 read_bl 0 > 2015-10-31 08:56:34.780440 7f04b14b7700 20 librbd::AioCompletion: > AioCompletion::finalize() copied resulting 4096 bytes to 0x179a5e0 > 2015-10-31 08:56:34.780442 7f04b14b7700 20 librbd::AsyncOperation: > 0x1799570 finish_op > 2015-10-31 08:56:34.780766 7f04bcbdc7c0 20 librbd: read 0x17896d0 off = > 4096 len = 4096 > 2015-10-31 08:56:34.780778 7f04bcbdc7c0 20 librbd: aio_read 0x17896d0 > completion 0x1799440 [4096,4096] > 2015-10-31 08:56:34.780781 7f04bcbdc7c0 20 librbd: ictx_check 0x17896d0 > 2015-10-31 08:56:34.780786 7f04bcbdc7c0 20 librbd::AsyncOperation: > 0x1799570 start_op > 2015-10-31 08:56:34.780788 7f04bcbdc7c0 20 librbd: oid > rb.0.8597.2ae8944a.000000000000 4096~4096 from [0,4096] > 2015-10-31 08:56:34.780790 7f04bcbdc7c0 10 librbd::ImageCtx: > prune_parent_extents image overlap 0, object overlap 0 from image extents [] > 2015-10-31 08:56:34.780793 7f04bcbdc7c0 20 librbd::AioRequest: send > 0x179bcc0 rb.0.8597.2ae8944a.000000000000 4096~4096 > 2015-10-31 08:56:34.780813 7f04bcbdc7c0 1 -- 192.168.90.240:0/1006544 > --> 192.168.90.253:6801/2041 -- osd_op(client.34253.0:93 > rb.0.8597.2ae8944a.000000000000 [sparse-read 4096~4096] 2.7cf90552 > ack+read+known_if_redirected e30) v5 -- ?+0 0x179b5f0 con 0x17877b0 > 2015-10-31 08:56:34.780833 7f04bcbdc7c0 20 librbd::AioCompletion: > AioCompletion::finish_adding_requests 0x1799440 pending 1 > 2015-10-31 08:56:34.800847 7f04b0bb5700 1 -- 192.168.90.240:0/1006544 > <== osd.0 192.168.90.253:6801/2041 6 ==== osd_op_reply(93 > rb.0.8597.2ae8944a.000000000000 [sparse-read 4096~4096] v0'0 uv8 ondisk = > 0) v6 ==== 198+0+4120 (2253638743 0 3057087703) 0x7f0494001ce0 con 0x17877b0 > 2015-10-31 08:56:34.800947 7f04b14b7700 20 librbd::AioRequest: > should_complete 0x179bcc0 rb.0.8597.2ae8944a.000000000000 4096~4096 r = 0 > 2015-10-31 08:56:34.800956 7f04b14b7700 20 librbd::AioRequest: > should_complete 0x179bcc0 READ_FLAT > 2015-10-31 08:56:34.800957 7f04b14b7700 20 librbd::AioRequest: complete > 0x179bcc0 > 2015-10-31 08:56:34.800958 7f04b14b7700 10 librbd::AioCompletion: > C_AioRead::finish() 0x1796c90 r = 0 > 2015-10-31 08:56:34.800959 7f04b14b7700 10 librbd::AioCompletion: got > {4096=4096} for [0,4096] bl 4096 > 2015-10-31 08:56:34.800963 7f04b14b7700 20 librbd::AioCompletion: > AioCompletion::complete_request() 0x1799440 complete_cb=0x7f04ba2b1240 > pending 1 > 2015-10-31 08:56:34.800965 7f04b14b7700 20 librbd::AioCompletion: > AioCompletion::finalize() 0x1799440 rval 4096 read_buf 0x179a5e0 read_bl 0 > 2015-10-31 08:56:34.800969 7f04b14b7700 20 librbd::AioCompletion: > AioCompletion::finalize() copied resulting 4096 bytes to 0x179a5e0 > 2015-10-31 08:56:34.800971 7f04b14b7700 20 librbd::AsyncOperation: > 0x1799570 finish_op > 2015-10-31 08:56:34.801281 7f04bcbdc7c0 20 librbd: read 0x17896d0 off = > 12288 len = 4096 > 2015-10-31 08:56:34.801292 7f04bcbdc7c0 20 librbd: aio_read 0x17896d0 > completion 0x1799440 [12288,4096] > 2015-10-31 08:56:34.801295 7f04bcbdc7c0 20 librbd: ictx_check 0x17896d0 > 2015-10-31 08:56:34.801300 7f04bcbdc7c0 20 librbd::AsyncOperation: > 0x1799570 start_op > 2015-10-31 08:56:34.801301 7f04bcbdc7c0 20 librbd: oid > rb.0.8597.2ae8944a.000000000000 12288~4096 from [0,4096] > 2015-10-31 08:56:34.801304 7f04bcbdc7c0 10 librbd::ImageCtx: > prune_parent_extents image overlap 0, object overlap 0 from image extents [] > 2015-10-31 08:56:34.801306 7f04bcbdc7c0 20 librbd::AioRequest: send > 0x179bcc0 rb.0.8597.2ae8944a.000000000000 12288~4096 > 2015-10-31 08:56:34.801323 7f04bcbdc7c0 1 -- 192.168.90.240:0/1006544 > --> 192.168.90.253:6801/2041 -- osd_op(client.34253.0:94 > rb.0.8597.2ae8944a.000000000000 [sparse-read 12288~4096] 2.7cf90552 > ack+read+known_if_redirected e30) v5 -- ?+0 0x179b5f0 con 0x17877b0 > 2015-10-31 08:56:34.801342 7f04bcbdc7c0 20 librbd::AioCompletion: > AioCompletion::finish_adding_requests 0x1799440 pending 1 > 2015-10-31 08:56:34.802176 7f04b0bb5700 1 -- 192.168.90.240:0/1006544 > <== osd.0 192.168.90.253:6801/2041 7 ==== osd_op_reply(94 > rb.0.8597.2ae8944a.000000000000 [sparse-read 12288~4096] v0'0 uv8 ondisk = > 0) v6 ==== 198+0+4120 (4245981639 0 251894080) 0x7f0494001ce0 con 0x17877b0 > 2015-10-31 08:56:34.802218 7f04b14b7700 20 librbd::AioRequest: > should_complete 0x179bcc0 rb.0.8597.2ae8944a.000000000000 12288~4096 r = 0 > 2015-10-31 08:56:34.802225 7f04b14b7700 20 librbd::AioRequest: > should_complete 0x179bcc0 READ_FLAT > 2015-10-31 08:56:34.802231 7f04b14b7700 20 librbd::AioRequest: complete > 0x179bcc0 > 2015-10-31 08:56:34.802232 7f04b14b7700 10 librbd::AioCompletion: > C_AioRead::finish() 0x1793710 r = 0 > 2015-10-31 08:56:34.802233 7f04b14b7700 10 librbd::AioCompletion: got > {12288=4096} for [0,4096] bl 4096 > 2015-10-31 08:56:34.802237 7f04b14b7700 20 librbd::AioCompletion: > AioCompletion::complete_request() 0x1799440 complete_cb=0x7f04ba2b1240 > pending 1 > 2015-10-31 08:56:34.802239 7f04b14b7700 20 librbd::AioCompletion: > AioCompletion::finalize() 0x1799440 rval 4096 read_buf 0x179a5e0 read_bl 0 > 2015-10-31 08:56:34.802243 7f04b14b7700 20 librbd::AioCompletion: > AioCompletion::finalize() copied resulting 4096 bytes to 0x179a5e0 > 2015-10-31 08:56:34.802245 7f04b14b7700 20 librbd::AsyncOperation: > 0x1799570 finish_op > 2015-10-31 08:56:34.804372 7f04bcbdc7c0 20 librbd: read 0x17896d0 off = > 1073676288 len = 4096 > 2015-10-31 08:56:34.804383 7f04bcbdc7c0 20 librbd: aio_read 0x17896d0 > completion 0x177c390 [1073676288,4096]2015-10-31 09:00:46.602936 > 7f98ad11d7c0 1 -- :/0 messenger.start > >
_______________________________________________ ceph-users mailing list ceph-users@lists.ceph.com http://lists.ceph.com/listinfo.cgi/ceph-users-ceph.com