[gecode-users] Crash while freeing memory in connection with VS2010

Christian Schulte cschulte at kth.se
Thu Jan 20 09:02:44 CET 2011


Please,

 

also let us know which platform (x86 versus x64) and whether you use the
binaries we distribute or have build them yourselves (then we need to know
whether you built with 2008 or 2010)

 

Thanks

Christian

 

--

Christian Schulte, www.ict.kth.se/~cschulte/

 

From: users-bounces at gecode.org [mailto:users-bounces at gecode.org] On Behalf
Of Mikael Zayenz Lagerkvist
Sent: Wednesday, January 19, 2011 8:46 PM
To: Alexander Kleff
Cc: users at gecode.org
Subject: Re: [gecode-users] Crash while freeing memory in connection with
VS2010

 

Hi,

 

You seem to be using managed C++. Have you tried running your program with
standard C++? The different memory policy might be a source of problems.

 

I don't have a Windows machine to test on, so I haven't tried your program
myself.

 

Cheers,

Mikael

2011/1/19 Alexander Kleff <alexander.kleff at ptv.de>

Hi once again,

 

the code below compiles and links in both versions (so I assume I did not
make an all too obvious modeling mistake) but it crashes in VS2010 in
contrast to VS2008(Express).

The error seems to occur during the destruction of the linear expression.
The debugger sets the break point to Heap::rfree(void* p) in heap.hpp in all
three cases.

Can you reproduce it? 

 

Thanks for help,

Alexander

 

 

 

#include <gecode/minimodel.hh>

 

using namespace Gecode;

 

class GecodeTest : public Space {

public:

  GecodeTest(void) 

  {

   IntVar z(*this, 0, 1);

 

   IntVar e1 = expr(*this, 1 * z);

   IntVar e2 = expr(*this, z);      // error 1

 

   IntArgs cost(2);

   for (int v=0; v<2; ++v)

   {

      cost[v] = v;      

   }

 

   LinExpr xy = element(cost, z);  

   IntVar e3 = expr(*this, xy);

   IntVar e4 = expr(*this, element(cost, z));   // error 2

  } // error 3 (in destructor)

 

 

  GecodeTest(bool share, GecodeTest& s) : Space(share, s) {}

  virtual Space* copy(bool share) { return new GecodeTest(share,*this); }

};

 

 

// main function

int main(array<System::String ^> ^args)

{

  GecodeTest* m = new GecodeTest;

  delete m;

  return 0;

}

 


_______________________________________________
Gecode users mailing list
users at gecode.org
https://www.gecode.org/mailman/listinfo/gecode-users




-- 
Mikael Zayenz Lagerkvist, http://www.ict.kth.se/~zayenz/

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.gecode.org/pipermail/users/attachments/20110120/3c42dcb3/attachment.htm>


More information about the users mailing list