[gecode-users] Meaning of exception

Patrick Pekczynski pekczynski at ps.uni-sb.de
Tue Oct 2 07:46:29 CEST 2007


Hi Debdeep:

I guess the others will already know that, but at least for the second 
part of your problem
>   what():  Space::clone: Attempt to invoke operation on failed space
> Aborted
>
>   
I probably have a small hint to point you at.

During propagator development for Gecode I sometimes ran into exactly 
the very same exception.
And the problem for me was always the following:

The propagator I 've been implementing did some reasoning on the domains 
of problem variables, that is
it modified them. But at some point (at the initial development phase) 
the reasoning was simply wrong, so
the semantics of the constraint were not fulfilled and these 
modifications resulted in a failed space, which
could not lead to a solution anymore.

Now HERE comes the tricky  part :-)

Somehow, my propagator implementation forgot to check for exactly this 
failed space and tried to
go on with computation on the failed space,  what you definitely want to 
avoid.

Since I do not know exactly what you are doing I can just guess that you 
are writing your own propagator
for some nice constraint. So all you have to do is to ensure, that at 
any point, where you are modifying the
domains of the problem variables, your propagator does check, whether 
this modification resulted in a failure or not.

If you are aware of all these points, then I can promise you, that you 
won't get such an exception again. :-D




More information about the gecode-users mailing list