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

Re: (ITS#7233) SLAP_SOCK_NOT_ACTIVE() crash during shutdown



 On Sat, 7 Apr 2012 12:38:30 GMT, h.b.furuseth@usit.uio.no wrote:
>  Fixed in master, e6a25b2db6d7f4dc5d3370e06e3a3e03c5a6635d.
>
>  Or at least, fixed some broken code in master.  But I wonder
>  why it usually worked before.  Testing with sleep(1) before
>  reading tid = *(int*)ptr in slapd_daemon_task() ought
>  to fail (lets caller increment i first), but doesn't.

 Aha, slapd_daemon() sets i=0 after starting the threads.
 Reproduced the crash now by sleeping before setting i=0.


 This ITS probably explains a bunch of other problems, in
 that all 'slapd_daemon_task's usually have been running
 with tid=0, even if there were more listeners.

 assert(tid==0) in slapd_daemon_task does not crash when
 starting slapd with multiple URLs, unless I sleep after
 the loop which starts the threads.

-- 
 Hallvard