Decision Optimization

Decision Optimization

Delivers prescriptive analytics capabilities and decision intelligence to improve decision-making.


#Analytics
#DecisionOptimization
#DecisionOptimization
 View Only
  • 1.  Cplex causes fatal error

    Posted 10/24/13 12:38 PM

    Originally posted by: JorisK


    Dear,

    While experimenting with a Incumbent Callback, I got the following error:

    # A fatal error has been detected by the Java Runtime Environment:
    #
    #  SIGSEGV (0xb) at pc=0x00007f2662131136, pid=6988, tid=139803260835584
    #
    # JRE version: 6.0_27-b27
    # Java VM: OpenJDK 64-Bit Server VM (20.0-b12 mixed mode linux-amd64 compressed oops)
    # Derivative: IcedTea6 1.12.6
    # Distribution: Ubuntu 12.04 LTS, package 6b27-1.12.6-1ubuntu0.12.04.2
    # Problematic frame:
    # C  [libcplex125.so+0x4f1136]  _fd86dc1e3910e20549d996c4790090b4+0xe6

    I have attached a small stand-alone example where this happens. This is actually a modified version of one of the examples shipped with Cplex. The error seems to occur when I use both a Incumbent Callback and a warm start. Disabling either of them resolves the issue. Am I doing something wrong or is this a bug in cplex? I'm running cplex 12.5.1. I would expect a slightly more gracefully error if this is not a bug?

    br,

    Joris


    #CPLEXOptimizers
    #DecisionOptimization


  • 2.  Re: Cplex causes fatal error

    Posted 10/27/13 02:41 PM

    Thank you for reporting this. Unfortunately, you have hit a bug in CPLEX. When the MIP start is processed and found to be feasible then the incumbent callback is invoked. However, since MIP starts are handled very early in the solution process some data structures are not yet setup properly.

    A workaround for this issue is to do the following:

    boolean ok = false;
    try { getNodeId(); ok = true; } catch (IloException ignored) {}
    if (ok) {
       // OK to call setNodeData() here
    }

    Function getNodeId() will throw an exception if data structures are not yet setup, so the above code is a safe way to detect whether setNodeData() will segfault. I know that this is far from nice but it is the only workaround I have at the moment.


    #CPLEXOptimizers
    #DecisionOptimization


  • 3.  Re: Cplex causes fatal error

    Posted 07/22/15 04:32 AM

    Originally posted by: PhilippeGr


    Hello,


    Has this bug been addressed in newer version of Cplex?
    I am facing it in Cplex 12.6.0 (C++ lib) and I am wondering if the latest version would avoid the workaround describe above (that works, but still)?

     

    Thanks 


     

     


    #CPLEXOptimizers
    #DecisionOptimization


  • 4.  Re: Cplex causes fatal error

    Posted 07/22/15 07:08 PM

    I'm not able to reproduce the error from the original post with 12.6.0 (i.e., on my machine, running the Test.java program does not crash with 12.6.0, but it does with 12.5.1).

     

    You may have stumbled on something related, but different.  Can you provide a small C++ example that reproduces the issue?

     

    It may be faster for you to just try with the latest version (12.6.2).

     


    #CPLEXOptimizers
    #DecisionOptimization


  • 5.  Re: Cplex causes fatal error

    Posted 08/11/15 01:42 AM

    This bug should be fixed in 12.6.0.1 and later.


    #CPLEXOptimizers
    #DecisionOptimization