Hi Denys, the assertion is correct: this function is called by a worker that has successfully stolen new work for search. As there is at least one other busy worker (the worker from which the work got stolen) it is really meant to be > 0.
Alas, it looks as if there is a bug. Which engine? Which problem? How many cores? Aaargh... Cheers Christian -- Christian Schulte, www.ict.kth.se/~cschulte/ -----Original Message----- From: [email protected] [mailto:[email protected]] On Behalf Of Denys Duchier Sent: Thursday, February 04, 2010 8:22 PM To: [email protected] Subject: [gecode-users] buggy parallel search In gecode/search/parallel/engine.hh: Engine::busy(void) { m_search.acquire(); assert(n_busy > 0); n_busy++; m_search.release(); } is the assert correct or should it be >= 0? I am hitting this assertion with gecode compiled with --enable-debug. Cheers, --Denys _______________________________________________ Gecode users mailing list [email protected] https://www.gecode.org/mailman/listinfo/gecode-users _______________________________________________ Gecode users mailing list [email protected] https://www.gecode.org/mailman/listinfo/gecode-users
