[Symphony-tickets] [SYMPHONY Branch-and-Cut Framework] #45: crash freeing solver aftering trying to modify objective coeffs

SYMPHONY Branch-and-Cut Framework coin-trac at coin-or.org
Fri Sep 1 13:26:33 EDT 2006


#45: crash freeing solver aftering trying to modify objective coeffs
----------------------+-----------------------------------------------------
 Reporter:  kishshen  |       Owner:  tkr
     Type:  defect    |      Status:  new
 Priority:  major     |   Milestone:     
Component:  Master    |     Version:     
 Severity:  normal    |    Keywords:     
----------------------+-----------------------------------------------------
 From my post to Coin-symphony:

 I have been using SYMPHONY through OsiSymSolverInterface, with CLP as the
 linear solver.
 I am using Osi because the code can be used with other solvers (I have
 tested the code with
 Cbc/Clp).

 I get a SIGABRT when I free the OsiSymSolverInterface after trying to
 solve a problem
 that changes the objective coeffs and resolving the problem. I get the
 following warnings
 first:

 sym_warm_solve(): SYMPHONY can not resolve for the
 obj coeff change when reduced cost fixing is on,for now!
 sym_get_obj_val(): There is no solution!
 sym_get_col_solution(): There is no solution!

 and then later on, when the OsiSumSolverInterface is being deleted, the
 crash happens
 when OsiSymSolverInterface::~OsiSymSolverInterface() calls
 sym_close_environment(),
 with the message:

 *** glibc detected *** double free or corruption (fasttop): 0x08061ff0 ***

 apparently in

    FREE(env->best_sol.xind);

 in free_master_u() [in master_wrapper.c]

 where *env->best_sol.xind is pointing to the location:

 (gdb) p *env->best_sol.xind
 $1 = (int *) 0x8061ff0

 Does this have any to do with there not being a solution? Is there anyway
 around this problem?

 The SYMPHONY I am using is a tarball from 15 July 2006.

 ======

 Please let me know if you require me to generate code that reproduce this
 problem. I have done
 this with using Osi with Cbc/Clp. This involves logging the calls made to
 my interface which
 calls the Coin/Osi procedures. These calls can then be compiled as a C
 program, which along with
 my interface code, can be used to reproduce the problem.

-- 
Ticket URL: <https://projects.coin-or.org/SYMPHONY/ticket/45>
SYMPHONY Branch-and-Cut Framework <http://example.com/>
My example project


More information about the Symphony-tickets mailing list