[Date Prev][Date Next] [Chronological] [Thread] [Top]

ITS#3051



Full_Name: Jim Campbell
Version: 2.2.8
OS: Solaris 2.8
URL: ftp://ftp.openldap.org/incoming/
Submission from: (NULL) (147.188.40.2)


Closer inspection of the output from ldapsearch with -C and -d 999
shows that its the act of chasing the referral that stops it hanging.

ldap_read: want=80, got=80
  0000:  04 73 84 00 00 00 49 04  47 6c 64 61 70 3a 2f 2f   .s....I.Gldap://  
  0010:  61 64 66 2e 62 68 61 6d  2e 61 63 2e 75 6b 2f 43   adf.bham.ac.uk/C  
  0020:  4e 3d 43 6f 6e 66 69 67  75 72 61 74 69 6f 6e 2c   N=Configuration,  
  0030:  44 43 3d 61 64 66 2c 44  43 3d 62 68 61 6d 2c 44   DC=adf,DC=bham,D  
  0040:  43 3d 61 63 2c 44 43 3d  75 6b 3f 3f 62 61 73 65   C=ac,DC=uk??base  
ber_get_next: tag 0x30 len 82 contents:
ldap_read: message type search-reference msgid 4, original id 4
ber_scanf fmt ({v}) ber:
ldap_chase_v3referrals
ldap_url_parse_ext(ldap://adf.bham.ac.uk/CN=Configuration,DC=adf,DC=bham,DC=ac,DC=uk??base)
re_encode_request: new msgid 5, new dn
<CN=Configuration,DC=adf,DC=bham,DC=ac,DC=uk>
ber_scanf fmt ({it) ber:
ber_scanf fmt ({ae) ber:
re_encode_request new request is:
ldap_chase_v3referral: msgid 4, url
"ldap://adf.bham.ac.uk/CN=Configuration,DC=adf,DC=bham,DC=ac,DC=uk??base";
ldap_send_server_request
ldap_new_connection
ldap_int_open_connection
ldap_connect_to_host: TCP adf.bham.ac.uk:389
ldap_new_socket: 6
ldap_prepare_socket: 6
ldap_connect_to_host: Trying 147.188.27.250:389
.....and continues to finish normally......

whereas without -C option:
ldap_read: want=80, got=80
  0000:  04 73 84 00 00 00 49 04  47 6c 64 61 70 3a 2f 2f   .s....I.Gldap://  
  0010:  61 64 66 2e 62 68 61 6d  2e 61 63 2e 75 6b 2f 43   adf.bham.ac.uk/C  
  0020:  4e 3d 43 6f 6e 66 69 67  75 72 61 74 69 6f 6e 2c   N=Configuration,  
  0030:  44 43 3d 61 64 66 2c 44  43 3d 62 68 61 6d 2c 44   DC=adf,DC=bham,D  
  0040:  43 3d 61 63 2c 44 43 3d  75 6b 3f 3f 62 61 73 65   C=ac,DC=uk??base  
ber_get_next: tag 0x30 len 82 contents:
ldap_read: message type search-reference msgid 4, original id 4
# search reference
ber_scanf fmt ({v) ber:
ber_scanf fmt (}) ber:
ref: ldap://adf.bham.ac.uk/CN=Configuration,DC=adf,DC=bham,DC=ac,DC=uk??base
ldap_msgfree
ldap_result msgid -1
ldap_chkResponseList for msgid=-1, all=0
ldap_chkResponseList returns NULL
wait4msg (infinite timeout), msgid -1
wait4msg continue, msgid -1, all 0
** Connections:
* host: dc1.bham.ac.uk  port: 389  (default)
  refcnt: 2  status: Connected
  last used: Thu Apr  1 15:20:25 2004

** Outstanding Requests:
 * msgid 4,  origid 4, status InProgress
   outstanding referrals 0, parent count 0
** Response Queue:
   Empty
ldap_chkResponseList for msgid=-1, all=0
ldap_chkResponseList returns NULL
read1msg: msgid -1, all 0
ber_get_next
ldap_read: want=8, got=8
  0000:  30 84 00 00 00 10 02 01                            0.......          
ldap_read: want=14, got=14
  0000:  04 65 84 00 00 00 07 0a  01 00 04 00 04 00         .e............    
ber_get_next: tag 0x30 len 16 contents:
ldap_read: message type search-result msgid 4, original id 4
ber_scanf fmt ({iaa) ber:
read1msg:  0 new referrals
read1msg:  mark request completed, id = 4
request 4 done
res_errno: 0, res_error: <>, res_matched: <>
ldap_free_request (origid 4, msgid 4)
ldap_free_connection
ldap_free_connection: refcnt 1
ldap_int_select
........and here it is hung...........
a truss shows:
25439:  write(2, " l d a p _ f r e e _ c o".., 21)      = 21
25439:  time()                                          = 1080829288
ldap_free_connection: refcnt 1
25439:  write(2, " l d a p _ f r e e _ c o".., 31)      = 31
ldap_int_select
25439:  write(2, " l d a p _ i n t _ s e l".., 16)      = 16
25439:  poll(0xFFBEE1D0, 1, -1)         (sleeping...)

cheers
Jim