significantly fewer crashes on Linux after upgrading

Case number:845829-993009
Opened by:BitSpawn
Opened on:Thursday, June 21, 2012 - 22:17
Last modified:Friday, June 22, 2012 - 07:45

After upgrading kernel+glibc.
Before that, with kernel 2.6.x (I don't remember the glibc version) lots of bad free and bad malloc.
Impossible to have it running more than 20 minutes with some puzzles.

About free()/delete, an assumption, there is an important change in last glibc:
With old glibc was mandatory to use delete with new and free with malloc. For example,
delete strdup("...")
causes a crash (strdup uses malloc). With new glibc (2.14) it works properly.

Now I have Foldit running more than 40 hours :)

(Thu, 06/21/2012 - 22:17  |  2 comments)

brow42's picture
User offline. Last seen 2 years 1 week ago. Offline
Joined: 09/19/2011
Groups: None

wow. I'm amazed this ever worked at all, and very sad if some glibc unification of new/malloc data structures is letting this run without crashing. If foldit is mixing new/malloc/delete/delete[]/free, Bad Bad Coders! Code Audit!

Joined: 08/09/2010

I don't know if it is that, or it is in rosetta source, or something else. I saw that 'new' C++ behavior with strdup, and it seems that uses it.
In any case the "double free or corruption" has disappeared.


Developed by: UW Center for Game Science, UW Institute for Protein Design, Northeastern University, Vanderbilt University Meiler Lab, UC Davis
Supported by: DARPA, NSF, NIH, HHMI, Amazon, Microsoft, Adobe, Boehringer Ingelheim, RosettaCommons