<html><body><div style="color:#000; background-color:#fff; font-family:HelveticaNeue, Helvetica Neue, Helvetica, Arial, Lucida Grande, sans-serif;font-size:12px"><div class="" style="">Thanks for the follow-up Ted,</div><div class="" style=""><br class="" style=""></div><div class="" style="color: rgb(0, 0, 0); font-size: 12px; font-family: HelveticaNeue, 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; font-style: normal; background-color: transparent;">I thought it might be of general interest if there was something going on with OSX 10.9 or something like that.</div><div class="" style="color: rgb(0, 0, 0); font-size: 12px; font-family: HelveticaNeue, 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; font-style: normal; background-color: transparent;">In general the error means " you touched something you already let go"...</div><div class="" style="color: rgb(0, 0, 0); font-size: 12px; font-family: HelveticaNeue,
'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; font-style: normal; background-color: transparent;"><br></div><div class="" style="color: rgb(0, 0, 0); font-size: 12px; font-family: HelveticaNeue, 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; font-style: normal; background-color: transparent;">I'm getting it randomly so that tells me it's unlikely the solver directly. I will say that I get it every time I unload a problem.... but I even get it if I do NOT unload the problem. The only time I get it from my C driver is when I unload the </div><div class="" style="color: rgb(0, 0, 0); font-size: 12px; font-family: HelveticaNeue, 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; font-style: normal; background-color: transparent;">model. If I comment out the unload of the model then the C driver completes without exception. I think this indicates that there is definitely
something going on with the unload and possibly something else going on with the environment in general. </div><div class="" style="color: rgb(0, 0, 0); font-size: 12px; font-family: HelveticaNeue, 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; font-style: normal; background-color: transparent;"><br class="" style=""></div><div class="" style="color: rgb(0, 0, 0); font-size: 12px; font-family: HelveticaNeue, 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; font-style: normal; background-color: transparent;">From Java I always get the error... even if the unload is commented out... which is what lead me to believe it's some whacky environment thing. What's "really fun" is that it happens at random times after the runtime returns control back to Java... which makes me think it must have something to do with how stdout is treated. </div><div class="" style="color: rgb(0, 0, 0); font-size: 12px;
font-family: HelveticaNeue, 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; font-style: normal; background-color: transparent;"><br></div><div class="" style="color: rgb(0, 0, 0); font-size: 12px; font-family: HelveticaNeue, 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; font-style: normal; background-color: transparent;">I have registered Log Message, LP Iteration, and </div><div class="" style=""><br class="" style=""></div><div style="color: rgb(0, 0, 0); font-size: 12px; font-family: HelveticaNeue, 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; font-style: normal; background-color: transparent;" class="">In terms of version for CoinMP, it's "the latest" (following the instructions for installation pulling through svn and build.</div><div class="" style=""><br class="" style=""></div><div style="color: rgb(0, 0, 0); font-size: 12px; font-family: HelveticaNeue, 'Helvetica Neue', Helvetica,
Arial, 'Lucida Grande', sans-serif; font-style: normal; background-color: transparent;" class="">I can't (read this as it's not practical for me to) update GCC via homebrew. Although I could do that just for my laptop, it won't work for deployment where I _should_ be version agnostic...or I would have to babysit it.</div><div style="color: rgb(0, 0, 0); font-size: 12px; font-family: HelveticaNeue, 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; font-style: normal; background-color: transparent;" class=""><br class="" style=""></div><div style="color: rgb(0, 0, 0); font-size: 12px; font-family: HelveticaNeue, 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; font-style: normal; background-color: transparent;" class="">I may have to create a different style interface regardless of what is going on here. The JVM i'd like to run this from needs to be stable for days at a time...not just for the duration of the
solver ... and a JNI error will bring the JVM down... which would not be good at all (think of it as a "career limiting move").</div><div style="color: rgb(0, 0, 0); font-size: 12px; font-family: HelveticaNeue, 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; font-style: normal; background-color: transparent;" class=""><br></div><div style="color: rgb(0, 0, 0); font-size: 12px; font-family: HelveticaNeue, 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; font-style: normal; background-color: transparent;" class="">Regardless, I think it might be useful to have a Java binding for using CoinMP in a generic way. </div><div style="color: rgb(0, 0, 0); font-size: 12px; font-family: HelveticaNeue, 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; font-style: normal; background-color: transparent;" class=""><br></div><div style="color: rgb(0, 0, 0); font-size: 12px; font-family: HelveticaNeue, 'Helvetica
Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; font-style: normal; background-color: transparent;" class="">Here is a little more information ... running from code with unload turned on....</div><div style="color: rgb(0, 0, 0); font-size: 12px; font-family: HelveticaNeue, 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; font-style: normal; background-color: transparent;" class=""><br class="" style=""></div><div style="color: rgb(0, 0, 0); font-size: 12px; font-family: HelveticaNeue, 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; font-style: normal; background-color: transparent;" class="">I added the following lines to my bash profile. It enables runtime testing of the heap (which appears to be pretty sweet how they did it)...</div><div style="color: rgb(0, 0, 0); font-size: 12px; font-family: HelveticaNeue, 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; font-style: normal;
background-color: transparent;" class=""><br class="" style=""></div><div style="color: rgb(0, 0, 0); font-size: 12px; font-style: normal; background-color: transparent;" class=""><span style="font-family: 'Courier New', courier, monaco, monospace, sans-serif;" class="">export MallocStackLogging=1</span></div>
<div class="" style=""><span style="font-family: 'Courier New', courier, monaco, monospace, sans-serif;" class="">export MallocStackLoggingNoCompact=1</span></div><div style="color: rgb(0, 0, 0); font-size: 12px; font-family: HelveticaNeue, 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; font-style: normal; background-color: transparent;" class=""><br class="" style=""></div><div style="color: rgb(0, 0, 0); font-size: 12px; font-family: HelveticaNeue, 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; font-style: normal; background-color: transparent;" class="">Then I ran the driver C program through lldb and add a specific break point:</div><div style="color: rgb(0, 0, 0); font-size: 12px; font-family: HelveticaNeue, 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; font-style: normal; background-color: transparent;" class="">
</div><div class="" style=""><span style="font-family: 'Courier New', courier, monaco, monospace, sans-serif;" class=""><span class="" style="">(lldb) </span>break set --name malloc_error_break </span></div><div class="" style="color: rgb(0, 0, 0); font-size: 12px; font-family: HelveticaNeue, 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; font-style: normal; background-color: transparent;">... then it will stop at a breakpoint when it thinks you're reading free'd ram. So here is what lldb shows me...</div><div class="" style="color: rgb(0, 0, 0); font-size: 12px; font-family: HelveticaNeue, 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; font-style: normal; background-color: transparent;"><br class="" style=""></div><div class="" style="color: rgb(0, 0, 0); font-size: 12px; font-family: HelveticaNeue, 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; font-style: normal; background-color:
transparent;">"...</div><div style="color: rgb(0, 0, 0); font-size: 12px; font-family: HelveticaNeue, 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; font-style: normal; background-color: transparent;" class=""><br class="" style=""></div><div class="" style=""><span style="font-family: 'Courier New', courier, monaco, monospace, sans-serif;" class="">unitTest(60785,0x7fff7db5d310) malloc: *** error for object 0x100801a28: incorrect checksum for freed object - object was probably modified after being freed.</span></div><div class="" style=""><span style="font-family: 'Courier New', courier, monaco, monospace, sans-serif;" class="">*** set a breakpoint in malloc_error_break to debug</span></div><div class="" style=""><span style="font-family: 'Courier New', courier, monaco, monospace, sans-serif;" class="">Process 60785 stopped</span></div><div class="" style=""><span style="font-family: 'Courier New', courier, monaco, monospace,
sans-serif;" class="">* thread #1: tid = 0x5aa45, 0x00007fff90763bc0 libsystem_malloc.dylib`malloc_error_break, queue = 'com.apple.main-thread', stop reason = breakpoint 1.1</span></div><div class="" style=""><span style="font-family: 'Courier New', courier, monaco, monospace, sans-serif;" class=""> frame #0: 0x00007fff90763bc0 libsystem_malloc.dylib`malloc_error_break</span></div><div class="" style=""><span style="font-family: 'Courier New', courier, monaco, monospace, sans-serif;" class="">libsystem_malloc.dylib`malloc_error_break:</span></div><div class="" style=""><span style="font-family: 'Courier New', courier, monaco, monospace, sans-serif;" class="">-> 0x7fff90763bc0: pushq %rbp</span></div><div class="" style=""><span style="font-family: 'Courier New', courier, monaco, monospace, sans-serif;" class=""> 0x7fff90763bc1: movq %rsp, %rbp</span></div><div class="" style=""><span
style="font-family: 'Courier New', courier, monaco, monospace, sans-serif;" class=""> 0x7fff90763bc4: nop </span></div><div class="" style=""><span style="font-family: 'Courier New', courier, monaco, monospace, sans-serif;" class=""> 0x7fff90763bc5: nopl (%rax)</span></div><div class="" style=""><span style="font-family: 'Courier New', courier, monaco, monospace, sans-serif;" class="">(lldb) <span class="" style="">list</span></span></div><div style="color: rgb(0, 0, 0); font-size: 12px; font-style: normal; background-color: transparent;" class="">
</div><div class="" style=""><span style="font-family: 'Courier New', courier, monaco, monospace, sans-serif;" class="">(lldb) </span></div><div class="" style="">..."</div><div class="" style="">The "list" command was nearly useless, I'm going to switch to a -g build (rather than -O3) to see if that improves the info any. I doubt it will. There is no meaningful stack....and this is the only thread...so it's AFTER the return statement ...:</div><div class="" style=""><br class="" style=""></div><div class="" style=""><span style="font-family: 'Courier New', courier, monaco, monospace, sans-serif;"><span class="" style="">(lldb) </span>thread list</span></div><div class="" style=""><span style="font-family: 'Courier New', courier, monaco, monospace, sans-serif;">Process 60785 stopped</span></div><div class="" style=""><span style="font-family: 'Courier New', courier, monaco, monospace, sans-serif;">* thread #1: tid = 0x5aa45,
0x00007fff90763bc0 libsystem_malloc.dylib`malloc_error_break, queue = 'com.apple.main-thread', stop reason = breakpoint 1.1</span></div><div class="" style="color: rgb(0, 0, 0); font-size: 12px; font-style: normal; background-color: transparent;">
</div><div class="" style=""><span style="font-family: 'Courier New', courier, monaco, monospace, sans-serif;">(lldb) </span></div><div class="" style="color: rgb(0, 0, 0); font-size: 12px; font-family: HelveticaNeue, 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; font-style: normal; background-color: transparent;"><br class="" style=""></div><div class="" style="color: rgb(0, 0, 0); font-size: 12px; font-family: HelveticaNeue, 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; font-style: normal; background-color: transparent;"><br class="" style=""></div><div class="" style="color: rgb(0, 0, 0); font-size: 12px; font-family: HelveticaNeue, 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; font-style: normal; background-color: transparent;">So lldb isn't so helpful... but if you LEAVE IT HUNG AT THE BREAKPOINT... and run the command below in a different terminal:</div><div class="" style="color: rgb(0,
0, 0); font-size: 12px; background-color: transparent;"><span style="font-family: 'Courier New', courier, monaco, monospace, sans-serif;" class="">malloc_history <span style="font-style: italic;" class="">process_id address_in_question</span></span></div><div class="" style="color: rgb(0, 0, 0); font-size: 12px; font-family: HelveticaNeue, 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; font-style: normal; background-color: transparent;">in my case...</div><div class="" style="color: rgb(0, 0, 0); font-size: 12px; font-family: HelveticaNeue, 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; font-style: normal; background-color: transparent;">
</div><div class="" style=""><span style="font-family: 'Courier New', courier, monaco, monospace, sans-serif;" class="">malloc_history 60785 0x100801a28</span></div><div class="" style="color: rgb(0, 0, 0); font-size: 12px; font-family: HelveticaNeue, 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; font-style: normal; background-color: transparent;"><br class="" style=""></div><div class="" style="color: rgb(0, 0, 0); font-size: 12px; font-family: HelveticaNeue, 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; font-style: normal; background-color: transparent;">...then you get a puke of every use of that memory during the lifetime of the runtime...(before the error is thrown)... </div><div class="" style="color: rgb(0, 0, 0); font-size: 12px; font-family: HelveticaNeue, 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; font-style: normal; background-color: transparent;"><br class="" style=""></div><div
class="" style="color: rgb(0, 0, 0); font-size: 12px; font-family: HelveticaNeue, 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; font-style: normal; background-color: transparent;">You can see below the details of every use of that RAM....The BOLD one at the end might be worth looking into why that would happen. It looks like something is being deleted then referenced... any chance it could be something related to stdout or something like that? I'm fairly certain that is under the problem unload.</div><div class="" style="color: rgb(0, 0, 0); font-size: 12px; font-family: HelveticaNeue, 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; font-style: normal; background-color: transparent;"><br class="" style=""></div><div class="" style="color: rgb(0, 0, 0); font-size: 12px; font-family: HelveticaNeue, 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; font-style: normal; background-color:
transparent;"><br class="" style=""></div><div class="" style="color: rgb(0, 0, 0); font-size: 12px; font-family: HelveticaNeue, 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; font-style: normal; background-color: transparent;">Here is the partial malloc_history dump for me with the worriesome bit in <span style="font-weight: bold;">bold</span>:</div><div class="" style=""><br></div><div class="" style=""><br></div><div class="" style=""><span style="font-family: 'Courier New', courier, monaco, monospace, sans-serif;" class="">ALLOC 0x1008019c0-0x100801a37 [size=120]: thread_7fff7db5d310 |start | main | Java_com_workday_MathModeling_CoinMP_CoinLoadProblem | CbcOptimizeProblem | CbcLoadAllSolverObjects(void*, PROBLEMINFO*) | CbcCopyNamesList(void*, PROBLEMINFO*) | ClpModel::copyNames(std::__1::vector<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >,
std::__1::allocator<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > > const&, std::__1::vector<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::allocator<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > > const&) | std::__1::vector<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::allocator<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > >::reserve(unsigned long) | operator new(unsigned long) | malloc | malloc_zone_malloc</span></div><div class="" style=""><span style="font-family: 'Courier New', courier, monaco, monospace, sans-serif;" class="">----</span></div><div class="" style="color: rgb(0, 0, 0); font-size:
12px; font-style: normal; background-color: transparent;">
</div><div class="" style=""><span style="font-weight: bold; font-family: 'Courier New', courier, monaco, monospace, sans-serif;" class="">FREE 0x1008019c0-0x100801a37 [size=120]: thread_7fff7db5d310 |start | main | Java_com_workday_MathModeling_CoinMP_CoinLoadProblem | CbcOptimizeProblem | CbcClearSolverObject(void*) | free</span></div><div class="" style="color: rgb(0, 0, 0); font-size: 12px; font-family: HelveticaNeue, 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; font-style: normal; background-color: transparent;"><br class="" style=""></div><div class="" style="color: rgb(0, 0, 0); font-size: 12px; font-family: HelveticaNeue, 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; font-style: normal; background-color: transparent;"><br class="" style=""></div> <div class="qtdSeparateBR"><br><br></div><div class="yahoo_quoted" style="display: block;"> <div style="font-family: HelveticaNeue, Helvetica Neue, Helvetica,
Arial, Lucida Grande, sans-serif; font-size: 12px;" class=""> <div style="font-family: HelveticaNeue, Helvetica Neue, Helvetica, Arial, Lucida Grande, sans-serif; font-size: 16px;" class=""> <div dir="ltr" class="" style=""> <font size="2" face="Arial" class="" style=""> On Monday, October 6, 2014 2:18 PM, Ted Ralphs <ted@Lehigh.EDU> wrote:<br class="" style=""> </font> </div> <br class="" style=""><br class="" style=""> <div class="" style=""><div id="yiv6459296120" class="" style=""><div dir="ltr" class="" style=""><div class="" style="">Hi Philip,<br class="" style=""><br class="" style="">I never got the original message for some reason, but looked back in the archives to see what it said. I work regularly with COIN in OS X and can probably help. If you could say what version of CoinMP you are trying to build that would help. I have not seen any failures like you are describing recently, but OS X is a bit of a complicated platform.<br
class="" style=""><br class="" style="">A couple of things to look at:<br class="" style=""><br class="" style=""></div><div class="" style="">1. On OS X, the "gcc" compiler command is really calling clang underneath. If you just need to get something building, installing gcc from homebrew and using it instead may get you better results. I believe the libraries should be compatible with anything built by clang.<br class="" style=""><br class="" style=""></div><div class="" style="">2. For that matter, there is a homebrew recipe for CoinMP itself. <br class="" style=""><br class="" style=""></div><div class="" style="">brew install coinmp<br class="" style=""><br class="" style=""></div><div class="" style="">I'll be happy to help get you up and running if you reply with a little more information. I also transferred the thread to the CoinMP mailing list, although this discussion may be of general interest.<br class="" style=""></div><div class=""
style=""><br class="" style=""></div><div class="" style="">Cheers,<br class="" style=""><br class="" style="">Ted<br class="" style=""></div><div class="" style=""><br class="" style=""><br class="" style=""></div></div><div class="" style=""><br class="" style=""><div class="" style="">On Sun, Oct 5, 2014 at 8:02 PM, Matthew Saltzman <span dir="ltr" class="" style=""><<a rel="nofollow" ymailto="mailto:mjs@clemson.edu" target="_blank" href="mailto:mjs@clemson.edu" class="" style="">mjs@clemson.edu</a>></span> wrote:<br class="" style=""><blockquote class="" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">On Sat, 2014-10-04 at 16:02 -0700, Philip Walton wrote:<br class="" style="">
> Any suggestion on where to post the information I have to try to get<br class="" style="">
> someone to take a look? I can run tests/build/configure/whatever to<br class="" style="">
> try to make it work if someone has some advice. I won't be able to<br class="" style="">
> back-version the compiler as that version is driven by our IT guys...<br class="" style="">
> so I can't use the fix above.<br class="" style="">
<br class="" style="">
I'd post on the CoinMP list<br class="" style="">
(<a rel="nofollow" target="_blank" href="http://list.coin-or.org/mailman/listinfo/CoinMP" class="" style="">http://list.coin-or.org/mailman/listinfo/CoinMP</a>) and if there's no help<br class="" style="">
there, contact the project manager directly.<br class="" style="">
<br class="" style="">
> Side note:<br class="" style="">
> When here...<br class="" style="">
> <a rel="nofollow" target="_blank" href="http://www.coin-or.org/projects/BuildTools.xml" class="" style="">http://www.coin-or.org/projects/BuildTools.xml</a><br class="" style="">
><br class="" style="">
> Clicking on the project page link.. it adds a %20 to the URL using<br class="" style="">
> chrome (<a rel="nofollow" target="_blank" href="https://projects.coin-or.org/BuildTools%20)..which" class="" style="">https://projects.coin-or.org/BuildTools%20)..which</a> then fails<br class="" style="">
> to navigate.<br class="" style="">
><br class="" style="">
<br class="" style="">
I'm convinced this is a Chrome bug, but there's a workaround and I've<br class="" style="">
applied it to the XML page. It should be OK now.<br class="" style="">
<span class="" style=""><font color="#888888" class="" style="">--<br class="" style="">
Matthew Saltzman<br class="" style="">
Clemson University Math Sciences<br class="" style="">
mjs AT clemson DOT edu<br class="" style="">
<br class="" style="">
_______________________________________________<br class="" style="">
Coin-discuss mailing list<br class="" style="">
<a rel="nofollow" ymailto="mailto:Coin-discuss@list.coin-or.org" target="_blank" href="mailto:Coin-discuss@list.coin-or.org" class="" style="">Coin-discuss@list.coin-or.org</a><br class="" style="">
<a rel="nofollow" target="_blank" href="http://list.coin-or.org/mailman/listinfo/coin-discuss" class="" style="">http://list.coin-or.org/mailman/listinfo/coin-discuss</a><br class="" style="">
</font></span></blockquote></div><br class="" style=""><br clear="all" class="" style=""><br class="" style="">-- <br class="" style="">Dr. Ted Ralphs<br class="" style="">Associate Professor, Lehigh University<br class="" style="">(610) 628-1280<br class="" style="">ted 'at' lehigh 'dot' edu<br class="" style=""><a rel="nofollow" target="_blank" href="http://coral.ie.lehigh.edu/~ted" class="" style="">coral.ie.lehigh.edu/~ted</a><br class="" style="">
</div></div><br class="" style=""><br class="" style=""></div> </div> </div> </div> </div></body></html>