scipopt / scip

SCIP - Solving Constraint Integer Programs
Other
406 stars 67 forks source link

SCIP+CVXPY core dump on Ubuntu 20.04 #38

Closed AndreaMontalbani closed 5 months ago

AndreaMontalbani commented 1 year ago

I am trying to use SCIP to solve a quadratic optimization problem. As a baseline I tried to install cvxpy and SCIP and solve the MQIP sample problem at https://www.cvxpy.org/examples/basic/mixed_integer_quadratic_program.html

However I get a SIGILL termination message. after the SCIP solver is invoked, not 100% sure this is on SCIP to blame.

scip -voutput:

SCIP version 8.0.3 [precision: 8 byte] [memory: block] [mode: optimized] [LP solver: Soplex 6.0.3] [GitHash: 62fab8a2e3]
Copyright (C) 2002-2022 Konrad-Zuse-Zentrum fuer Informationstechnik Berlin (ZIB)

External libraries: 
  Readline 8.0         GNU library for command line editing (gnu.org/s/readline)
  Soplex 6.0.3         Linear Programming Solver developed at Zuse Institute Berlin (soplex.zib.de) [GitHash: f900e3d0]
  CppAD 20180000.0     Algorithmic Differentiation of C++ algorithms developed by B. Bell (github.com/coin-or/CppAD)
  ZLIB 1.2.11          General purpose compression library by J. Gailly and M. Adler (zlib.net)
  GMP 6.2.0            GNU Multiple Precision Arithmetic Library developed by T. Granlund (gmplib.org)
  AMPL/MP 4e2d45c4     AMPL .nl file reader library (github.com/ampl/mp)
  bliss 0.77           Computing Graph Automorphism Groups by T. Junttila and P. Kaski (www.tcs.hut.fi/Software/bliss/)

Compiler: gcc 9.4.0

Build options:
 ARCH=x86_64
 COMP=gnu
 DEBUGSOL=false
 EXPRINT=cppad
 GMP=true
 IPOPT=false
 IPOPTOPT=opt
 LPS=spx2
 LPSCHECK=false
 LPSOPT=opt
 NOBLKBUFMEM=false
 NOBLKMEM=false
 NOBUFMEM=false
 OPT=opt
 OSTYPE=linux
 THREADSAFE=true
 PAPILO=false
 READLINE=true
 SANITIZE=
 SHARED=false
 SYM=bliss
 USRARFLAGS=
 USRCFLAGS=
 USRCXXFLAGS=
 USRFLAGS=
 USRLDFLAGS=
 USROFLAGS=
 VERSION=8.0.3
 WORHP=false
 WORHPOPT=opt
 ZIMPL=false
 ZIMPLOPT=opt
 AMPL=true
 ZLIB=true

cat /proc/cpuinfo output:

Linux [REDACTED] 5.15.0-56-generic #62~20.04.1-Ubuntu SMP Tue Nov 22 21:24:20 UTC 2022 x86_64 x86_64 x86_64 GNU/Linux

Attaching a zip containing the dump file

dump_file.zip

svigerske commented 1 year ago

A SIGILL means an "illegal instructions", that is, some instruction in the machine code of the SCIP binary that isn't understood by your CPU.

The cause can be either a weird bug in SCIP (which corrupts the memory or program pointer) or that the SCIP binary uses indeed some instructions that your CPU does not support. The latter shouldn't happen if you build SCIP on the same machine where you run it, but could more likely happen if you downloaded a SCIP binary from somewhere else.

What you say is the content from /proc/cpuinfo looks like the output of uname -a and doesn't say much about the CPU (and the instruction sets it supports).

I couldn't download the dump file. If this is the core dump, then it would be more useful in connection with the SCIP binary. Maybe if you run scip under gdb, you'll be able to see where the SIGILL happens.

svigerske commented 5 months ago

Cannot fix or reproduce.