[Osi] OsiClpSolverInterface crash in VS2008 x64

Chris Bielow bielow at pcpool.mi.fu-berlin.de
Tue Apr 28 11:15:23 EDT 2009


Hi,

I'm trying to compile&run that really great ILP solver of yours using
Visual Studio 2008 in 64bit mode.
My ILP runs fine in debug mode, but when switching to release mode I get
a nasty stack corruption which I have been unable to trace. The culprit
seems to be the "OsiClpSolverInterface" class. When I create an object
with "new" the program crashes when calling "delete" on it as the next
command (I don't do anything in between).
In a simple test program which just uses the coin-or libs and nothing
else, I can instanciate "OsiClpSolverInterface" in release mode and
delete it without a crash. However, in my big project with lots of other
libs it will crash in release mode.
The exact crash happens in the base class
OsiSolverInterface::setInitialData() in the line: delete handler_;
Being a stack corruption though, I'm not sure this is really where the
mess starts.
This just happens on with x64 Visual Studio. Everything seems fine on
Linux x64.


So long story short:
Has someone ever attempted to use any of the above libs for VS2008 x64?!
Is a problem like this known?!

Would someone be willing to help tackle the issue?! I'd be happy to
provide detailed information on how to reproduce the bug. Probalby
though the proper way is to have a closer look at all the compile
warnings. I think some of them might be the key to the solution, but to
fix them all would take me days or weeks. Most of the warnings stem from
the fact that M$ decided to
have size_t!=unsigned int on x64 platforms.
As there seems to be a discussion going on about refactorisation, maybe 
this is the perfect chance of making the code run on win x64...

Platform Information:
- Codebase: CoinMP-1.3.3.tar.gz
- IDE: VS2008
- changed compiler flags: /MT(d) flags to /MD(d)
- x64 configuration (directly derived from win32)

I only need the six core libs: Cbc, cgl, clp, osi, osiclp and coinutils.
It compiles with some type conversion warnings and created the six .lib 
files.

Already posted something very similar on the VS mailing list, but no 
reply within a week :(

Best,
Chris




More information about the Osi mailing list