Originally posted by: SystemAdmin
When I tried solving the model in a standalone C++ program - which just solves this model, it works fine.
Originally, I am trying to solve the model as part of a bigger C++ parallel program, which is where I get this flaoting point excpetion.
There seems to be something wrong with other settings in that program. But I am not able to figure out what is going wrong. Here is the stacktrace:
IBM ILOG License Manager:
"IBM ILOG Optimization Suite for Academic Initiative" is accessing CPLEX 12 with option(s):
"e m b q ". Selected objective sense: MINIMIZE Selected objective name: obj Selected RHS name: rhs Selected bound name: bnd [New Thread 0x7fffe8458700 (LWP 19369)] [New Thread 0x7fffe7c57700 (LWP 19370)] [New Thread 0x7fffe7456700 (LWP 19371)] [New Thread 0x7fffe6c55700 (LWP 19372)] [New Thread 0x7fffe6454700 (LWP 19373)] [New Thread 0x7fffe5c53700 (LWP 19374)] Program received signal SIGFPE, Arithmetic exception. 0x00007ffff57da8a3 in sYSTRIm (av=0x7ffff5adee40, p=<value optimized out>) at malloc.c:3469 3469 malloc.c: No such file or directory. in malloc.c (gdb) bt #0 0x00007ffff57da8a3 in sYSTRIm (av=0x7ffff5adee40, p=<value optimized out>) at malloc.c:3469 #1 _int_free (av=0x7ffff5adee40, p=<value optimized out>) at malloc.c:5023 #2 0x00007ffff57dcf34 in _int_memalign (av=0x7ffff5adee40, alignment=128, bytes=<value optimized out>) at malloc.c:5535 #3 0x00007ffff57dd8f2 in *__GI___libc_memalign (alignment=128, bytes=208) at malloc.c:3880 #4 0x00007ffff57ddb49 in __posix_memalign (memptr=0x7fffffffd690, alignment=140737315204672, size=0) at malloc.c:6298 #5 0x0000000000adc1d0 in _72214214d78c983d152821788976a8c6 () #6 0x0000000000adb7fe in _0ff8510b91f0240cafe918f6ab601dab () #7 0x0000000000acacfc in _6c1d46d73b0dde26d6b83f067d127490 () #8 0x0000000000e619c3 in _a63ebf32b5fa955337ab6918eae01350 () #9 0x0000000000a9dc53 in CPXlpopt () #10 0x000000000080628e in IloCplexI::solve() () #11 0x0000000000eefb13 in IloAlgorithm::callSolve()
const () #12 0x0000000000eefb94 in IloAlgorithm::solve()
const () #13 0x000000000068fb58 in IloCplex::solve (this=0x7fffffffdd50) at /dcsdata/home/alanger/workspace/cplex_studio_124/cplex/include/ilcplex/ilocplexi.h:2938 #14 0x0000000000690044 in CPLEX_Solver (this=0x1b23880, modelFilePath=0x1ad78f8
"fixed.mps") at ../src/CPLEX_Solver.h:38 #15 0x000000000068c34c in jet::Stg2Solver::getToWork (this=0x1b1cca0) at ../src/Stg2Solver.C:29 #16 0x000000000068e566 in jet::CkIndex_Stg2Solver::_call_getToWork_void (impl_msg=0x1b172e0, impl_obj=0x1b1cca0) at ./stage2Solver.def.h:114 #17 0x00000000006ec814 in CkDeliverMessageFree (epIdx=135, msg=0x1b172e0, obj=0x1b1cca0) at ck.C:575 #18 0x00000000007099d9 in CkLocRec_local::invokeEntry (this=0x1b1d000, obj=0x1b1cca0, msg=0x1b172e0, epIdx=135, doFree=
true) at cklocation.C:1409 #19 0x0000000000709c87 in CkLocRec_local::deliver (this=0x1b1d000, msg=0x1b172e0, type=CkDeliver_inline, opts=0) at cklocation.C:1472 #20 0x000000000070b7f6 in CkLocMgr::deliver (this=0x1b175c0, m=0x1b172e0, type=CkDeliver_inline, opts=0) at cklocation.C:2286 #21 0x00000000006f2828 in CkLocMgr::deliverInline (this=0x1b175c0, m=0x1b172e0) at cklocation.h:549 #22 0x00000000006ee507 in _processArrayEltMsg (ck=0x1aae940, env=0x1b17288) at ck.C:1137 #23 0x00000000006ee6df in _processHandler (converseMsg=0x1b17288, ck=0x1aae940) at ck.C:1220 #24 0x000000000079622a in CmiHandleMessage (msg=0x1b17288) at convcore.c:1595 #25 0x0000000000796470 in CsdScheduleForever () at convcore.c:1797 #26 0x00000000007963d2 in CsdScheduler (maxmsgs=-1) at convcore.c:1740 #27 0x00000000007944c4 in ConverseRunPE (everReturn=0) at machine.c:2652 #28 0x000000000079498a in ConverseInit (argc=3, argv=0x7fffffffe368, fn=0x6e1ac3 <_initCharm(int, char**)>, usc=0, everReturn=0) at machine.c:2868 #29 0x00000000006f7cec in main (argc=3, argv=0x7fffffffe368) at main.C:25
It looks like CPLEX is trying to spawn multiple threads, and something is going wrong there. Probably I would try to turn off CPLEX multithreading
#CPLEXOptimizers#DecisionOptimization