Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Bug] SCIPnodeFree() triggers a segmentation fault for certain problems. #99

Open
yu961549745 opened this issue Jul 29, 2024 · 1 comment

Comments

@yu961549745
Copy link

yu961549745 commented Jul 29, 2024

scip version

SCIP version 9.1.0 [precision: 8 byte] [memory: block] [mode: optimized] [LP solver: Soplex 7.0.1] [GitHash: 8cab0278ba]
Copyright (c) 2002-2024 Zuse Institute Berlin (ZIB)

External libraries: 
  Readline 8.2         GNU library for command line editing (gnu.org/s/readline)
  Soplex 7.0.1         Linear Programming Solver developed at Zuse Institute Berlin (soplex.zib.de) [GitHash: 1cc71921]
  CppAD 20180000.0     Algorithmic Differentiation of C++ algorithms developed by B. Bell (github.com/coin-or/CppAD)
  ZLIB 1.2.12          General purpose compression library by J. Gailly and M. Adler (zlib.net)
  GMP 6.3.0            GNU Multiple Precision Arithmetic Library developed by T. Granlund (gmplib.org)
  AMPL/MP 690e9e7      AMPL .nl file reader library (github.com/ampl/mp)
  PaPILO 2.3.0         parallel presolve for integer and linear optimization (github.com/scipopt/papilo) (built with TBB)
  Nauty 2.8.8          Computing Graph Automorphism Groups by Brendan D. McKay (users.cecs.anu.edu.au/~bdm/nauty)
  sassy 1.1            Symmetry preprocessor by Markus Anders (github.com/markusa4/sassy)
  Ipopt 3.14.16        Interior Point Optimizer developed by A. Waechter et.al. (github.com/coin-or/Ipopt)

solving this problem triggers a segmentation fault
v1.zip

run in the unzipped folder

scip -b run.sh

output

time | node  | left  |LP iter|LP it/n|mem/heur|mdpt |vars |cons |rows |cuts |sepa|confs|strbr|  dualbound   | primalbound  |  gap   | compl. 
 16.2s| 63300 | 63287 | 77429 |   1.2 |    61M |  61k| 107 | 257 |  61 |  53 |  1 | 443 | 110 | 7.170997e+03 |      --      |    Inf | unknown
 16.2s| 63400 | 63387 | 77529 |   1.2 |    61M |  61k| 107 | 257 |  61 |  53 |  1 | 443 | 110 | 7.170997e+03 |      --      |    Inf | unknown
L16.2s| 63450 | 63437 | 77579 |   1.2 |    alns|  61k| 107 | 257 |  61 |  53 |  1 | 443 | 110 | 7.170997e+03 | 7.261000e+03 |   1.26%| unknown
L16.3s| 63450 |     0 | 77579 |   1.2 |    alns|  61k| 107 | 257 |  61 |  53 |  1 | 443 | 110 | 7.171000e+03 | 7.171000e+03 |   0.00%| 100.00%
zsh: segmentation fault  /usr/local/Cellar/scip/9.1.0/bin/scip

gdb backtrace

#0  0x000000010016de7b in eventExecEstim ()
#1  0x0000000100428fff in SCIPeventhdlrExec ()
#2  0x000000010042b17d in SCIPeventfilterProcess ()
#3  0x000000010042ac30 in SCIPeventProcess ()
#4  0x000000010058108d in SCIPnodeFree ()
#5  0x0000000100581883 in SCIPnodeFree ()
#6  0x0000000100581883 in SCIPnodeFree ()
...
#52396 0x0000000100581883 in SCIPnodeFree ()
#52397 0x000000010058547c in SCIPnodeFocus ()
#52398 0x0000000100567522 in SCIPsolveCIP ()
#52399 0x000000010052edee in SCIPsolve ()
#52400 0x000000010015ccaf in SCIPdialogExecOptimize ()
#52401 0x0000000100426744 in SCIPdialogExec ()
#52402 0x00000001004266c1 in SCIPdialoghdlrExec ()
#52403 0x000000010050ed11 in SCIPstartInteraction ()
#52404 0x000000010054bce3 in SCIPprocessShellArguments ()
#52405 0x000000010054c4df in SCIPrunShell ()
#52406 0x0000000100003bc0 in main ()
@svigerske
Copy link
Member

svigerske commented Jul 29, 2024

It might be something like a stack overflow due to the immensely big call stack.
It seems that SCIP tries to free the tree by recursive function calls, which is a bad idea when you have a very deep tree.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants