Hello,

While writing some propagator using range iterators and testing it, I fell upon a segfault. Tracking it down, it appears to happen when I use the assignment operator on NaryUnion. Here is a (almost) minimal example reproducing the problem:

#include "gecode/driver.hh"
#include "gecode/iter.hh"
using namespace Gecode;

class MySpace:public Space {
public:
    virtual Space* copy(bool share){return this;}
};

int main(int argc, char* argv[]){
    MySpace home;
    Iter::Ranges::Empty empty;
    Region region(home);
    Iter::Ranges::NaryUnion var1(region,empty);
    Iter::Ranges::NaryUnion var2;
    std::cout << "pass?" << std::endl;
    var2 = var1;
    std::cout << "passed" << std::endl;
    return 0;
}


The second print statement is never reached. What am I doing wrong?

I'm using Gecode 3.7.1 (I haven't upgraded to 3.7.2 yet but according to the changelog, this problem seems unrelated to the changes between the two versions), on Linux Ubuntu 11.04, and compiling with GCC 4.5.2.

Thank you for your answers,

Jean-Noël Monette

_______________________________________________
Gecode users mailing list
[email protected]
https://www.gecode.org/mailman/listinfo/gecode-users

Reply via email to