coin-or / Clp.old

This a mirror of the subversion repository on COIN-OR.
https://projects.coin-or.org/Clp
Other
36 stars 20 forks source link

[TRAC] Clp crashes in resize on some big tasks with some options #45

Closed qtothec closed 6 years ago

qtothec commented 6 years ago

Moved from TRAC as part of COIN fORgery: https://projects.coin-or.org/Clp/ticket/40

To reproduce:

  1. get clp (the problem was noticed on some svn version, then verified on ​https://projects.coin-or.org/svn/Clp/stable/1.12)
  2. prepare artifical test task (please use perl script attached): ./makeTask.pl >task.lp
  3. start command-line clp solver with options: ./clp task.lp presolve off primalS
  4. get error: *** buffer overflow detected ***: /tmp/coin-Clp/Clp/src/.libs/lt-clp terminated (detailed error message obtained on 64-bit Linux system will be attached)

At the first glance, it seems like buffer is overflown in ClpModel::resize() in

char name[9];
sprintf(name, "C%7.7d", iColumn);
bernalde commented 6 years ago

Attachments: https://projects.coin-or.org/Clp/attachment/ticket/40/makeTask.pl Perl script to generate test task (warning: clp will need ~5 Gb RAM to handle that) https://projects.coin-or.org/Clp/attachment/ticket/40/error.txt console output

jjhforrest commented 6 years ago

Code modified to allow for problems > 10,000,000 columns (or rows)