Opened 9 years ago

Closed 4 years ago

#10232 closed defect (fixed)

check GLPK bound errors

Reported by: malb Owned by: jason, jkantor
Priority: major Milestone: sage-7.2
Component: numerical Keywords:
Cc: mkoeppe, dimpase Merged in:
Authors: Vincent Delecroix Reviewers: Dima Pasechnik
Report Upstream: N/A Work issues:
Branch: 6503bc5 (Commits) Commit: 6503bc59718863887e5cc1a66c594be79912c071
Dependencies: #19525 Stopgaps:

Description (last modified by vdelecroix)

This should never happen:

sage: from sage.numerical.backends.generic_backend import get_solver
sage: p = get_solver(solver = "GLPK") 
sage: p.add_variable()
1
sage: p.variable_upper_bound(1)
sig_error() without sig_on()
...
------------------------------------------------------------------------
Unhandled SIGABRT: An abort() occurred.
This probably occurred because a *compiled* module has a bug
in it and is not properly wrapped with sig_on(), sig_off().
Python will now terminate.
------------------------------------------------------------------------
Aborted

Change History (17)

comment:1 Changed 6 years ago by jdemeyer

  • Milestone changed from sage-5.11 to sage-5.12

comment:2 Changed 6 years ago by vbraun_spam

  • Milestone changed from sage-6.1 to sage-6.2

comment:3 Changed 5 years ago by vbraun_spam

  • Milestone changed from sage-6.2 to sage-6.3

comment:4 Changed 5 years ago by vbraun_spam

  • Milestone changed from sage-6.3 to sage-6.4

comment:5 Changed 4 years ago by vdelecroix

The method name changed

AttributeError: 'sage.numerical.backends.glpk_backend.GLPKBackend' object has no attribute 'variable_max'

But still (with #19525 applied)

sage: p.variable_upper_bound(1)
sig_error() without sig_on()
...
------------
Unhandled SIGABRT: An abort() occurred.
This probably occurred because a *compiled* module has a bug
in it and is not properly wrapped with sig_on(), sig_off().
Python will now terminate.
------------------------------------------------------------------------
Aborted

comment:6 Changed 4 years ago by vdelecroix

  • Dependencies set to #19525
  • Description modified (diff)
  • Milestone changed from sage-6.4 to sage-7.2

comment:7 Changed 4 years ago by vdelecroix

  • Authors set to Vincent Delecroix
  • Branch set to u/vdelecroix/10232
  • Commit set to 6503bc59718863887e5cc1a66c594be79912c071
  • Status changed from new to needs_review

New commits:

6503bc5Trac 10232: catch some errors in GLPK backend

comment:8 Changed 4 years ago by vdelecroix

  • Cc mkoeppe added; ncohen removed

comment:9 Changed 4 years ago by mkoeppe

  • Cc dimpase added

comment:10 Changed 4 years ago by mkoeppe

I think the title of this ticket needs to be changed to be more specific.

comment:11 Changed 4 years ago by vdelecroix

  • Summary changed from MIP backends should perform bounds checks to check GLPK bound errors

comment:12 follow-up: Changed 4 years ago by dimpase

  • Summary changed from check GLPK bound errors to MIP backends should perform bounds checks

I've never seen <double?> syntax. What does it do?

comment:13 in reply to: ↑ 12 Changed 4 years ago by vdelecroix

Replying to dimpase:

I've never seen <double?> syntax. What does it do?

It is a Cython cast with type checking: see the documentation.

comment:14 Changed 4 years ago by dimpase

  • Status changed from needs_review to positive_review

OK

comment:15 Changed 4 years ago by vdelecroix

  • Reviewers set to Dima Pasechnik

comment:16 Changed 4 years ago by mkoeppe

  • Summary changed from MIP backends should perform bounds checks to check GLPK bound errors

comment:17 Changed 4 years ago by vbraun

  • Branch changed from u/vdelecroix/10232 to 6503bc59718863887e5cc1a66c594be79912c071
  • Resolution set to fixed
  • Status changed from positive_review to closed
Note: See TracTickets for help on using tickets.