Re: segmentation fault when using librbd interface

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



I'd recommend running your program through valgrind first to see if something pops out immediately.

-- 

Jason Dillaman 


----- Original Message ----- 

> From: "min fang" <louisfang2013@xxxxxxxxx>
> To: ceph-users@xxxxxxxxxxxxxx
> Sent: Saturday, October 31, 2015 10:43:22 PM
> Subject: Re:  segmentation fault when using librbd interface

> 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 < louisfang2013@xxxxxxxxx > :

> > 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@xxxxxxxxxxxxxx
> http://lists.ceph.com/listinfo.cgi/ceph-users-ceph.com
_______________________________________________
ceph-users mailing list
ceph-users@xxxxxxxxxxxxxx
http://lists.ceph.com/listinfo.cgi/ceph-users-ceph.com



[Index of Archives]     [Information on CEPH]     [Linux Filesystem Development]     [Ceph Development]     [Ceph Large]     [Linux USB Development]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [xfs]


  Powered by Linux