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

Problems with re-entrancy and saslregex



I'm playing around with saslregex, and a rule which makes it do an LDAP 
query. For the curious the rule looks like

saslRegexp 
    uid=(.*),cn=GSSAPI,cn=auth
    ldap://localhost/dc=inf,dc=ed,dc=ac,dc=uk??sub?krbName=$1@INF.ED.AC.UK

I have got an index for krbName - but I think most of that is irrelevant.

It looks like there's an occasional problem with the server where it 
deadlocks in the middle of this query. The problem seems to occur more when 
the server is under load - especially if it is handling multiple queries 
which go via this regex.

The thread handling the connection doesn't die when the server is killed, and 
if debugging is enabled, the following is constantly, repeatedly, output:

ldap_chkResponseList for msgid=-1, all=1
ldap_chkResponseList returns NULL
do_ldap_select
wait4msg continue, msgid -1, all 1
** Connections:
  refcnt: 0  status: Connected
  last used: Thu Jan  1 01:00:00 1970

** Outstanding Requests:
 * msgid 0,  origid 0, status InProgress
   outstanding referrals 0, parent count 0
** Response Queue:
 * msgid 0,  type 100

(gdb also shows a thread spending most of its time in the logging routine)

I'm going to look into this further tomorrow, hence posting here rather than 
filing a bug report, but if anyone has any insight on this it would be 
appreciated!

Cheers,

Simon.

-- 
Simon Wilkinson            <simon@sxw.org.uk>          http://www.sxw.org.uk
"A key to the understanding of all religion is that a god's idea of amusement 
is Snakes and Ladders with greased rungs." - Terry Pratchett