significantly fewer crashes on Linux after upgrading
Case number: | 845829-993009 |
Topic: | Crash/Hang |
Opened by: | BitSpawn |
Status: | Open |
Type: | Suggestion |
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 :)
»
Fri, 06/22/2012 - 07:45
#2
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 game_library.so uses it.
In any case the "double free or corruption" has disappeared.
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!