Comments (18)
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.
Comment by @jjhforrest created at 2006-09-21 19:57:55
Changing assignee from somebody to @jjhforrest.
from cbc.
Comment by @jjhforrest created at 2006-09-21 19:58:15
Resolution: fixed
from cbc.
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.
Comment by San created at 2007-01-04 02:02:06
Resolution changed from fixed to
from cbc.
Comment by San created at 2007-01-04 02:02:06
Changing status from closed to reopened.
from cbc.
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.
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.
Comment by @jjhforrest created at 2007-01-11 15:54:24
Resolution: wontfix
from cbc.
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.
Comment by San created at 2007-01-23 00:38:00
Resolution changed from wontfix to
from cbc.
Comment by San created at 2007-01-23 00:38:00
Changing status from closed to reopened.
from cbc.
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.
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.
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.
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.
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.
Comment by @jjhforrest created at 2007-08-02 13:53:48
Resolution: fixed
from cbc.
Related Issues (20)
- "Conditional jump or move depends on uninitialised value" for model with SOS 2 and MIP start (master) HOT 2
- CBC fails when initial solution is passed with mipstart HOT 2
- Undefined reference to `node_count` when compiling HOT 5
- Feature Request -- Retrieving multiple optimal solutions
- Question - interpretation of a sol file
- Bug: got Infeasible on obviously feasible problem HOT 3
- Bug? Huge variance in solving time HOT 3
- Error installing Cbc solver in a docker image HOT 2
- osiUnitTest failure HOT 2
- Trying to end CBC Promt with ctrl-d leads to endless loop
- mipStart_ not copied in CbcModel copy constructor HOT 1
- Wrong result with current master build HOT 3
- Option '-threads 8' causes unpredictable hanging due to lock issue HOT 10
- How to use latest CBC solver in Python PULP on MacOS HOT 1
- cbc crash ( segmentation fault) when model was solved during presolve process and given lp is large HOT 2
- No static library in MacOS builds HOT 3
- Modifying row coefficient via the C interface HOT 5
- File content mismatch between releases and repo HOT 5
- Overflow errors on the shapes of my parameters HOT 7
- Wrong result for ILP, regression in the last 1 or 2 months HOT 10
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from cbc.