[SCIP] assertion failed on variable's probindex

Ambros Gleixner gleixner at zib.de
Fri Dec 3 00:27:16 CET 2021


Hi Marko,

All I could imagine is that you are somehow releasing the variable twice 
in your code.  That would explain the behavior.  If this does not help, 
you can send me a MWE in a private e-mail.

Best,
Ambros


Am 19.11.21 um 14:02 schrieb Horváth Markó:
> Hi Ambros,
> 
> I made some experiments (on windows with scip 7.0.0, 7.0.1, and 7.0.3, 
> as well).
> 
> 1) If I build my problem but do not call SCIPsolve, then everything is 
> okay, there is no memory leak (according to CRT dbg flags).
> 
> 2) If I do not include any of my plugins, but set parameter limits/nodes 
> to 0 and call SCIPsolve (that is, only "SCIP code" is running), I get 
> again that error due to assert((*var)->probindex == -1); in SCIPfree.
> 
> This is the call stack (on windows running):
> 
>       libscip.dll!varFree(SCIP_Var * * var, BMS_BlkMem * blkmem, 
> SCIP_Set * set, SCIP_EventQueue * eventqueue, SCIP_Lp * lp) Line 2682    C
>       libscip.dll!SCIPvarRelease(SCIP_Var * * var, BMS_BlkMem * blkmem, 
> SCIP_Set * set, SCIP_EventQueue * eventqueue, SCIP_Lp * lp) Line 2803    C
>       libscip.dll!SCIPreleaseVar(Scip * scip, SCIP_Var * * var) Line 
> 1259    C
>       libscip.dll!consdataFree(Scip * scip, SCIP_ConsData * * consdata) 
> Line 1067    C
>       libscip.dll!consDeleteLinear(Scip * scip, SCIP_Conshdlr * 
> conshdlr, SCIP_Cons * cons, SCIP_ConsData * * consdata) Line 15761    C
>       libscip.dll!SCIPconsFree(SCIP_Cons * * cons, BMS_BlkMem * blkmem, 
> SCIP_Set * set) Line 6149    C
>       libscip.dll!SCIPconsRelease(SCIP_Cons * * cons, BMS_BlkMem * 
> blkmem, SCIP_Set * set) Line 6224    C
>       libscip.dll!SCIPprobDelCons(SCIP_Prob * prob, BMS_BlkMem * blkmem, 
> SCIP_Set * set, SCIP_Stat * stat, SCIP_Cons * cons) Line 1396    C
>       libscip.dll!SCIPprobFree(SCIP_Prob * * prob, SCIP_Messagehdlr * 
> messagehdlr, BMS_BlkMem * blkmem, SCIP_Set * set, SCIP_Stat * stat, 
> SCIP_EventQueue * eventqueue, SCIP_Lp * lp) Line 424    C
>       libscip.dll!SCIPfreeProb(Scip * scip) Line 751    C
>       libscip.dll!SCIPfree(Scip * * scip) Line 325    C
> 
> Regards,
> Marko
> 
> 2021. 10. 27. 16:10 keltezéssel, Ambros Gleixner írta:
>> Hi Marko,
>>
>> I am sorry we were not responsive so far, it seems like nobody had a 
>> good idea.
>>
>> Can you send a detailed backtrace to see where the assert comes from? 
>> Can you reproduce the problem also on Linux and make sure everything 
>> is okay with memory by running valgrind?
>>
>> Best,
>> Ambros
>>
>>
>> Am 08.10.2021 um 08:57 schrieb Horváth Markó:
>>> Hi there,
>>>
>>> my problem is still present. I ask again, if I get an answer now.
>>>
>>> Best regards,
>>> Marko
>>>
>>> 2021. 08. 31. 13:11 keltezéssel, Horváth Markó írta:
>>>>
>>>> Hi there,
>>>>
>>>> I'm working on a branch-and-price approach using SCIP Optimitation 
>>>> Suite 7.0.3 on windows (and on linux, as well). After the problem is 
>>>> solved, in method SCIPfree (more precisely, method varFree) I get 
>>>> the following problem:
>>>>
>>>> *Assertion failed: (*var)->probindex == -1, file <my 
>>>> path>\scip\var.c, line 2682*
>>>>
>>>> since the value of probindex is 16. Can you help me to fix this 
>>>> issue? As I see, the problem already occures when the first priced 
>>>> variable is going to be freed
>>>>
>>>> I have already checked previous reports about this problem 
>>>> (http://listserv.zib.de/pipermail/scip/2017-April/003078.html). 
>>>> Briefly stated, I use the following steps to create and add priced 
>>>> variables to the problem (actually, initial variables are added to 
>>>> the problem in the same way):
>>>>
>>>> ...
>>>> SCIPcreateObjVar( scip, &var, varname, 0.0, 1.0, obj, 
>>>> SCIP_VARTYPE_BINARY, initial, FALSE, vardata, TRUE )
>>>> if( initial )
>>>>   SCIP_CALL( SCIPaddVar( scip, var ) );
>>>> else
>>>>   SCIP_CALL( SCIPaddPricedVar( scip, var, 1.0 ) );
>>>> SCIPchgVarUbLazy( scip, var, 1.0 )
>>>> SCIPaddCoefLinear(...)
>>>> ...
>>>> SCIPaddCoefLinear(...)
>>>> SCIPreleaseVar( scip, &var )
>>>>
>>>> (Note that assertion (*var)->nuses == 0 does not failed).
>>>>
>>>> Best Regards,
>>>> Marko
>>>>
>>>>
>>>> _______________________________________________
>>>> Scip mailing list
>>>> Scip at zib.de
>>>> https://listserv.zib.de/mailman/listinfo/scip
>>>
>>> -- 
>>> Markó HORVÁTH PhD,
>>> research fellow
>>> -------------------------------------------------------------
>>> Research Laboratory on Engineering & Management Intelligence,
>>> Institute for Computer Science and Control
>>>   H-1111 Budapest, Kende u. 13-17.
>>>   Room : K318
>>>   Phone: +36 1 279 7164
>>>
>>>
>>> _______________________________________________
>>> Scip mailing list
>>> Scip at zib.de
>>> https://listserv.zib.de/mailman/listinfo/scip
>>>
>> _______________________________________________
>> Scip mailing list
>> Scip at zib.de
>> https://listserv.zib.de/mailman/listinfo/scip
> 


More information about the Scip mailing list