[Gluster-devel] Question on rpc_transport_unref

Emmanuel Dreyfus manu at netbsd.org
Sat Apr 27 04:52:37 UTC 2013


Emmanuel Dreyfus <manu at netbsd.org> wrote:

> Is it normal behavior that the reference count drops to zero while the
> brick is being used by a client? Is there a reference count problem
> somewhere?

I added debug message to trace transport reference counts, I found
something that looks rotten. Here is brick startup:

[socket.c:2975:socket_listen]
  rpc_transport_ref(0x7f7ff6bf5000) 0 -> 1
[socket.c:2817:socket_connect]
  rpc_transport_ref(0x7f7ff6fbd000) 1 -> 2
[socket.c:2975:socket_listen]
  rpc_transport_ref(0x7f7ff6fd0000) 0 -> 1
[socket.c:2548:socket_server_event_handler]
  rpc_transport_ref(0x7f7ff6fcc000) 0 -> 1
[socket.c:2548:socket_server_event_handler]
  rpc_transport_ref(0x7f7ff6fcd000) 0 -> 1
[rpcsvc.c:309:rpcsvc_request_init]
   rpc_transport_ref(0x7f7ff6fcd000) 1 -> 2
[rpcsvc.c:282:rpcsvc_request_destroy] 
  rpc_transport_unref(0x7f7ff6fcd000) 2 -> 1
[rpcsvc.c:309:rpcsvc_request_init] 
  rpc_transport_ref(0x7f7ff6fcd000) 1 -> 2
[rpcsvc.c:282:rpcsvc_request_destroy]    
  rpc_transport_unref(0x7f7ff6fcd000) 2 -> 1
[rpcsvc.c:309:rpcsvc_request_init]
  rpc_transport_ref(0x7f7ff6fcd000) 1 -> 2
[rpcsvc.c:282:rpcsvc_request_destroy] 
  rpc_transport_unref(0x7f7ff6fcd000) 2 -> 1
[rpcsvc.c:309:rpcsvc_request_init] 
  rpc_transport_ref(0x7f7ff6fcd000) 1 -> 2
[rpcsvc.c:282:rpcsvc_request_destroy] 
  rpc_transport_unref(0x7f7ff6fcd000) 2 -> 1
[rpcsvc.c:309:rpcsvc_request_init] 
  rpc_transport_ref(0x7f7ff6fcd000) 1 -> 2
[server-helpers.c:762:server_alloc_frame]
  rpc_transport_ref(0x7f7ff6fcd000) -151203840 -> -151201064

We can note that -151203840 is 0xf6fcd000, which oddly looks like
transport address itself.

-- 
Emmanuel Dreyfus
http://hcpnet.free.fr/pubz
manu at netbsd.org




More information about the Gluster-devel mailing list