Coder Social home page Coder Social logo

pop heap asserts about cbc HOT 18 CLOSED

svigerske avatar svigerske commented on September 3, 2024
pop heap asserts

from cbc.

Comments (18)

svigerske avatar svigerske commented on September 3, 2024

Comment by @jjhforrest created at 2006-09-21 19:57:55

This seems to be because Microsoft heap assumes the comparison of x an dy will always return same result. If their values were equal and because of the way comparisons were done it was possible for the result to be random.

Hopefully fixed on development branch

from cbc.

svigerske avatar svigerske commented on September 3, 2024

Comment by @jjhforrest created at 2006-09-21 19:57:55

Changing assignee from somebody to @jjhforrest.

from cbc.

svigerske avatar svigerske commented on September 3, 2024

Comment by @jjhforrest created at 2006-09-21 19:58:15

Resolution: fixed

from cbc.

svigerske avatar svigerske commented on September 3, 2024

Comment by San created at 2007-01-04 02:02:06

The problem doesn't seem to be fixed in 1.1 stable as I've just encountered the same problem again.

from cbc.

svigerske avatar svigerske commented on September 3, 2024

Comment by San created at 2007-01-04 02:02:06

Resolution changed from fixed to

from cbc.

svigerske avatar svigerske commented on September 3, 2024

Comment by San created at 2007-01-04 02:02:06

Changing status from closed to reopened.

from cbc.

svigerske avatar svigerske commented on September 3, 2024

Comment by San created at 2007-01-10 00:36:13

Also get invalid heap assertion when it's doing push_heap.

 	test.exe!std::_Debug_message(const wchar_t * message=0x00b441c0, const wchar_t * file=0x00b44118, unsigned int line=1677)  Line 23	C++
 	test.exe!std::_Debug_heap<std::_Vector_iterator<CbcNode *,std::allocator<CbcNode *> >,CbcCompare>(std::_Vector_iterator<CbcNode *,std::allocator<CbcNode *> > _First=0x024fdd80 {nodeInfo_=0x024a4d90 objectiveValue_=-93255431.631750330 guessedObjectiveValue_=-93255431.630390331 ...}, std::_Vector_iterator<CbcNode *,std::allocator<CbcNode *> > _Last=0x024ffa78 {nodeInfo_=0x024ffae0 objectiveValue_=-93696590.744081780 guessedObjectiveValue_=-93696590.742651775 ...}, CbcCompare _Pred={...})  Line 1677 + 0x14 bytes	C++
 	test.exe!std::_Push_heap_0<std::_Vector_iterator<CbcNode *,std::allocator<CbcNode *> >,int,CbcNode *,CbcCompare>(std::_Vector_iterator<CbcNode *,std::allocator<CbcNode *> > _First=0x024f07e0 {nodeInfo_=0x034c7760 objectiveValue_=-93670296.859430090 guessedObjectiveValue_=-93670296.857440084 ...}, std::_Vector_iterator<CbcNode *,std::allocator<CbcNode *> > _Last=0x024ffa78 {nodeInfo_=0x024ffae0 objectiveValue_=-93696590.744081780 guessedObjectiveValue_=-93696590.742651775 ...}, CbcCompare _Pred={...}, int * __formal=0x00000000, int * __formal=0x00000000)  Line 1765 + 0x77 bytes	C++
 	test.exe!std::push_heap<std::_Vector_iterator<CbcNode *,std::allocator<CbcNode *> >,CbcCompare>(std::_Vector_iterator<CbcNode *,std::allocator<CbcNode *> > _First=0x024f07e0 {nodeInfo_=0x034c7760 objectiveValue_=-93670296.859430090 guessedObjectiveValue_=-93670296.857440084 ...}, std::_Vector_iterator<CbcNode *,std::allocator<CbcNode *> > _Last=0x024ffa78 {nodeInfo_=0x024ffae0 objectiveValue_=-93696590.744081780 guessedObjectiveValue_=-93696590.742651775 ...}, CbcCompare _Pred={...})  Line 1786 + 0xe2 bytes	C++
>	test.exeCbcTree::push(CbcNode * x=0x024ffa78)  Line 53 + 0x86 bytes	C++
 	test.exeCbcModel::branchAndBound(int doStatistics=0)  Line 1222 + 0x22 bytes	C++

from cbc.

svigerske avatar svigerske commented on September 3, 2024

Comment by @jjhforrest created at 2007-01-11 15:54:24

I am sure it is fixed in branches/devel and pretty sure it is fixed in trunk. It seems rare and I do not want to mess with stable/1.1

Hopefully I will get around to a new stable release soon.

from cbc.

svigerske avatar svigerske commented on September 3, 2024

Comment by @jjhforrest created at 2007-01-11 15:54:24

Resolution: wontfix

from cbc.

svigerske avatar svigerske commented on September 3, 2024

Comment by San created at 2007-01-23 00:38:00

I'm testing with the code on trunk and it is still asserting at push_heap on some problems.

 	performance_test.exe!std::_Debug_message(const wchar_t * message=0x0075729c, const wchar_t * file=0x00757210, unsigned int line=1681)  Line 23	C++
 	performance_test.exe!std::_Debug_heap<std::_Vector_iterator<CbcNode *,std::allocator<CbcNode *> >,CbcCompare>(std::_Vector_iterator<CbcNode *,std::allocator<CbcNode *> > _First=0x01f86c18 {nodeInfo_=0x020f8f40 objectiveValue_=-22291557071.093792 guessedObjectiveValue_=-22291557071.093483 ...}, std::_Vector_iterator<CbcNode *,std::allocator<CbcNode *> > _Last=0x02033a90 {nodeInfo_=0x01f958c0 objectiveValue_=-22417249915.890549 guessedObjectiveValue_=-22417249915.889938 ...}, CbcCompare _Pred={...})  Line 1681 + 0x14 bytes	C++
 	performance_test.exe!std::_Push_heap_0<std::_Vector_iterator<CbcNode *,std::allocator<CbcNode *> >,int,CbcNode *,CbcCompare>(std::_Vector_iterator<CbcNode *,std::allocator<CbcNode *> > _First=0x01f86ca0 {nodeInfo_=0x01f9c120 objectiveValue_=-22332910639.662392 guessedObjectiveValue_=-22332910639.662300 ...}, std::_Vector_iterator<CbcNode *,std::allocator<CbcNode *> > _Last=0x02033a90 {nodeInfo_=0x01f958c0 objectiveValue_=-22417249915.890549 guessedObjectiveValue_=-22417249915.889938 ...}, CbcCompare _Pred={...}, int * __formal=0x00000000, int * __formal=0x00000000)  Line 1765 + 0x77 bytes	C++
 	performance_test.exe!std::push_heap<std::_Vector_iterator<CbcNode *,std::allocator<CbcNode *> >,CbcCompare>(std::_Vector_iterator<CbcNode *,std::allocator<CbcNode *> > _First=0x01f86ca0 {nodeInfo_=0x01f9c120 objectiveValue_=-22332910639.662392 guessedObjectiveValue_=-22332910639.662300 ...}, std::_Vector_iterator<CbcNode *,std::allocator<CbcNode *> > _Last=0x02033a90 {nodeInfo_=0x01f958c0 objectiveValue_=-22417249915.890549 guessedObjectiveValue_=-22417249915.889938 ...}, CbcCompare _Pred={...})  Line 1786 + 0xe2 bytes	C++
 	performance_test.exeCbcTree::push(CbcNode * x=0x02033a90)  Line 53 + 0x86 bytes	C++
 	performance_test.exeCbcTree::cleanTree(CbcModel * model=0x0012f4a4, double cutoff=-22199913644.033531, double & bestPossibleObjective=-22420711678.521683)  Line 153 + 0x33 bytes	C++
>	performance_test.exeCbcModel::branchAndBound(int doStatistics=0)  Line 1128	C++

from cbc.

svigerske avatar svigerske commented on September 3, 2024

Comment by San created at 2007-01-23 00:38:00

Resolution changed from wontfix to

from cbc.

svigerske avatar svigerske commented on September 3, 2024

Comment by San created at 2007-01-23 00:38:00

Changing status from closed to reopened.

from cbc.

svigerske avatar svigerske commented on September 3, 2024

Comment by San created at 2007-01-23 00:50:26

If strong branching is set to 0, pop_heap asserts on some problems.

>	performance_test.exe!std::_Debug_message(const wchar_t * message=0x00757254, const wchar_t * file=0x007571c8, unsigned int line=1677)  Line 23	C++
 	performance_test.exe!std::_Debug_heap<std::_Vector_iterator<CbcNode *,std::allocator<CbcNode *> >,CbcCompare>(std::_Vector_iterator<CbcNode *,std::allocator<CbcNode *> > _First=0x01f9b850 {nodeInfo_=0x01f782f0 objectiveValue_=-63655024506.492882 guessedObjectiveValue_=-63655024506.492844 ...}, std::_Vector_iterator<CbcNode *,std::allocator<CbcNode *> > _Last=0xfdfdfdfd {nodeInfo_=??? objectiveValue_=??? guessedObjectiveValue_=??? ...}, CbcCompare _Pred={...})  Line 1677 + 0x14 bytes	C++
 	performance_test.exe!std::pop_heap<std::_Vector_iterator<CbcNode *,std::allocator<CbcNode *> >,CbcCompare>(std::_Vector_iterator<CbcNode *,std::allocator<CbcNode *> > _First=0x01f862c0 {nodeInfo_=0x01f78be0 objectiveValue_=-63641573813.759636 guessedObjectiveValue_=-63641573813.759506 ...}, std::_Vector_iterator<CbcNode *,std::allocator<CbcNode *> > _Last=0xfdfdfdfd {nodeInfo_=??? objectiveValue_=??? guessedObjectiveValue_=??? ...}, CbcCompare _Pred={...})  Line 1889 + 0x77 bytes	C++
 	performance_test.exeCbcTree::bestNode(double cutoff=1.0000000000000001e+050)  Line 109 + 0x86 bytes	C++
 	performance_test.exeCbcModel::branchAndBound(int doStatistics=0)  Line 1197 + 0x29 bytes	C++

from cbc.

svigerske avatar svigerske commented on September 3, 2024

Comment by San created at 2007-01-23 02:57:05

The pop_heap and push_heap problems seemed to be fixed in branch/devel but I get a different heap problem now if I try to use CbcSimpleIntegerPseudoCost. I get the following error when running the longthin example:

HEAP CORRUPTION DETECTED: before Normal block (#1741006) at 0x02021628.  CRT detected that the applicatoin wrote to memory before start of heap buffer.

>	coin.exe!_free_dbg_nolock(void * pUserData=0x00a1de48, int nBlockUse=1)  Line 1269 + 0x3b bytes	C++
 	coin.exe!_free_dbg(void * pUserData=0x00a1de48, int nBlockUse=1)  Line 1194 + 0xd bytes	C++
 	coin.exe!operator delete(void * pUserData=0x00a1de48)  Line 54 + 0x10 bytes	C++
 	coin.exe!operator delete[](void * p=0x00a1de48)  Line 21 + 0x9 bytes	C++
 	coin.exeCbcModel::addObjects(int numberObjects=2, CbcObject * * objects=0x00a1db40)  Line 6083 + 0x15 bytes	C++

from cbc.

svigerske avatar svigerske commented on September 3, 2024

Comment by San created at 2007-01-23 05:55:50

Sorry my mistake, pop_heap and push_heap problems are still present in branches/devel.

from cbc.

svigerske avatar svigerske commented on September 3, 2024

Comment by @jjhforrest created at 2007-08-02 13:23:34

Lots of stuff has been changed. Will look at longthin though as something similar happens when I try.

from cbc.

svigerske avatar svigerske commented on September 3, 2024

Comment by @jjhforrest created at 2007-08-02 13:53:48

Fixed bug for longthin. Will close again unless I get something I can debug.

from cbc.

svigerske avatar svigerske commented on September 3, 2024

Comment by @jjhforrest created at 2007-08-02 13:53:48

Resolution: fixed

from cbc.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.