[gecode-users] Bugs in Gecode/J

Malcolm Ryan malcolmr at cse.unsw.edu.au
Wed Apr 23 02:38:04 CEST 2008


I made some apparently unrelated changes to the constraints (mostly to  
fix the problem I was having with BExprs, as in a previous email) and  
now the crashes have gone away. If I have time I will try to locate  
the exact problem, but for the time being I am just happy that it is  
working.

Malcolm

On 22/04/2008, at 1:42 PM, Malcolm Ryan wrote:

> Sorry, but that doesn't seem to be it. I've run it in single-processor
> mode on both the Mac and in Linux and the crashes are still occurring.
> It may be that some of the intermittent ones have stopped, but the
> repeatable ones remain.
>
> Malcolm
>
> On 21/04/2008, at 7:34 PM, Guido Tack wrote:
>
>> I'm now certain that it's the concurrent GC that's causing the
>> problems (well, because of some bug in Gecode/J, of course).  You
>> can easily work around it by running java with the -XX:-
>> UseParallelGC option.
>>
>> Cheers,
>> 	Guido
>>
>> Guido Tack wrote:
>>
>>> Malcolm Ryan wrote:
>>>
>>>> I don't mean to hassle you, but I just need to know whether you
>>>> think
>>>> you can help me with this problem. I am working towards a close
>>>> paper
>>>> deadline and I need to know whether to stick with Gecode/J in the
>>>> hope
>>>> that we will be able to sort out these problems, or whether I need
>>>> to
>>>> look for another solution.
>>>
>>> I've run some more experiments, and I can finally reproduce your
>>> bug.  It seems to be a memory management / concurrency issue.  I
>>> could not reproduce the bug on any 1- or 2-core machine, but only
>>> with at least 4 cores.  I suspect Java's concurrent garbage
>>> collector frees some memory that is still in use because we didn't
>>> get the locking right.
>>> Did you do all your experiments on multi-core machines (i.e., more
>>> than 2 cores)?  If that's really the problem, you could run your
>>> tests with a limit on the number of CPUs used.  On Linux, you can
>>> achieve this using the taskset command.  On Mac OS 10.5, you can
>>> follow this hint to get control of your processors:
>>> http://www.macosxhints.com/article.php?story=20071116183942199
>>>
>>> I hope this helps.  We'll try to figure out the real cause of the
>>> problem, but concurrency bugs are typically hard to find - it may
>>> take some time.
>>>
>>> Cheers,
>>> 	Guido
>>>
>>> _______________________________________________
>>> Gecode users mailing list
>>> users at gecode.org
>>> https://www.gecode.org/mailman/listinfo/gecode-users
>>
>
>
> _______________________________________________
> Gecode users mailing list
> users at gecode.org
> https://www.gecode.org/mailman/listinfo/gecode-users





More information about the gecode-users mailing list